软件测试之黑盒测试用例

目录

1.测试用例要素(四个重要的要素)

2.测试用例的给我们带来的好处

3.测试用例的设计方法

3.1 基于需求进行测试用例的设计

3.2 具体的设计方法之等价类 

3.2 边界值

3.3 判定表

 3.4 正交表

3.4.1 如何通过正交表设计测试用例

3.5 场景设计法

3.6 错误猜测法

4.历届面试问题

4.1 如何使用Fiddler模拟弱网

4.2 接口测试

4.3 水杯测试用例设计

4.4 微信发送朋友圈设计测试用例


1.测试用例要素(四个重要的要素)

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

2.测试用例的给我们带来的好处

1️⃣提高测试效率,节省测试时间

2️⃣测试用例是自动化测试用例前

3.测试用例的设计方法

3.1 基于需求进行测试用例的设计

基于需求设计测试用例是测试设计和开发测试用例的基础,第一步就要分析测试需求,验证需求是否正确、完整、无二义性,并且逻辑自洽。在需求正确的基础上细化测试需求,从测试需求提炼出一个个测试点或者测试项,然后根据每一个测试点进行测试用例的设计

c223c22c43a9459f8311cf128f0b56a5.png

例如:微信升级

发送红包金额限制:200元

微信领取红包时间限制:24h

金额200块能不能发送成功,金额超过200块的时候能不能发送成功 

在分析测试需求时,一般分为功能测试需求非功能测试需求

功能测试需求

对于功能测试中,可以借助功能框图来帮助我们进行测试的需求分析。概括起来,功能测试需求包括以下,通常包括以下几个方面。
1)系统各个功能 界面的验证
2)借助业务把功能串起来进行测试
3)功能的一致性,交互性(多功能互操作)的测试
4)系统的不同输入,结果输出的业务数据测试。
5)功能的错误操作,异常操作的测试(属于负面测试)
6)功能实现用到的算法验证,有时需要用运代码评审
7)用户操作的 易用性,用户体验,往往结合功能测试同时验证
针对具体的需求,可以根据业务分类,用户角色(餐厅的会员系统)或者用户操作区域等将系统的功能分解成若干个功能模块,然后按照功能模块分别进行测试需求分析。按照功能模块划分, 业务模块划分是最常见的做法。

 非功能测试需求

非功能测试需求主要涉及 性能,安全性,可靠性,兼容性,易维护性和可移植性等。从测试需求分析来看,每一类非功能特性测试都需要根据需求单独分析。他们之间可能会存在相互影响,如安全性越高,就越有可能给易用性,性能带来更大的挑战

这里我们通过一个163邮箱为例如何通过基于需求设计测试用例

06a80fc674d746f0bfbb1bc1187005d2.png

5e5196bb2ef14fd8ae7e21c8ad49ddbd.png

3.2 具体的设计方法之等价类 

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

1️⃣有效等价类满足用户需求输入需求的集合;

2️⃣无效等价类不满足用户得输入需求的集合

等价类思想设计测试用例步骤

1️⃣充分理解需求

2️⃣划分有效等价类,划分无效等价类

3️⃣从有效等价类抽取其中一个数据进行设计测试用例;从无效等价类中抽取其中一个进行测试用例设计

例如:

0431aa12980046ce9aa9874cfedba263.png

 有效等价类:6~15位            无效等价类:小于6位&&大于15位

b3bcf04f465c477c8f97fb9165a97f19.png

3.2 边界值

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

边界值设计测试用例步骤:

1️⃣充分理解需求

2️⃣找边界点

3️⃣针对边界点设计测试用例

边界点

上点:边界点

内点:边界内的点

离点:边界值附近的一个点(闭区间区间外距离上点最近的点,开区间区间内距离上点最近的点)

b36e72fb689747909c2a7e63a6b69dff.png

e0925c53f0154a5186cb1f43c574d50a.png

3.3 判定表

