天天看点

测试设计经验总结

 软件测试过程中,产品需求到交付测试执行这个流程中,测试设计是重中之重,结合自己的工作经验,个人认为:测试设计就是软件需求转换成测试需求,通过建模,从测试角度罗列功能对象,了解,分析被测对象,并不断和相关者沟通,确认,最终得到验证该模型的测试用例过程.

  引用rick d. craig and stefan p. jaskiel大师的一张图,说的是白盒测试+黑盒测试能改进软件的质量达60%,如图:

  所以,测试之前很有必要对测试对象进行分析设计,以下是我在黑盒测试设计以及白盒(目前做sdk项目)测试设计的心得:

  黑盒设计经验总结:

  1.设计过程是一个反复沟通,反复确认的过程.多问几个为什么

  2.关注重点和难点,单个测试风险和整体测试风险,80%的精力集中到重点和难点,一定不要低估这个地方.

  3.白盒的手段,黑盒的思想.看代码为补充.

  4.白盒的思想,黑盒的手段,基于功能点分析.

  5.黑盒思想,黑盒手段,场景很重要.

  6.根据线上bug设计保持最新状态,个人认为:测试设计有效性,以项目上线1-3个月为维度,调整设计,激发测试思想.

  7.探索性测试为补充(取消法,后退法,逆向思考很重要)

  8.单元脚本也是测试设计的参考

  9.测试设计历程(个人理解):基于需求的设计->基于经验的设计->基于风险的设计.

  10.设计评审很重要,测试设计很有必要专门安排时间

  11.设计过程关注单模块,多模块之间的耦合(bug都来自此)

  12.根据不同项目,熟练使用测试用例方法,增强测试用例发现bug几率.(一般情况,开发自测测到的点不容易发现问题,考虑没测到的点容易发现问题.).

  13.设计过程考虑测试类型,安全,性能,兼容.

  14.不同产品测试设计特性不同,web产品(缺陷容忍度高)电信,金融产品(业务复杂,流程重.修复长,具体到某个sql字段)移动app产品(适配).

  白盒或者说接口设计经验总结:

  1. 熟悉代码,一个sdk的代码量不是很多,通过不断和开发沟通,弄清楚分支,然后特定场景是否有异常处理;

  2. 如果一个sdk有ui层,有接口层,先做ui层的黑盒测试 设计,然后做接口层基于接口入参,出参设计,以及基于核心function的测试设计,因为在做黑盒也就是业务层的设计时,反馈给开发,提升开发代码的兼容和遗漏.sdk目前个人归纳为这么四类: 有ui层的sdk, 集成mtop接口的sdk,包含so包的sdk,以及只包含java层的sdk,不同的sdk产品,测试设计的重点不同. ui层的sdk侧重适配测试, 集成mtop的sdk侧重异常处理,包含so包的侧重接口和适配,java层的sdk侧重接口.

  3.sdk设计,看代码同时除了学习设计模式外,更重要是为做测试设计分析服务,发现沟通漏洞.

  4.基于底层的function设计,有些逻辑复杂的,要细分,想办法把每个节点测试到.

  5.测试过程中,白盒测试不要脱离了黑盒测试,有些系统复杂的,白盒测试单个节点测试了没问题,但是联调有问题.

  6.sdk demo测试不能覆盖所有的逻辑,一定要针对demo也要有测试思路,争取全面覆盖接口分支,代码逻辑分支.

  7.写好的用例后,加入持续集成,能有度量工具对代码度量(satement coverage,分支度量,路径度量),关注未测试到的代码.

  最后,推荐这几天一直在看的几篇文章,很有思考价值:

  <<不能成为专业测试的十大理由>>,

  <<怎样做测试?>>

  <<测试人员需要经历的阶段>>