软件测试——测试用例

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

作者~小明学编程  

文章专栏测试开发

格言热爱编程的终将被编程所厚爱。
在这里插入图片描述

目录

测试用例的设计方法

等价类

边界值

错误猜测法

判定表法使用于关系组合

设计步骤

具体例子

正交法

场景设计法

测试方法

黑盒测试

白盒测试

灰盒测试

常见的测试方法有哪些哪种测试方法用的最多

水杯的测试用例

功能性测试

界面测试

性能测试

兼容性测试

易用性测试

安全测试


测试用例Test Case是为了实施测试而向被测试的系统提供的一组集合这组集合包含测试环境、操作步骤、测试数据、预期结果等要素。

设计测试用例

测试用例的万能公式功能、界面、性能、兼容性、易用性、安全性。

下面我们对一个水杯来设计测试用例。

测试用例的设计方法

等价类

依据需求将输入特殊情况下会考虑输出划分为若干个等价类从等价类中选出一个测试用例如果这个测试用例测试通过则认为所代表的等价类测试通过这样就可以用较少的测试用例达到尽量多的功能覆盖解决了不能穷举测试的问题。

边界值

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充这种情况下其测试用例来自等价类的边界。

错误猜测法

错误猜测法是对被测试软件设计的理解过往经验以及个人直觉推测出软件可能存在的缺陷从而针对性地设计测试用例的方法。
这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握还有个人的经验和直觉。
错误推测法和目前流行的“探索式测试方法”的基本思想一致这类方法在敏捷开发模式下的投入产出比很高被广泛应运于测试。
这个方法的缺点是难以系统化并且过度依赖个人能力。

判定表法使用于关系组合

这里所介绍的是判定表法而不是因果图法因为因果图法的第一步是确定输入输出条件然后找出输入和输出之间的关系接着画因果图然后再将因果图转换为判定表个人觉得因果图这一步既麻烦用处也不大我们完全可以根据输入条件和输出条件来画判定表直接省略因果图这一步。

设计步骤

  1. 确定输入条件和输出条件。
  2. 找出输入条件和输出条件之间的关系。
  3. 画判定表。
  4. 根据判定表编写测试用例。

具体例子

假设业务单据的处理规则为“淘宝618活动订单已提交订单合计金额大于300元或有红包则进优惠”。

1.确定输入条件和输出条件

● 输入订单已提交、金额大于300、有红包。
● 输出优惠、不优惠。

2.找出输入条件和输出条件之间的关系

(1)订单已提交订单金额大于300元则优惠。
(2)订单已提交订单金额小于等于300元无红包不优惠
(3)订单已提交有红包则优惠。
(4)订单已提交订单金额大于300元有红包则优惠。
(5)订单未提交不优惠。

3.画判定表

4.根据判定表编写测试用例

1)金额大于300元没有红包提交订单结果为有优惠

2) 金额不大于300元有红包提交订单结果为有优惠

3)金额大于300元有红包提交订单结果为有优惠

4)金额不大于300元没有红包提交订单结果为无优惠

5)金额大于300元没有红包不提交订单结果为无优惠

6)金额不大于300元有红包不提交订单结果为无优惠

7)金额大于300元有红包不提交订单结果为无优惠

8)金额不大于300元没有红包不提交订单结果为无优惠

正交法

正交法需要用到我们的正交表而正交表由因素数和水平数来构成。

比如我们下面这个例子用户注册信息的填写。

那么因素数就是姓名电子邮箱密码确认密码验证码。

水平数为填写与不填写。

正交表的两条性质
每一列中各数字出现的次数都一样多。
任何两列中的各有序数对出现的次数都一样多。

我们的正交表通常是很难写的所以我们常借助allpairs工具来生成:

步骤

1.找到因素数和水平数:

因素数姓名电子邮箱密码确认密码验证码。

水平数填写不填写。

2.allpairs工具来生成正交表

