测试用例
测试用例的概念
测试用例是被测试人员向被测试系统发起的一组集合,包括测试环境,操作步骤,预期结果,测试数据等
使用测试用例的好处
使用测试用例进行测试的好处主要有:提高测试效率,降低测试的重复性,用例对需求的覆盖率高,测试用例是自动化测试的基础
测试用例的设计方法
通过学习测试用例的设计方法,设计出比较全面的测试用例,使测试用例更全面的覆盖需求,测试用例的设计方法要求我们以正常思维(正向思维)+发散思维+逆向思维的方式设计测试用例,例如,我们给门锁设计一个测试用例:
黑盒测试用例的设计方法
基于需求设计测试用例
所谓基于需求设计测试用例,就是测试人员通过对软件需求的分析来设计软件的测试用例
为什么基于需求设计测试用例?
我们给出以下应用场景:PM讲解微信红包需求,总结出以三个需求点:1.红包金额由最高的300->200 2.允许用户自定义红包封面3.红包最长有效时长由24h->48h;如果我们的测试用例遗漏了其中的某个需求,一旦项目上线,则会造成比较严重的影响,另一方面,也会显得我们专业能力较差,为了避免项目上线之后存在较大BUG,我们应该根据软件需求来设计测试用例
如何基于需求设计测试用例
基于需求设计测试用例的测试过程如下:在充分理解需求之后,将大需求分解为小需求,将需求分解为功能相关和非功能相关的需求来设计测试用例
功能需求
功能相关的需求主要从以下三个方面进行考虑:
- 业务流程(从软件规格说明书中获取):业务流程即功能,我们要考虑每个测试用例对应的业务点和应用场景,以及新版本功能上线之后是否会影响到以前的版本
- 界面相关(从UI设计稿中获取)
- 易用性(主要依靠测试人员的经验)
针对具体的功能需求,可以根据业务分类,用户角色,或者根据用户操作区域的不等将系统的功能分解为若干个功能模块,然后按照功能模块分别进行测试需求分析。按照功模块划分,业务模块进行划分是最常见的做法
非功能需求
主要从以下几个方面进行考虑:
- 兼容性:不同的软件系统,不同的硬件构成(曲面屏,平面屏),不同的显示形式(对于手机端而言就是横竖屏分别显示),以及新版本发布后是否完全替代旧版本,即新功能生效,旧功能失效。系统不同的模式也是我们要考虑进去的点(黑夜