最近通过阅读《测试架构师修炼之道》以及听茹炳晟的“软件测试52讲”,对测试用例的设计有所感悟,想总结下来跟大家分享一下。(这是我在简书的第一篇文章,青涩浅谈,希望和大家多多交流,共同进步~~)
测试设计法
1. 流程类:绘制流程图,路径分析法
2. 参数类:输入输出表
3. 数据类:等价类划分、边界值分析。
其和参数类的区别在于:数据的取值是一个范围,通常不能用遍历的方法来测试覆盖,系统对允许输入的数据做出的处理或响应往往是一样的
4. 组合类:因子表,上述3类的合并。
实际工作分享:PICT小工具(PairWise算法),可用于测试软硬件兼容性、接口参数、表单数据(例如登录界面)、答题题型组合等
5. 根据经验补充一些测试用例:错误推测法,经验主要源于对产品缺陷的分析及探索性测试
控制测试粒度
不同的测试粒度,可能会发现产品不同层次的问题,所以我们需要在不同的测试阶段,对测试点进行一些拆分或组合,以求可以从不同的层次去测试产品,发现问题。
测试用例的颗粒度在一个项目中是可以并存的,比如按业务进行拆分的时候,自己非常熟悉的业务可以做粗粒度的编写,变化非常小的部分做细粒度编写,提前做好分工,根据不同执行人员的素质也可以做颗粒度的拆分。根据自己的实际情况合理的利用理论知识才能设计出更完善的测试用例。
1. 粗粒度:可能更容易从系统的角度去发现一些功能交互或是需求方面的问题适用于系统测试阶段
2. 细粒度:细粒度的用例可能更容易发现产品功能的设计和实现方面的问题,适用于集成测试阶段、分功能模块交付测试。此阶段相对多使用流程类、参数类、数据类的测试设计方法,减少对组合类的使用
测试策略
测试策略一般描述软件测试活动的一般方法和目标。
1. 要进行的测试阶段(单元、集成、系统测试等)
2. 要执行的测试类型(功能、性能、兼容性、安全性等)
3. 确定测试需求(明确测试范围、测试对象、达到的指标等,来源于需求文档、个人经验、以前发生的错误等)
总结
可以定期组织缺陷分析活动,并在团队中分享这些经验,拓展大家的思路,增加对缺陷的敏感度,提高测试设计的有效性!