设计测试用例是测试面试的必考题,务必好好学
1. 测试用例
测试用例的概念
测试⽤例(Test Case)是为了实施测试而向被测试的系统提供的⼀组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
设计测试⽤例的第一个原则:
测试⽤例中⼀个必需部分是对预期输出或结果进⾏定义
举个例子:
软件中涉及到的特性很多,我们无法单凭想象来完成一次完整的测试,因此我们需要编写测试用例,通过编写测试用例我们可以想到要测试哪些内容,通过一次又一次的更新修改把测试用例写到完成,功能覆盖率更高.
编写测试用例的要素
我们先来看一下一个测试用例的编写方式.编写测试用例的要素: 标题,测试环境,测试数据,测试步骤,期望结果
很早之前使用excel来编写,而现在一般使用思维导图或者脑图来写.笔试的时候需要按照excel表格的形式来答题(会涉及测试用例的要素),而面试 的时候回答测试用例,需要按照思维导图的方式来回答(不会涉及测试用例的要素)
编写测试用例的形式
excex形式
思维导图形式
2. 设计测试用例的万能思路
错误案例:
现在有⼀款产品,要求我们对“⻔锁”设计测试⽤例,假如你是测试⼈员,你会怎么设计呢?
这个测试用例不够具体,太笼统了.工作中,测试用例的设计不是越多越好,而是能够达到更大的功能覆盖则是更好的.(学习中,设计测试用例越多越好,这是考察我们的思维发散能力)
正确的设计测试用例的思想:
常规思维+逆向思维(用尽各种办法证明是有bug的)+发散性思维
设计测试用例的第二个原则:
1.测试⽤例的编写不仅应当根据有效和预料到的输⼊情况,⽽且也应该根据⽆效和未预料到的输⼊情况。
2.检查程序是否“未做其应该做的”仅是成功的⼀半,测试的另⼀半是检查程序是否“做了其不应该做的”(使用特殊字符,比如sql注入,看是否能登录成功)。(是上⼀条原则的必然结果)
3.计划测试⼯作时不应默许假定不会发现错误。
打开思维之后, 设计测试用例是想到一条说一条,我们需要思维的引导才可以把数量提上去.
比如说出家里的电器:
而我们的万能公式就是起到这个作用,此时我们介绍万能公式
万能公式:
功能测试+界⾯测试+性能测试+兼容性测试+易用性性测试+安全测试
每个测试具体的意思
1> 功能测试: 从产品功能角度出发,验证功能是否正确(参考需求文档,比如登录,我们的账号密码是采用数字,下划线,字母....长度多少,是否为必填项)
2> 界面测试: 肉眼可以看到的部分都为界面.界面设计到的内容: 元素(大小,颜色,形状,材质(可以触摸到的))(比如门锁,如果是电子锁,它有没有数字,数字大小颜色是否合适..)
3> 性能测试: 通常为一些极端的情况(比如门锁,我们测试在极寒或者极热的情况下它的表现如何)
功能测试和性能测试的区别:
比如名牌车和一般品牌的车,它们都能实现开车这个功能,但是百米加速所耗费的时间名牌短一些(这个就是性能)
4> 兼容性测试: 不同的版本(软件,系统),浏览器的兼容性(同一个浏览器上不同版本打开我写的系统)不同浏览器(不同浏览器上打开我的系统),(比如谷歌浏览器是否能在苹果,联想,win10,win11...上打开),还有数据的兼容性(场景 : 可以进行手机号注册,可以进行微信注册,邮箱注册...邮箱注册之后,个人手机号是否可以登录)
数据的兼容性例子
5> 易用性测试: 具备简单易上手的属性(比如: 购物软件,我们很容易就知道怎么下单,怎么购买.或者这个软件有引导教程)
6> 安全性测试: 是否具备危险材质(门锁,用的材质是否伤身,sql注入,我们的账号