目录
1.测试人员首先要分析需求,验证需求的正确性和合理性,并且要无二义性,逻辑自洽
2.细化需求,从需求中提取测试项,从每一个测试项中提取测试点,根据测试点设计测试用例
一、为啥在测试前要先写测试用例?(测试用例的好处)
(1)测试用例是测试执行的依据
(2)可以复用(回归测试的时候)
(3)衡量需求的覆盖率
(4)自动化测试的依据
(5)借鉴意义,后续测试人员可以借鉴前人写的东西
二、如何基于需求设计测试用例
1.测试人员首先要分析需求,验证需求的正确性和合理性,并且要无二义性,逻辑自洽
2.细化需求,从需求中提取测试项,从每一个测试项中提取测试点,根据测试点设计测试用例
3.需求可以分为:
(1)功能性需求:
从界面的功能开始设计和分析,从上到下,从左到右,不能遗漏
从业务考虑,把功能串起来。比如,用注册成功后的账号密码去登陆,登陆成功
用注册失败后的账号密码去登录,登陆失败
一个功能的不同输入要进行测试。
功能之间的交互性、一致性。比如,微信朋友圈,你发的和好友看到的是一致的。
允许可见以外的人看不见。
教务系统,学生和老师的权限不同,老师可以看学生的信息
数据异常,异常操作的考虑
功能的易用性,体验性的测试。
功能涉及到的算法(白盒测试,要求理解代码)。比如,滴滴打车
(2)非功能性需求:
在功能性需求上做一些限制,满足特定场景的需求,让用户有更好的体验
兼容性:保证主流浏览器的功能使用没有问题
性能:高峰期1000+个用户同时登陆,仍然能在一定时间内登录(3s)
安全性
可靠性
可移植性:在不同的国家,不同的系统上都可以使用、安装
易用性
注意:不同类型的软件对于非功能性需求的要求是不一样的
(1)客户端软件:PPT、Xmind、播放器对功能要求很简单,对性能、安全性要求较低,对软件的可移植性要求比较高
(2)企业软件,聊天软件,飞Q,飞书,钉钉,企业微信
对功能有一定的要求,对兼容性(某个教务系统最好在谷歌浏览器打开,可以指定员工在哪打开)、安全性、性能要求较低
(3)商业软件:对系统的功能、性能、安全性、兼容性、可移植性、易用性的要求都很高
三、等价类
根据输入(特殊情况下,才考虑输出),把输入划分成若干个等价类,从每一个等价类中,取一个测试用例,如果这个测试用例通过,我们就说这个测试用例代表的等价类通过。
等价类可以解决测试用例无法穷举的情况。
有效等价类:符合数据规格说明的数据集合
无效等价类:不符合数据规格说明的数据集合
测试的时候,只测试有效等价类吗?
不是,无效等价类也要进行测试。
四、边界值法
对输入输出的的边界,有针对性的设计测试用例,就叫边界值法
边界值有哪些?
例如,要求用户名长度是6-15位,且只能是大小写字母组成
长度是6,长度是15,这种都符合需求。
等价类和边界值一般是结合在一起进行测试用例的设计。
五、错误猜测法
测试人员依据自己的经验、知识、个人直觉判断软件哪一块有问题,针对性的设计测试用例。
适合补充测试用例,或者进行探索性测试的时候。
过度依赖于个人,不能使测试系统化。
六、场景法
把一个个孤立的功能串起来,形成一个场景。每一个功能,不同的输入,会触发流程走向不同的场景。根据不同功能的不同输入,触发不同场景进行测试用例的设计。
七、因果图法
因果图是一种逻辑图,恒等,与,或,非
根据因果图去分析和设计测试用例。
使用场景:当输入有多个,并且不同的输入组合对应着不同的输出,这时可以用因果图来进行测试用例的分析,根据分析的结果来设计测试用例。
因果图的几种关系:恒等,与,或,非
恒等:输入为真,输出为真
1.如何用因果图法设计测试用例?
(1)分析所有的输入和输出
(2)找出输入和输出之间的逻辑关系
(3)根据输入输出画因果图
(4)根据因果图画判定表
(5)根据判定表设计测试用例
八、正交法(仅考选择)
根据正交性从大量的试验数据中,选取最优的数据组合,根据最优的数据组合的结果,来衡量整个测试的输出结果。