您现在的位置是:首页 >其他 >软件测试基础知识整理(六)- 测试用例、等价类划分法、边界值分析法、判定表法网站首页其他
软件测试基础知识整理(六)- 测试用例、等价类划分法、边界值分析法、判定表法
简介软件测试基础知识整理(六)- 测试用例、等价类划分法、边界值分析法、判定表法
目录
一、测试用例(重点)
测试用例(Test Case)是为了特定的目的而设计的一组测试输入、执行条件和预期结果的文档。
1.1 测试用例八大要素
- 测试用例编号:由字母、字符、数字组合而成的字符串,有唯一性,易识别性。
- 测试项目:当前测试用例所在测试用例所属大类、被测需求、被测模块、被测单元等。
- 测试用例标题:对测试用例的简单描述。用概括的语言描述该测试用例的测试点。每个测试用例的标题不能够重复,因为每个测试用例的测试点事不一样的。
- 重要级别:测试用例的具体级别编号。(每个公司都有自己的级别设置)
- 前置条件:在执行测试用例之前需要满足的先决条件或环境设置。
- 测试输入:输入到系统或组件中的数据、参数或操作。
- 执行步骤:详细描述执行测试用例的步骤,包括用户操作、数据输入或系统交互。
- 预期结果:当前测试用例的预期输出结果,包括返回值内容,界面的响应结果,输出结果的规则符合度等。
注:重要级别一般可按高、中、低级别来划分,只是不同公司可能用不同种编号表示。
- 高级别:保证系统基本功能、核心业务、实际使用频率高的用例。
- 中级别:重要程度介于高级别和低级别之间的测试用例。
- 低级别:实际使用频率低,对基本功能影响不大的模块的测试用例。
用例编号 | 测试模块 | 用例标题 | 重要级别 | 前置条件 | 输入数据 | 执行步骤 | 预期结果 |
---|---|---|---|---|---|---|---|
项目代码-需求代码-用例编号 | 写被测模块的名称 | 对测试用例的简单描述 | 高或中或低(不同公司也可能有不同代码) | 该测试用例需要准备的数据以及一些前置操作 | 用例执行过程中需要输入的外部信息 | 1.第一步操作 2.第二步操作 .... | 当前测试用例的预期输出结果 |
当然不同公司也可能加入测试时间、测试人员、备注信息等。
二、等价类划分法
等价类划分法用于将输入条件划分为不同的等价类,以选择代表性的测试用例进行。基本思想是假设每个输入的等价类具有相同的行为和结果。
- 有效等价类:满足需求的数据
- 无效等价类:不满足需求的数据
2.1 操作步骤
- 确认输入条件:确定需要进行测试的输入条件,例如:函数参数,用户输入等。
- 划分等价类:根据输入条件的特性和要求,将输入值划分为不同的等价类。
- 选择代表性测试用例:从每个等价类中选择一个或者多个代表性测试用例来代表该等价类。
- 执行测试用例
- 验证结果
2.2 举例说明
假设测试一个登录界面的用户名合法性,对于用户名的要求是长度须在4-10个字符之间,由数字和字母组成,且至少含有一个字母和一个数字。
输入条件 | 有效等价类 | 无效等价类 | ||
---|---|---|---|---|
用户名 | 4-10个字符之间 | 1 | 小于4个字符 | 2 |
大于10个字符 | 3 | |||
空 | 4 | |||
由数字和字母组成,且至少含一个字母和一个数字 | 5 | 纯数字 | 6 | |
纯字母 | 7 | |||
含非数字和字母字符 | 8 |
用例编号 | 测试模块 | 用例标题 | 重要级别 | 前置条件 | 输入数据 | 覆盖等价类 | 执行步骤 | 预期结果 |
---|---|---|---|---|---|---|---|---|
LG-UN-01 | 登录模块 | 用户名合法 | 高 | 用户名长度4-10字符,由数字和字母组成,且至少含一个字母和一个数字 | zhang3 | 1,5 | 输入用户名 | 用户名合法 |
LG-UN-02 | 登录模块 | 小于用户名规定长度范围 | 高 | 用户名由数字和字母组成,且至少含一个字母和一个数字 | zh3 | 2,5 | 输入用户名 | 用户名不合法 |
LG-UN-03 | 登录模块 | 大于用户名规定长度范围 | 高 | 用户名由数字和字母组成,且至少含一个字母和一个数字 | zhang123456789 | 3,5 | 输入用户名 | 用户名不合法 |
LG-UN-04 | 登录模块 | 用户名为空 | 高 | 用户名为空 | NULL | 4 | 无输入 | 用户名不合法 |
LG-UN-05 | 登录模块 | 用户名纯数字组成 | 高 | 用户名长度在4-10个字符之间 | 123456 | 1,6 | 输入用户名 | 用户名不合法 |
LG-UN-06 | 登录模块 | 用户名纯字母组成 | 高 | 用户名长度在4-10个字符之间 | abcdefg | 1,7 | 输入用户名 | 用户名不合法 |
LG-UN-07 | 登录模块 | 用户名含非数字和字母 | 高 | 用户名长度在4-10个字符之间 | @#¥ 张a123 | 1,8 | 输入用户名 | 用户名不合法 |
三、边界值分析法
边界值分析法,用于确定输入的边界条件,并选择测试用例以覆盖这些边界条件。
- 上点:就是边界上的点
- 内点:在范围内的任意一点
- 离点:离上点最近的一个点
注意:
- 对于闭区间,上点是有效数据,离点是无效数据。
- 对于开区间,上点是无效数据,离点是有效数据。
- 不开开和闭区间,内点都是有效数据。
3.1 操作步骤
- 确定边界条件:确定需要测试的输入条件,并识别每个条件的边界值。
- 确定边界情况:确定每个边界值的情况,包括边界值本身、边界值之前和边界值之后的值。
- 选择测试用例:从每个边界值选择一个或多个测试用例,以覆盖边界值本身、之前和之后的值。
- 执行测试用例
- 验证测试结果
3.2 举例说明
使用边界值分析法设计发帖模块 添加标题 的测试用例。
要求:标题长度大于0,标题长度小于等于15。
分析:
- (0,15]
- 0,15为上点;10为内点;1,16为离点
用例编号 测试模块 用例标题 重要级别 前置条件 输入数据 执行步骤 预期结果 Title-01 发帖模块 10位标题测试 高 用户登录,打开发帖程序 0123456789 输入标题数据 PASS Title-02 发帖模块 标题为空 高 用户登录,打开发帖程序 null 无输入 FAIL Title-03 发帖模块 15位标题测试 高 用户登录,打开发帖程序 123456123456123 输入标题数据 PASS Title-04 发帖模块 1位标题测试 高 用户登录,打开发帖程序 1 输入标题数据 PASS Title-05 发帖模块 16位标题测试 高 用户登录,打开发帖程序 0123456789123456 输入标题数据 FAIL
四、判定表法
判定表法用于处理多个条件组合的情况。通过创建一个表格来表示输入条件和相应的输出动作或结果,以确定各种组合情况。
判定表通常由以下几个部分组成:
- 条件桩:列出所有输入。
- 条件项:把条件桩中所有的组合罗列出来
- 动作桩:列出说有的输出。
- 动作项:根据不同条件项组合产生的工作结果。
- 规则:根据条件的组合情况,给出相应的决策或输出动作。
4.1 操作步骤
- 明确需求
- 设计判定表
- 先列条件桩
- 然后动作桩
- 罗列条件项的不同组合
- 根据条件项完成动作项
- 编写测试用例
4.2 举例说明
订单的检测,如果金额大于500元,又未过期,则发出批准单和提货单;
如果金额大于500元,但过期了,则不发批准单和提货单;
如果金额小于500元 则不论是否过期都发出批准单和提货单;
在过期的情况下无论金额大小都需要发出通知单。
明确需求:
- 金额大于500元,又未过期,则发出批准单和提货单
- 金额大于500元,但过期了,则不发批准单和提货单
- 金额小于500元 则不论是否过期都发出批准单和提货单
- 过期的情况下无论金额大小都需要发出通知单
设计判定表:
判定表 条件 操作 是否大于500元 是否过期 批准单 提货单 通知单 Y Y N N Y Y N Y Y N N Y Y Y Y N N Y Y N 测试用例:
测试用例表 用例编号 测试模块 用例标题 重要级别 前置条件 输入数据 执行步骤 预期结果 order-01 订单检测 发通知单(金额大于500,过期) 高 打开订单检测程序 输入订单上大于500的金额 1.输入大于500的金额
2.选择过期
3.点击检测按钮
发送通知单,不发批准单和提货单 order-02 订单检测 发批准单和提货单(金额大于500,未过期) 高 打开订单检测程序 输入订单上大于500的金额 1.输入大于500的金额
2.选择未过期
3.点击检测按钮
发送批准单和提货单,不发通知单 order-03 订单检测 发批准单、提货单和通知单(金额小于于500,过期) 高 打开订单检测程序 输入订单上小于500的金额 1.输入小于于500的金额
2.选择过期
3.点击检测按钮
发送批准单、提货单和通知单 order-04 订单检测 发批准单和提货单(金额小于500,未过期) 高 打开订单检测程序 输入订单上小于500的金额 1.输入小于于500的金额
2.选择未过期
3.点击检测按钮
发送批准单和提货单,不发通知单
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。