系统测试
1。 测试定义 :
验证被测试软件与需求是否一致的一系列的测试活动(测试计划、设计、用例、缺陷 报告)
2。测试的方法:
A是否看内部结构:
黑盒测试: 不关注软件的内部代码,只关注输入和输出验证是否和需求一致的
优点:关注用户体验,验证明确
缺点: 发现不了隐藏的问题
白盒测试: 测试代码的逻辑,验证代码是否正确
优点:发现隐藏的问题
缺点:忽略用户体验,技术要求,费时
B是否依赖工具: 自动测试:由工具执行的测试
优点:省时省力、可重复、准确率高、测试的覆盖率高、人做不了
缺点: 成本高、人员技术、没有想象力
人工测试:由人来执行的测试
优点:
缺点:
C 是否程序运行: 静态测试: 被测的程序没有运行(界面,文字描述)
动态测试: 被测的程序运行
3。质量: 软件满足需求的程度
1功能性: 软件能做什么,不能做什么
2 易用性:布局 :控件左对齐,上下左右均匀分布
字体: 大小颜色统一,描述适当
提示和帮助信息
快捷键
3 性能性: 速度、资源利用率低
4 可移植: 不同的操作系统,不同的浏览下(兼容性)
5 可靠性: 能处理各种错误信息
面试题:
你是电梯测试公司的测试负责人,一个用户打来电话说,一栋楼的电梯需要检测。你们能做吗?能先给我一个测试方案看看嘛?
4。测试过程:
常见的生命周期模型
模型:定义了生命周期中要做的各项工作的规范和顺序
瀑布模型
重点环节:
1、需求分析,需求规格文档
2、总体设计,概要设计文档
3、详细设计,详细设计文档
4、编码,写代码
5、测试,在编码完成后进行
优点:顺序清晰
缺点:
1、由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险
2、如果软件规模大,需求难以一次到位
|
V 模型
实现:顺序
测试:阶段划分
单元测试:测试单模块代码(开发做)
集成测试:测模块间的接口
系统测试:测试整体的系统
验收测试:用户参与的测试
项目验收测试:客户验收项目
产品验收测试:
阿尔法(α)测试:可控(公司内部)
贝塔(β)测试:不可控
|
双V模型W 模型
系统测试:系统<<测试计划>> :人员,时间、任务安排、软件功能点等 ----测试经理
系统<<测试设计>>: 方法,工具、数据、来源 ---高级测试工程、测试经理
系统测试实现: <<测试用例 >>- ---测试人员
用例编号
|
标题
|
步骤描述
|
预期结果
|
C001
|
整数加法
|
1.启动计算其
2.点1+2
|
3
|
C002
|
小数加法
|
1.启动计算其
2.点1.1+2.2
|
3.3
|
系统 测试执行 :<<报缺陷 报告>> ,<<测试总结 >>
回归测试:被测软件被修改或增加新功能后重新测试的过程
5。缺陷:软件表现与需求不符合的问题—bug /defect
缺陷的属性 :1状态 :new(新的 ) 测试人员刚刚发现新缺陷
Open(打开) 开发人员看到了这个缺陷
Fixed(修复的) 开发人员已经修复了
Reopen(重新打开) 测试验证没修复,重新给开发
Close(关闭) 测试验证成功
2严重程度 :致命的: 软件崩溃、死机、蓝屏
严重的: 出现多个问题的
一般的:一个问题
轻微的: 界面的没对齐,错别字等
建议的: 使得软件完善的想法
3优先级: 缺陷修改的优先次序
4缺陷编号:标识缺陷
5缺陷标题:缺陷的简单描述(在哪里发生了什么 )
6缺陷描述: 步骤描述、预期和实际结果
7 提交人: 缺陷发现人
8提交日期:发现缺陷的时间
9附件 : 缺陷的截图
10 分配人: 分配的开发
6。缺陷跟踪流程: 缺陷和角色之间的跟踪顺序
黑盒测试用例设计方法
一 、等价类
定义:所有个体都是一致的:等价
类:相同属性个体的集合
优点: 覆盖全 、用例数量少
缺点: 容易漏测、不容易找等价类
有效等价类 : 满足需求
无效等价类 :不满足需求
例题1 有一个编辑框,能输入年龄[1-130]
A 需求分析 :
有效的
|
无效的
|
1。 整数
|
4。符号
|
5。大写字母
|
|
6。小写字母
|
|
7。汉字
|
|
8。空格
|
|
2。 1-130
|
9。<1 10。>130
|
3。 非空
|
11。 空
|
B 设计数据
原则: 有效数据:尽可能设计一个数据满足多个有效等价类(多对一)
无效数据:每个无效集合对应一个数据(一对一)
有效数据
|
无效数据
|
||
(1。2。3。) 3 (内点)
|
4。+
|
||
1 –上点
|
|||
130- 上点
|
5。A
|
||
6。a
|
|||
7。 你好
|
|||
8。 空格
|
|||
9。0 离点
|
|||
10。 131 离点
|
|||
11。 空
|
C 编写用例
编号
|
用例标题
|
步骤标题
|
步骤描述
|
预期结果
|
Nianling_01
|
年龄输入
|
1有效年龄输入
|
1。启动XX软件
2。在编辑框输入:3
|
年龄输入成功提示
|
1有效年龄输入边界值
|
1。启动XX软件
2。在编辑框输入:1 130
|
|||
2无效年龄输入符号
|
1。启动XX软件
2。在编辑框输入:+
|
年龄输入失败提示
|
||
3无效年龄输入大写英文字母
|
1。启动XX软件
2。在编辑框输入:A
|
年龄输入失败提示
|
||
4无效年龄输入大写英文字母
|
1。启动XX软件
2。在编辑框输入:a
|
年龄输入失败提示
|
例题2 有一个编辑框,能输入年龄[1-130]
A) 需求分析 :
有效的
|
无效的
|
1。 大写字母(全角\半角)
|
9。汉字
|
2。 小写字母(全角\半角)
|
19。空格
|
11。符号(下划线)
|
|
3。 数字(全角\半角)
|
|
4。下划线(全角\半角)
|
|
5。 6-18
|
12。 <6
|
13。 >18
|
|
6。需字母开头
|
14。以数字开头
|
15。以下划线开头
|
|
7。非空
|
16。空
|
8。唯一
|
17。重复的
|
B 设计数据
原则: 有效数据:尽可能设计一个数据满足多个有效等价类(多对一)
无效数据:每个无效集合对应一个数据(一对一)
有效数据
|
无效数据
|
||
AAaa11__
|
9。 你好你好你好
|
||
AAaa11 上点
|
10。 6个空格
|
||
AAaa11AAaa11AAaa11 上点
|
11。 +-*/&……
|
||
12。 +++++ 离点
|
|||
13。 ——*&<>?(**ttt777744ee33 –离点
|
|||
14。 1 AAaa11__
|
|||
15。 _ AAaa11__
|
|||
16。空
|
|||
17。先注册一个,在注册重复
|
C 编写用例
编号
|
用例标题
|
步骤标题
|
步骤描述
|
预期结果
|
163注册_01
|
邮箱注册
|
1有效邮箱注册
|
1。启动163信箱注册
2。在注册字母邮箱编辑框输入:AAaa11__
|
提示邮箱注册成功
|
1有效邮箱注册边界值
|
1。启动163信箱注册
2。在注册字母邮箱编辑框输入:AAaa11
|
提示邮箱注册成功
|
||
2无效箱注册
|
1。启动163信箱注册
2。在注册字母邮箱编辑框分别输入:你好你好你好
6个空格
符号
+-*/&……
*&<>?(**ttt777744ee33
1 AAaa11__
_ AAaa11__
先注册一个,在注册重复
|
提示邮箱注册失败
|
例题3: 在编辑框输入:1990年1月至2049年12月,日期是6位组成,前四位是年,后两位是月 199001—204912
199002
|
A) 需求分析 :
有效的
|
无效的
|
1。 整数
|
9。汉字
|
2。 6位数
|
19。空格
|
11。符号(下划线)
|
|
3。1990-2049
|
<1990
|
>2049
|
|
4。01 -12
|
<01
|
>12
|
|
5。 非空
|
|
15。以下划线开头
|
|
16。空
|
|
17。重复的
|
有效数据
|
无效数据
|
||
199110
|
9。 你好你好你好
|
||
199001
|
10。 6个空格
|
||
204912
|
11。 +-*/&……
|
||
12。 198912
|
|||
205001
|
|||
13 199000
|
|||
14。 199013_
|
|||
15。 _ AAaa11__
|
|||
16。空
|
|||
17。先注册一个,在注册重复
|
例题4: widows 的文件名测试
1。除哪个符号之外: 数字、字母、符号、汉字
2。文件名+路径 [1-255]
3。首位不能空格
有效的
|
无效的
|
1。数字、字母、符号、汉字(全角/半角)
|
4。/ \*|<>:”? (半角)
|
2。 / \*|<>:”?全角
|
|
3。文件名+路径 [1-255]
|
5。<1
|
6。>255
|
|
4。首位不能空格
|
7。首位空格
|
5。文件名唯一
|
8。文件名重复
|
B 设计数据
原则: 有效数据:尽可能设计一个数据满足多个有效等价类(多对一)
无效数据:每个无效集合对应一个数据(一对一)
有效数据
|
无效数据
|
||
你AAaa11__/ \*|<>:”?
|
4。/ \*|<>:”? (半角)
|
||
5。空
|
|||
6。 256个字符
|
|||
7。 前面带空格
|
|||
C 编写用例
编号
|
用例标题
|
步骤标题
|
步骤描述
|
预期结果
|
文件名 _01
|
文件名测试
|
1有效文件名输入
|
1。创建文件
2。在文件名输入:你AAaa11__/ \*|<>:”?
|
文件创建成功
|
2无效文件名输入
|
1。创建文件
2。在文件名分别输入:/ \*|<>:”? (半角)
空文件名
256个文件名
|
文件不能创建
|
||
3前面带空格文件名
|
1。创建文件
2。带空格文件名件名
|
文件能创建 ,空格自动收复
|
||
4文件名重复
|
1。创建重复文件
|
文件不能重复
|
例题 5:三角形问题:
输入三个边(正整数):输出:一般三角形
非三角形
等腰三角形
登边三角形
A:(A边)
你
|
B:(B边)
3
|
C: (C边)
3
|
需求分析 :
有效的
|
无效的
|
1。A 正整数
|
4。汉字
|
5。符号
|
|
6。字母
|
|
7。空格
|
|
8。空
|
|
2。 B 正整数
|
同上
|
3。C 正整数
|
同上
|
4。 A+B>C
|
|
5。 A+C>B
|
|
6。 B+C>A
|
|
7。 A= B
|
|
8。 B=C
|
|
9。 C=A
|
|
10。A=B=C
|
|
11。A+B<=C
|
|
12。A+C<=B
|
|
13。B+C<=A
|
B 设计数据
原则: 有效数据:尽可能设计一个数据满足多个有效等价类(多对一)
无效数据:每个无效集合对应一个数据(一对一)
有效数据
A B C
|
无效数据
|
||
3 4 6(一般)
|
123456
|
||
3 3 2(等腰)
|
1234567
|
||
3 2 3(等腰)
|
1234569
|
||
2 3 3(等腰)
|
1234568
|
||
3 3 3(等边)
|
12345678910
|
||
1 1 2(非)
|
A+B=C
|
||
1 1 3(非)
|
A+B<C
|
||
2 1 1(非)
|
B+C =A
|
||
3 1 1(非)
|
B+C<A
|
||
1 2 1(非)
|
A+C=B
|
||
1 3 1(非)
|
A+C<B
|
C 编写用例
编号
|
用例标题
|
步骤标题
|
步骤描述
|
预期结果
|
三角 _01
|
三角三边测试
|
1 有效三边输入
|
1。打开xxxx
2。在A 边输入 1 B 边输入 1 C 边输入 1
|
数据能正常输入,弹出等边 三角形
|
2无效三边输入
|
1。打开xxxx
2。在ABC 边分别输入 你、 A、**、空格、空
|
弹出错误提示
|
||
3一般三角形测试
|
1。打开xxxx
2。在ABC 边分别输入 3 4 6
|
弹出一般 三角形
|
||
4等腰三角形
|
1。打开xxxx
2。在ABC 边分别输入 33 2,233,323
|
弹出等腰 三角形
|
||
5等边三角形
|
1。打开xxxx
2。在A 边输入 1 B 边输入 1 C 边输入 1
|
弹出等边三角形
|
||
6非三角形
|
1。打开xxxx
2。在ABC 边分别输入 112,113,323
|
弹出非三角形
|
二 、 边界值
是等价类的补充
1 上点 边界上的值
2 内点 边界内的任意值
3 离点 离边界最近的点 (开内闭外)
1<=x<=5 ===〉 0<x<6
[1 5]
|
[1 5)
|
(1 5]
|
(1 5)
|
上点 1 5
|
1 5
|
1 5
|
1 5
|
内点 3
|
3
|
3
|
3
|
离点0 6
|
0 4
|
2 6
|
2 4
|
三 、 状态迁移法
状态树:
编号
|
用例标题
|
步骤标题
|
步骤描述
|
预期结果
|
QQ状态转换 _01
|
状态转换
|
1 在线-忙碌-在线
|
1。打开QQ
2。设置QQ在线和忙碌
|
保证能从在线变成忙碌并能转回在线
|
2在线-忙碌-隐身
|
1。打开QQ
2。设置QQ在线和忙碌和隐身
|
保证能从在线变成忙碌并能转回在线
|
||
编号
|
用例标题
|
步骤标题
|
步骤描述
|
预期结果
|
打印状态_01
|
打印机状态转换
|
1 就绪-打印-就绪
|
1。打开打印机
2。设置就绪,打印
|
保证能从就绪能进行打印完成后回到就绪
|
2在线-忙碌-隐身
|
1。打开QQ
2。设置QQ在线和忙碌和隐身
|
保证能从在线变成忙碌并能转回在线
|
||
编号
|
用例标题
|
步骤标题
|
步骤描述
|
预期结果
|
游戏_01
|
门锁状态转化测试
|
1 关闭并锁-不能打开门
|
1。打开游戏
2。门初始状态关闭并锁
3 输入手
|
不能打开门
|
四 、 流程分析法
字母判定
第一列字符必须是A或B,第二列字符必须是一个数字(每列只能输入一个字符),在此情况下(只有这个时候才)进行文件的修改,
但如果第一列字符不正确,则给出信息L;
如果第二列字符不是数字,则给出信息M。
C
|
C
|
3个分支 1 a- b
2 a –c –d
A(A) –C –D
A(B) –C –D
3 a – c -e
A(A) –C –E
A(B) –C –E
编号
|
用例标题
|
步骤标题
|
步骤描述
|
预期结果
|
编辑_01
|
编辑文件
|
1 第一列不是A或B
|
1。打开文件
2。第一列输入C
|
弹出L
|
2 第一列A或B第二列输入数字
|
1。打开文件
2。第一列输入A或B
第二列输入数字
|
弹出M
|
五 、 正交试验
六 、 判定表
人生如逆旅,我亦是行人