首先,什么是好的测试用例?
好的测试用例没有一个严格的定义,但是有以下特征,它是有效测试用例的集合,能够完全覆盖测试需求;它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关。
好的测试用例编写的方法原则:
1、需求追踪:(常用的需求追踪管理工具有:ALM、DOORS、JIRA、TestLink)
在具体的用例设计时,首先需要搞清楚每一个业务需求所对应的多个软件功能需求点,然后分析出每个软件功能需求点对应的多个测试需求点,最后再针对每个测试需求点设计测试用例。
下面以用户登录这个业务需求为例,画一张映射关系的图,来设计测试用例
2、理解软件的架构
作为测试工程师,切忌不能把整个被测系统看作一个大黑盒,你必须对内部的架构有清楚的认识,比如数据库连接方式、数据库的读写分离、消息中间件Kafka的配置、缓存系统的层级分布、第三方系统的集成等等。
3、理解软件内部的逻辑
单单根据测试需求点设计的用例,只能覆盖“表面”的一层,往往会覆盖不到内部的处理流程、分支处理,而没有覆盖到的部分就很可能出现缺陷遗漏。在具体实践中,你可以通过代码覆盖率指标找出可能的测试遗漏点。
同时,切忌不要以开发代码的实现为依据设计测试用例。因为开发代码实现的错误会导致测试用例也出错,所以你应该根据原始需求设计测试用例。
4、引入需求覆盖率(请看链接:https://www.cnblogs.com/Carolinee/p/5404675.html)和代码覆盖率来衡量测试用例的完备性(测试当中的几种覆盖率:代码行覆盖率、功能模块覆盖率、数据库覆盖率、需求覆盖率)
5、站在用户的角度思考问题。
从用户体验完善测试用例,并且在需求评审阶段测试人员就应该凭借自己的经验和用户的角度思考需求的合理性,推测出常见错误并给予提醒,避免后期开发阶段浪费时间。再插一句系统科学的整理测试用例有利于用例的维护和后期阶段用例的回归。