1.测试用例的概念
软件测试人员向被测试系统发起的一组集合,包括测试环境,测试数据,测试步骤,预期结果。
2.为什么在测试前要设计测试用例?
(1)测试用例是测试执行的依据
(2)可以复用(回归测试的时候)
(3)衡量需求的覆盖率
(4)自动化测试的依据
(5)借鉴意义,后续测试人员可以借鉴前人写的东西
3.基于需求设计测试用例
(1)需求是测试人员进行测试的依据
(2)测试人员首先要分析需求,验证需求的正确性和合理性,无二义性,逻辑自洽。
(3)细化需求,从需求中提取出测试项,从每一个测试项中提取出测试点,根据测试点设计测试用例。
- 功能性需求
从界面考虑,验证界面的功能(ui设计稿)
从业务的角度考虑,把功能串起来进行测试,
功能之间的交互性,一致性
一个功能的多个输入(不同的输入)
功能的异常测试
功能的易用性,体验性的测试
功能能涉及到的算法
- 非功能性需求
在功能的基础上做一些限制,满足特定场景的需求,让用户有更好的体验
兼容性、性能、安全性、可靠性、可移植性、易用性等
不同类型的软件对于非功能性需求要求是不一样
(1)客户端的软件,word xmind,播放器,对功能和要求很简单,对性能,安全性要求比较低,软件的可移植性要求比较高
(2)企业软件,聊天软件,飞q,飞书,钉钉,企业微信,对功能有一定的要求,对兼容性,安全性,性能比较低
(3)商业软件,对功能,性能,安全性,可移植性,易用性要求都很高
4.等价类
根据输入(特殊情况下才考虑输出),把输入划分成若干个等价类,从每一个等价类当中取一个测试用例进行测试,如果这个测试用例通过。
等价类是解决测试无法穷举的一种情况。
有效等价类:符合数据规格说明的数据集合
无效等价类:不符合数据规格说明的数据集合
5.边界值法
对输入输出边界针对性的进行测试用例的设计。
等价类和边界值结合在一起进行测试用例的设计
6.错误猜测法
根据测试人员的知识,经验,直觉针对性的去设计测试用例。
过度依赖个人,不能使用测试系统化
探索性测试,用来进行测试用例设计的补充