测试用例常用术语
一、软件测试中术语
1、动态测试(dynamic testing)
-通过运行软件的组件或 系统来测试软件
例如:一辆汽车发动并行使测试
2、静态测试(static testing)
-对组件的规格说明书进行 评审,对静态代码进行走查
例如:一辆汽车为发动未行驶,查看外观、颜色、组成部分
3、正式评审(formal review)
-对评审过程及需求文档的 一种特定评审,比如:用例评审
a、组内评审(项目组中的成员:产品,开发,测试)
b、交叉评审(测试同事成员:测试a、测试b,测试c)
4、评审员(reviewer):参与评审的人
5、度量:测量所使用的方法或标准 (准入,准出)
准入:测试计划编写好,测试用例编写好,测试用例评审通过,搭建环境
准出:用例100%执行,0bug,输出测试报告
6、记录员:记录评审会议上的会议纪要
7、技术评审(Technical Review)
-同行间对技术进行的评审,目的是技术实现达成共识
8、走查(Walkthrough)
-由文档作者逐步陈述文档内容,以收集信 息并对内容达成一致
9、复杂性(complexity)
-系统或组件的设计或内部结构比较复杂, 导致难以理解,维护或验证的程度
10、圈复杂度(Cycloramic complexity)
-程序中独立路径的数量。可 以衡量一个组件模块的判定结构的复杂程度。
例如:软件复杂程度
11、控制流(Control Flow)
-执行组件或系统的一系列顺序的路径
12、数据流(Data Flow)
-表示数据对象的顺利或状态发生变化的过程
例如:状态变法:待支付==》已支付,代发货==》已发货,代签收
13、控制流图
-控制流图(CFG,Controlflowgraph)也叫控制流程图,是一个过程或程序的抽象表现。
二、圈复杂度的详细讲解
-程序中独立路径的数量,可以衡量 一个组件模块的判定结构的复杂程度。
-三种计算方式:
a.圈复杂=区域数
b.圈复杂度=边数-节点数+2
c.圈复杂度=判定节点+1
-案例1:
代码1:
if(x>100&&y>500) then
score=score+1
else if(x>=1000z>5000)then
score=score+2
代码2:
(x>100&&y>500)then
score-score+1
else if(x>=1000z>5000)then
score=score+2
else
score=score+3
end if
三、常用的用例设计方法
1、黑盒测试
-等价类:
1)定义:指某个输入域的集合,在集合中各个输入的条件是等效的。
2)分类:
*有效等价类:对程序规格说明有意义的合理的的输入数据
*无效等价类:对程序规格说明有意义的合理的的输入数据
案例:ATM识别银行卡
3)设计用例思路
1.找输入条件
2.为每个输入条件找有效、无效等价类
3.为每个等价类编号
4. 用最少的用例覆盖最多的有效等价类
5. 每一个无效等价类都是一个用例
6. 并非所有有效等价类都有无效
7. 等价类的覆盖可以重复覆盖
4)原则
*每个用例尽可能多的覆盖多个有效的等价类
*每个用例只能覆盖一个无效等价类
5)常见的能够划分等价类的地方
1. 数值范围
2. 重复次数
3. 字符串长度
4. 字符串组中字符的个数
5. 文件命名
6. 文件大小
7. 屏幕的颜色种类
8. 超时时间
6)优缺点
1.优点:是考虑了单个输入域的各类情况,避免了盲目或随机选取输入数据的不完整性和覆盖的不稳定性
2.缺点:方法虽然简单易用,但是没有对组合情况进行充分的考虑,需要结合其他测 试用例设计的方法进行补充。比如边界值
-边界值
1)边界值定义:
*上点:边界上的点
*离点:离上点最近的点
*内点:在域范围内的点
2)边界条件分析
1.输入条件明确了一个值的取值范围或规定了值的个数
2.输入条件明确了一个有序集合
3)分析原则
1. 如果输入(输出)条件规定了取值范围,则应该 以该范围的边界内及边界附近的值作为测试用例
2. 如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比大个 数多一的数作为测试数据
3. 如果程序规格说明中提到的输入或输出是一个有序集合,应该注意选取有序集合的第一个和最后 一个元素作为测试数据
4)边界值是发现bug能力最强的一种测试
-判定表
1)定义:分析和表达多逻辑条件下的执行不同操作的情况
2)作用:对组合情况设计用例
利用判定表将复杂的问题按照各种可能的 情况全部列举出来,能针对不同逻辑条件 的组合值,分别执行不同的操作。
3)组成部分:
1)条件桩(condition stub):列出问题的 所有条件(通常条件次序无关紧要)。
2)条件项(condition entry):列出针对 它条件的取值(所有情况下的真假值)
3)动作桩(action stub):列出问题规定 可采取的动作(顺序无约束)。
4)动作项(action entry):列出条件各种情况的应采取的动作
4)案例讲解
对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……
理解:1.功率大于50马力的机器 和维修记录不全(优先)
2.已运行10年以上的机器(优先)
5)创建步骤
1.确定规则的个数:若有N个条件,每一个条件下有2个值,则有2~n种规则。
2.列出所有条件桩与动作桩。
3.输入条件项。
4.输入动作项得到初始判定表。
5.简化(合并相似规则)
6.编写测试用例
6)判定表的作用
利用判定表将复杂的问题按照各种可能的 情况全部列举出来,能针对不同逻辑条件的组合值,分别执行不同的操作。
扫雷游戏:链接
网站1:(没有问号)http://www.minesweeper.cn/
网站2:https://saolei123.com/
网址3:http://p.1234wu.com/h5/019/ (有问号)
2、经验测试
-错误推测法
3、白盒测试
-语句覆盖
-判断覆盖
-条件覆盖
-路径覆盖
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律