3.根据正交表来编写测试用例
1) 全部填写姓名电子邮箱密码确认密码验证码

2) 填写姓名不填写电子邮箱密码确认密码验证码

3) 填写电子邮箱确认密码不填写姓名密码验证码

4) 填写密码、验证码不填写姓名电子邮箱确认密码

5) 填写姓名电子邮箱密码不填写确认密码验证码

6) 填写姓名确认密码验证码不填写电子邮箱密码

4.补充其它的测试用例

针对上面我们可以再次补充一条不填写电子邮箱确认密码姓名密码验证码。

场景设计法

现在的软件几乎都是用事件触发来控制流程的事件触发时的情景便形成了场景而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的情景有利于测试设计者设计测试用例是测试用例更容易理解和执行。
典型的应用是是用业务流把各个孤立的功能点串起来为测试人员建立整体业务感觉从而避免陷入功能细节忽视业务流程要点的错误倾向。

测试方法

黑盒测试

黑盒测试就是在完全不考虑程序逻辑和内部结构的情况下检查系统功能是否按照需求规格说明书的规定正常使用、是否能适当的接收输入数据而输出正确的结果满足规范需求。

优点

1.不需要了解程序内部的代码以及实现不关注软件内部的实现。
2.从用户角度出发设计测试用例很容易的知道用户会用到哪些功能会遇到哪些问题锻炼测试人员的产品思维。
3.测试用例是基于软件需求开发文档不容易遗漏软件需求文档中需要测试的功能。

黑盒测试用到的测试方法有等价类边界值判定表场景法错误猜测法等。

白盒测试

白盒测试又称为结构测试或逻辑测试它一般用来分析程序的内部结构针对程序的逻辑结构来设计测试用例进行测试。
白盒测试的测试目的是通过检查软件内部的逻辑结构对软件中的逻辑路径进行覆盖测试在程序不同地方设立检查点检查程序的状态以确定实际运行状态与预期状态是否一致。

灰盒测试

灰盒测试是介于白盒测试与黑盒测试之间的一种测试灰盒测试多用于集成测试阶段不仅关注输出、输入的正确性同时也关注程序内部的情况。

但是灰盒测试没有白盒测试详细、完整黑盒测试覆盖产品功能范围广。所以灰盒测试是不能取代黑盒测试和白盒测试。不过黑盒测试可以取代灰盒测试但是不建议需要消耗很大的代价需要设计非常非常多的测试用例。

常见的测试方法有哪些哪种测试方法用的最多

白盒测试和黑盒测试。在工作中需要根据实际情况来结合白盒测试和黑盒测试。通常来说测试人员使用黑盒测试方法相对要多一点。

水杯的测试用例

功能性测试

  • 装水喝水。
  • 水杯可以装满水。
  • 水杯只能装一般的水。
  • 水杯具有安全刻度超过刻度就会溢出。
  • 水杯是否烫手。
  • 水杯能折叠吗。

界面测试

  • 水杯的形状是否符合产品的说明。
  • 水杯的大小是否符合产品的说明。
  • 水杯的材料是否符合产品的说明。
  • 水杯的颜色是否符合产品的说明。
  • 水杯的外观是否完整美观。

性能测试

  • 水杯的耐热性。
  • 水杯的抗冻性。
  • 水杯的抗摔性。
  • 抗腐蚀性。
  • 水杯的抗压性。
  • 装水的性能。
  • 水杯使用的最大次数。

兼容性测试

  • 水杯是否能够装水啤酒果汁可乐等。

易用性测试

  • 倒水是否方便。
  • 喝水是否方便。
  • 水杯拿着是否舒服符合人体工学。
  • 水杯是否方便打开。
  • 水杯是否防滑。
  • 水杯清理是否方便。

安全测试

  • 材质是否健康。
  • 材质是否易燃易爆。
  • 材质在高温下会不会产生有毒物质。
  • 材质是否有可能与一些液体发生化学反应。
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6