4软件测试:软件测试方法概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5FFra Baidu bibliotek
Locked
A ∨B
00
00
01
逻辑覆盖
1 0
0 1
10
11
11
∨C
0 1 0 0 1 1 0 1
1234
感到疲倦 Y N N N
条 件
感兴趣
—Y YN
桩
糊涂
— Y N—
重读
√
继续
动 作
跳下一章
桩
休息
√
√ √
一年
非工作日 工作日 非工作时 工作时
输入域划分覆盖
i1
i2
i4 i3
测试覆盖的概念
测试覆盖:test coverage, 用于确定测试集合对测试范围 的覆盖程度,通常用百分比表示。
10个梨子口味(白色) 10个开心果口味(绿色) 10个橘子口味(橙色) 20个哈密瓜口味(橙色) 30个柠檬口味(黄色) 40个杏仁口味(黄色) 测试范围:袋里糖果
覆盖标准:覆盖每颗糖,120个,覆盖率最大100% 覆盖每种口味,6-64个,覆盖率最大100% 覆盖每种颜色,4个,覆盖率最大67%
请设计一组测试用例集,来测试下面的程序。 输入三个整数值,分别代表了三角形三边的长度。 输出提示信息,表明该三角形究竟是不规则三角形、等腰
三角形还是等边三角形。
来源:《软件测试的艺术》, Myers
参考: Myers给出的答案
1. 是否有这样的测试用例,代表了一个有效的不规则三角形? 2. 是否有这样的测试用例,代表一个有效的等边三角形? 3. 是否有这样的测试用例,代表一个有效的等腰三角形? 4. 是否有这样的测试用例,代表等腰三角形两边相等的所有3种可能情况?(如3,3,4;3,4,3;4,3,3) 5. 是否有这样的测试用例,某边的长度等于 0? 6. 是否有这样的测试用例,某边的长度为负数? 7. 是否有这样的测试用例,三个整数皆大于 0,其中两个整数之和等于第三个? 8. 是否至少有3个第 7 类的测试用例,列举了一边等于另外两边之和的全部可能情况 (如1,2,3;1,3,2;3,1,2) 9. 是否有这样的测试用例,三个整数皆大于 0,其中两个整数之和小于第三个整数? 10. 是否至少有3个第 9 类的测试用例,列举了一边大于另外两边之和的全部可能情况?(如1,2,4;1,4,2;4,1,2) 11. 是否有这样的测试用例,三边长度皆为 0(0,0,0)? 12. 是否至少有一个这样的测试用例,输入的边长为非整数值(如2.5,3.5,5.5) 13. 是否至少有一个这样的测试用例,输入的边长个数不对(如仅输入了两个而不是三个整数)? 14. 对于每一个测试用例,除了定义输入值之外,是否定义了程序针对该输入值的预期输出值?
示例:测试设计四步法
测试需求:航空公司在飞机起飞前1小时停止办理在线值机业务。
Models 测试对象建模
Create base test cases
模型覆盖
Suppement with test data
填充数据
Advanced testing
Model外的
对象建模
当前时间 <
起飞时间-1hour
……
逻辑测试用例
Step2 Create base
test cases 模型覆盖
图覆盖 逻辑覆盖 输入域覆盖
……
物理测试用例
Step3 Suppement with
test data 填充数据
典型值 边…界…值
Step4 Advanced
testing
Model外的
错误推测 Ad hoc测试
……
来源:Ryber《Essential test design》
名词术语
测试范围往往以覆盖项的形式出现,例:代码语句数、分支数、路径数等。 覆盖项往往又取决于覆盖标准,它代表覆盖的深度。例:
语句覆盖代表每条语句至少被执行一次 判定覆盖代表每个判定的真/假分支至少被执行一次 覆盖程度往往以覆盖率的形式出现。例:语句覆盖率100%
案例:测试覆盖
假如你一份令人羡慕的工作——测试袋装的软心糖豆,每种糖的 口味如何。 假如袋里一共装有120颗糖,6种口味,4种颜色 :
软件测试方法
软件测试方法概述
本章教学要点
教学目标
对测试设计方法有一个完整的概念,为后续的一个个测试设计方法展开垫定基础。
教学重点与难点
理解测试设计4步法的过程。 理解各种测试覆盖标准含义、不同覆盖标准之间的关系 对测试方法分类体系有一个初步认识。 难点:测试覆盖标准的覆盖要求。
引子:一道经典测试题
测试数据
通过测试数据,逻辑测试用例->物理测试用例,它代表一次 可执行的测试。
广义的测试数据包括:测试输入、测试状态、测试环境等, 一切测试执行前就存在的数据,它对被测对象产生影响。
参考:郑人杰教授给出的答案
来 源 : 《 计 算
两位测试前辈给出的参考答案不尽相同,怎么来理解?机 软 件 测 试 技 术 》 , 郑 人 杰
目录
1
测试设计过程简介
2
软件测试覆盖标准
3
软件测试方法分类
测试设计过程:四步法
Step1
Models
测试对象建模
控制流图 数据流图
流程图 用例图 状态图 因果图 判定表
N
停止办理
Y
路径覆盖,逻辑用例
当前时间≥起飞时间-1小时 当前时间<起飞时间-1小时
后续逻辑处理
填充数据,物理用例
起飞时间20:20,当前时间19:20 起飞时间20:20,当前时间19:21 起飞时间20:20,当前时间19:19 起飞时间20:20,当前时间19:00
补充用例
起飞时间晚8:20,当前时间晚 8:20 起飞时间晚8:20,当前时间早 7:21 起飞时间晚0:20, 当前时间晚11:20
来源:《ISTQB软件测试专业术语对照表》
测试对象模型
Xa>0 and Yb>1F0
X<-10 or Y<0
F d
返回 Y
T Y=Y/X c
T Y=(Y+X) e
1B
A
2
CloseDoor
Opened
Closed(Unlocked)
OpenDoor
C 3
图覆盖
E
D
4
UnlockDoor lockDoor
逻辑测试用例和物理测试用例的概念
名词术语
逻辑测试用例:
又叫概要测试用例,high level test case,测试用例以 逻辑值所体现,没有具体的输入数据和预期结果输出值 例:Testcase(当前时间,起飞时间)
物理测试用例:
又叫详细测试用例,low level test case, 测试用例以 实际值所体现,有具体的输入数据和预期结果输出值。 例:Testcase(20:20,20:20)