想要写优秀的设计测试用例,不懂这个可不行!
什么是需求?
需求是产品必须完成的事以及必须具备的品质。需求包括:功能性需求、非功能性需求和限制条件
功能性需求: 功能性需求是产品必须完成的那些事,要求一定的功能和品质。
案例:微信可以给好友发消息、发红包、发语音和视频等操作
非功能性需求:非功能性需求是产品必须具备的属性或品质。诸如观感、可用性、安全性和法律限制等。
例子:x 平台用户数为 5 万人,每天登录用户数为 1 万左右,网络的带宽为 100M 带宽。在工作时间根据资料名称条件进行搜索,可以在 3 秒内得到搜索结果。
2021 年天猫活动的订单处理峰值达高于 58.3 万笔/秒,要求订单成功率为 100%一>成功下单
注意:在项目中一般优先分析功能性需求,产品的功能确定之后再分析非功能性需求。
限制条件:在需求分析中需要考虑一些条件约束,规则等,比如客户的约束,行业的约束,法律的约束以及自己的约束。
例如:客户需求:x 平台必须在 2021 年开学的第一学期上线
例如:每个 APP 必须要求对应的隐私条例等
需求的重要性
测试用例/
《医生和病人的故事》
背景:冯大勇吃鱼时嗓子被鱼刺卡住了。现在正坐在椅子上候诊。
大夫:(在桌上拿起一份挂号单,大声的喊)冯大勇!
冯大勇:(病怏怏的样子,边走边咳嗽)我是。
大夫:怎么了?(低头整理手中的资料,自言自语,并打手势,示意冯大勇坐下)
冯大勇:我...(咳嗽)...我今天. . ﹒(咳嗽)大夫:不用说了,我知道了。(从桌子下面拿出一个大盒子,放在桌子上)
我看你适合吃这种药。这是本院独家开创的哮喘新药“咽喉糖浆”,疗程短,见效快,一个疗程吃 3 盒,平均每天只需花费 3 块钱。给你先开 6 盒吧!(边说边开药方)
冯大勇非常惊讶地瞪大眼睛并止不住地弯腰大声咳嗽,以至于把鱼刺都咳出来了。冯大勇从口里掏出一条巨型鱼刺,递给医生。医生见到鱼刺先是吃惊,而后又非常尴尬。
符合尽早介入测试、文档也需要测试原则
是设计测试用例的重要依据,有助于保证测试的质量和进度
是衡量测试覆盖率的重要指标。
如何进行需求分析
测试需求分析的主要目的:根据需求文档提取测试点,根据测试点来编写测试用例。
需求分析步骤:
1.熟悉需求背景及商业目标 2.找出功能性需求与约束:
单个功能,如能否登录,等否发送信息;
功能交互;
业务流程,如登录成功-给好友发送红包-好友领取红包
3.找出非功能性需求与约束:
U、性能、网络、兼容性、易用性、特殊情况
测试用例/软件测试流程图.jpg
案例一
生活物品测试需求分析,如:杯子、笔、桌子面试题:怎么对杯子、笔、桌子进行测试?讲出测试的思维?测试点?
1∶反问:笔、杯子、桌子需求是怎么样的? --测试思维
软件质量特性:功能性、可靠性、可用性、效率、可维护性、可移植性
给大家提供一个大概的思路,更多案例以及视频教程 公众号主页:点击(领取资料)免费获得
功能性:
笔头开合是否流程
书写是否流畅
笔头笔心大小是否合适
笔筒和笔芯是否牢固
笔芯替换是否方便
U 工(外观测试)
尺寸大小:
色彩搭配:绿色
携带
logo
性能测试:
笔能够写多长时间
笔心(墨水) :能够持续多长时长
高温低温
气味:特殊人群
测试用例设计方法
黑盒测试用例设计方法
等价类划分法
边界值分析法
错误推测法
因果图法
判定表法
正交实验法
状态迁移图法
场景法
白盒测试用例设计方法
语句覆盖
判定覆盖
条件覆盖
判定-条件覆盖
基本路径覆盖
循环覆盖
黑盒测试
黑盒测试:也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出结果。
主要测试依据是需求文档、设计文档、用户手册
业务能力
测试策略(功能测试、uI 测试,兼容性测试)
设计用例--逻辑思维
黑盒测试产生的原因
从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出所有的错误。实际上测试情况是无穷多的,完全测试是不可能的。
如何解决?
必须将黑盒测试行为加以分类
节约测试实施的时间和资源
避免盲目测试、提高测试效率
使测试的实施重点突出、目的更明确
等价类划分
是一种典型的、常用的黑盒测试方法,这种方法把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量有代表性的测试数据取得较好的测试结果。
1.有效等价类:有效等价类是程序规格说明有意义,合理的输入数据--验证软件的功能是否实现
2.无效等价类:无效等价类是程序规格说明无意义,不合理的输入数据--提高软件的安全性和体验性
测试用例
等价类划分原则
1.如果输入条件规定了取值范围或值的个数,则可以确定一个有效等价类和两个无效等价类。--公式
案例:成绩输入有效值:【0,100】,用户名:长度 8 个字符长度
image.png
2.在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
案例:输入数值必须是正整数
有效:正整数
无效:负数·小数字符
3.在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
案例:第一个数和第二个数必填
测试用例
4.在规定了输入数据的一组值(假定 n 个),并且程序要对每一个输入值分别处理的情况下,可确立 N 个有效等价类和一个无效等价类(没有无效等价类)。
案例:密保问题选择
测试用例
5.如果我们确知,已划分的某个等价类的各元素,在程序中的处理方式是不同的,则应将此等价类进一步划分成更小的等价类。
案例:分数:O-100,如果是 81-100 这个范围,则返回结果优秀,如果分数在 71-80 这个范围,则返回结果良好,如果在 60-70 这个范围,则返回结果合格,否则的话返回结果不及格
测试用例
等价类分析步骤
1.为每个输入划分等价类,得到等价类列表,为每个等价类规定一个唯一编号
测试用例
2.设计一个测试用例,使其尽可能多的覆盖所有的有效等价类。重复这一步骤,使得所有有效等价类均被测试用例覆盖到 3.设计一个测试用例,使其只覆盖一个无效等价类。重复这一步骤,使得所有无效等价类均被覆盖
软件测试全栈工程师 更多精彩 &高清原图-公众号:程序员一凡
希望大家能够举一反三,活学活用。
版权声明: 本文为 InfoQ 作者【程序员一凡】的原创文章。
原文链接:【http://xie.infoq.cn/article/4694ecfca0e884f8950412d85】。文章转载请联系作者。
评论