判定表是另一种表达逻辑判断的工具


  • 条件全为真, 结果为真. 其中一个条件为假, 结果为假

  • 其中一个条件为真, 结果为真. 条件全为假, 结果为假

  • 条件为真, 结果为假. 条件为假, 结果为真
  • 恒等
    条件为真, 结果为真. 条件为假, 结果为假

如何设计测试用例:

1️⃣分析所有可能的输入和输出
2️⃣找出输入与输出之间的对应关系
3️⃣设计判定表
4️⃣将判定表对应到每一个测试用例

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

e72b9cc5c61147cea1af61c87204a86e.png

069711d96b9d432bbf4366436c6b6992.png

 3.4 正交表

2e1bde0047ba48baa69c9d5c2d874dc5.png

✨两个重要的概念:因素:输入变量                    变量:每一个输入变量取值

2ce5fb7af2e044a5849c0b5e5f172ce6.png

 每一列中各数字出现的次数都一样多。 任何两列中的各有序数对出现的次数都一样多

3.4.1 如何通过正交表设计测试用例

充分理解需求 ----> /确定因素,确定水平 ----> 画正交表 ----> 补充正交表 ----> 将正交表转换成测试用例

案例:继续以注册为例(类似工具可以使用微软的PICT工具):

因素:姓名、邮箱、密码、确认密码、验证码

水平:填写、不填写

allpairs 画正交表

1️⃣将因素和水平放到 excel 表格中

0b56e38020204f27a0289daa0eb1f8db.png

2️⃣将 excel 表格内容直接复制到 txt 文本中

f5e0c4f5cf0e45ce9eab8d9aa8bb4bed.png

3️⃣CMD 进入到 allpairs 安装路径下边

a222d991f1644a7b8b1bb0ef1f899518.png

4️⃣生成正交表

dfb2d277cd144d338b6be3c93c796b0a.png

此时的测试用例:

133aa489200b48eb82850129a31c2fc4.png

99b4c3497385491995dfad4a4cd43436.png

3.5 场景设计法

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

如何通过场景测试法设计测试用例:

充分理解需求 ----> 确定主事件流 ----> 确定次事件流 ----> 每一个事件流就是一个测试用例

94b160310b1b4f3bb224d3639191a765.png

 以ATM为例:

3a4a15d90e19423da6c70e1a83ae13ab.png

3.6 错误猜测法

错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。

这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个人的经验和直觉。

错误推测法和目前流行的“探索式测试方法”的基本思想一致,这类方法在敏捷开发模式下的投入产出比很高,被广泛应运于测试。

这个方法的缺点是难以系统化,并且过度依赖个人能力。

以注册为例
1、校验中特殊字符空格的处理?
2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文

4.历届面试问题

4.1 如何使用Fiddler模拟弱网

打开 Fidder ,保证手机设备、笔记本IP都在同一个网段

1️⃣打开弱网设置

9d82c5b2e93b44f7b503f9fb071ad94f.png

 2️⃣查看网络传输速率:

fc8b49a64f874304b09d879e097799f6.png

找到 BeforeRequest

85cb9f71125e49aa9a17e65d80896885.png

bee6f5eba72e4e89bc4bf8dfc38ae909.png

4.2 接口测试

 一个页面有哪些接口?我们直接按 F12 就可以看到接口了

1️⃣打开浏览器,直接 F12

8f6703869d6b4da49d8805b00afefbcd.png

 2️⃣右击一个接口,进行复制

58e0c18e15ef4816bd1911a38c5ebb7d.png

 3️⃣打开 Postman 软件,并且打开 import:

0b70867b1be145a0818a9fd52894a040.png

4️⃣http请求方式,get,post,delete,针对参数进行测试(传递所有参数,传递部分参数,不传递参数,传递其他的参数)

157088de7c944c4d92f9d473fca063c2.png

5️⃣性能:4c6198c19efb4afa875c6c7c52ce0433.png

4.3 水杯测试用例设计

f5142147555843a19dce795633f3378e.png

4.4 微信发送朋友圈设计测试用例

497a9530f94049e48bff7833d7876fcb.png

猜你喜欢

转载自blog.csdn.net/m0_72161237/article/details/130273285