
今天仍然拼命看书,因为明天就要考了。学期的成绩就全仗这两天挣,现在更感到考试无用与无聊。——季羡林

软件缺陷的状态:打开、修复、关闭、延迟。

v模型强调了整个软件项目开发中需要经历的若干个测试级别,每个级别都与一个开发阶段对应。但是V模型没有明确指出应该对需求、设计进行测试。
例题: 某 C 语言版本规定,标识符以字母或下划线开头,后跟字母、数字或下划线 的任意组合,有效字符 16 个,标识符不能是保留字,标识符应先声明后使用, 同一声明语句中标识符必须有一个。若应用等价类测试方法,设计如下等价类表, 请填写完整。 答:
输入条件 | 有效等价类 | 无效等价类 |
|---|---|---|
标识符开头 | ⑴以字母开头 ⑵以下划线开头 | ⑶以非字母非下划线开头 |
标识符组成 | ⑷由字母、数字、下划线组成 | ⑸由非字母非数字非下划线组成 ⑹是保留字 |
标识符长度 | ⑺长度1-16 | ⑻长度大于16 ⑼长度小于1 |
标识符使用方式 | ⑽先声明后使用 | ⑾先使用后声明 |
标识符个数 | ⑿至少 1 个 | ⒀小于 1 个 |
id | 输入 | 预期 | 覆盖 |
|---|---|---|---|
1 | int num;num=6; | 有效 | ⑴ ⑷ ⑺ ⑽ ⑿ |
2 | int _num; | 有效 | ⑵ |
3 | int 1num; | 无效 | ⑶ |
4 | int num@; | 无效 | ⑸ |
5 | int for; | 无效 | ⑹ |
6 | num=1;int num; | 无效 | ⑾ |
7 | int ; | 无效 | ⑼ ⒀ |
8 | int aaaaaaaaaaaaaaaaa; | 无效 | ⑻ |
只要一个点覆盖了后面就不用了再写这个点了;一个测试用例尽可能多的覆盖有效等价类;一个测试用例只覆盖一个无效等价类。
例题: 给定三角形问题的程序代码,
int a,b,c
input(a,b,c)
if (a<(b+c)) and (b<(a+c)) and (c<(a+b))
if (a==b) and (b= = c)
outpur (“等边三角形”)
else if (a= =b) or (b= =c) or (a= = c)
output (“等腰三角形”)
else output (“一般三角形”)
else
output (“不构成三角形”)答: (1)见下面白盒测试的路径覆盖。


(3)
方法 | M | N | S | C | R | NR |
|---|---|---|---|---|---|---|
一般值 | 13 | 3 | 4 | 0.75 | 3.25 | 4.3 |
S是本来输出的结果数(等边,等腰,一般,不构成) N是测出来的(等边,等腰,一般)
也叫判定表,注意能简化(-)就需要简化。
例题: 某保险公司提供车险服务,申请者 21 岁以下需要额外收费; 21-26 岁女性适用 A 类保险;26 岁以下已婚男性或26 岁以上男性适用 B 类保险;21 岁以下女性或 26 岁以下单身男性适用 C 类保险;其他情况适用 A 类保险,请用决策表设计测试方案。 答: 条件取值表:
条件名 | 取值 | 符号 |
|---|---|---|
年龄 | 年龄21岁以下 | A1 |
年龄21-26 | A2 | |
年龄26以上 | A3 | |
性别 | 男 | Y |
女 | N | |
婚姻 | 已婚 | Y |
单身 | N |
决策表:
年龄 | A1 | A1 | A1 | A1 | A2 | A2 | A2 | A2 | A3 | A3 | A3 | A3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
性别 | N | N | Y | Y | N | N | Y | Y | N | N | Y | Y |
婚姻 | N | Y | N | Y | N | Y | N | Y | N | Y | N | Y |
额外收费 | √ | √ | √ | √ | ||||||||
A类保险 | √ | √ | √ | √ | ||||||||
B类保险 | √ | √ | √ | √ | ||||||||
C类保险 | √ | √ | √ | √ |
合并后:
年龄 | A1 | A1 | A1 | A2 | A2 | A2 | A3 | A3 |
|---|---|---|---|---|---|---|---|---|
性别 | N | Y | Y | N | Y | Y | N | Y |
婚姻 | - | N | Y | - | N | Y | - | - |
额外收费 | √ | √ | √ | |||||
A类保险 | √ | √ | ||||||
B类保险 | √ | √ | √ | |||||
C类保险 | √ | √ | √ |
正交表L9(34):9次试验9行、4个因素、3个水平 极差R=最大K-最小K 主次顺序:极差R从大到小排序 优水平:最小K 优组合:大于4.54考虑水平和因素的选择是否正确
(
插播反爬信息)博主CSDN地址:https://wzlodq.blog.csdn.net/
例题: 在某B/S应用系统测试中,研究系统的响应时间,采用正交试验方法设计测试用例,影响因素即水平主要包括:并发用户数(50,100,500)、网络带宽(1,10,100)MB、服务器CPU速度(2、2.6、3.0)GHz和内存大小(1、2、4)GB。采用正交表L9(34),在下表中,确定各试验的因素水平,使用极差分析法,确定各因素的主次顺序、优水平和优组合。 答:
试验号 | 并发用户数A | 网络带宽B | CPU速度C | 内存D | 响应时间(ms) |
|---|---|---|---|---|---|
1 | ①50 | ①1 | ①2 | ①1 | 5 |
2 | ①50 | ②10 | ②2.6 | ②2 | 6 |
3 | ①50 | ③100 | ③3.0 | ③4 | 4 |
4 | ②100 | ①1 | ②2.6 | ③4 | 6 |
5 | ②100 | ②10 | ③3.0 | ①1 | 5 |
6 | ②100 | ③100 | ①2 | ②2 | 3 |
7 | ③500 | ①1 | ③3.0 | ②2 | 8 |
8 | ③500 | ②10 | ①2 | ③4 | 6 |
9 | ③500 | ③100 | ②2.6 | ①1 | 5 |
K1j | 15 | 19 | 14 | 15 | |
K2j | 14 | 17 | 17 | 17 | |
K3j | 19 | 12 | 17 | 16 | |
K1j/3 | 5 | 6.33 | 4.67 | 5 | |
K2j/3 | 4.67 | 5.67 | 5.67 | 5.67 | |
K3j/3 | 6.33 | 4 | 5.67 | 5.33 | |
极差R | 1.66 | 2.33 | 1 | 0.67 | |
主次顺序 | BACD | ||||
优水平 | A2 | B3 | C1 | D1 | |
优组合 | A2 B3 C1 D1 |
如K11=第一列①所在指标和=5+6+4=15,K32=第二列③指标和=4+3+5=12。 如R1=最大-最小=K3j/3-K2j/3=6.33-4.67=1.66。
例题: 超短波跳频分组无线网络由超短波调频电台构成,采用分组的方式实现电台之间的信息传输,各电台之间可以互为中继,其测试软件界面如图。研究传输时间的影响因素,主要由电台个数、报文间隔、报文长度。采用正交表L9(34),方差法分析各因素影响。

答:
试验号 | A | B | C | 空列 | s |
|---|---|---|---|---|---|
1 | ① | ① | ① | ① | 9 |
2 | ① | ② | ② | ② | 7 |
3 | ① | ③ | ③ | ③ | 4 |
4 | ② | ① | ② | ③ | 23 |
5 | ② | ② | ③ | ① | 22 |
6 | ② | ③ | ① | ② | 10 |
7 | ③ | ① | ③ | ② | 34 |
8 | ③ | ② | ① | ③ | 28 |
9 | ③ | ③ | ② | ① | 14 |
K1 | 20 | 66 | 47 | 45 | |
K2 | 55 | 57 | 44 | 51 | T=151 |
K3 | 76 | 28 | 60 | 55 | |
K12 | 400 | 4356 | 2209 | 2025 | |
K22 | 3025 | 3249 | 1936 | 2601 | |
K32 | 5776 | 784 | 3600 | 3025 |
T=45+51+55=151 CT=T*T/9=2533.4
SSA=(400+3025+5776)/3-CT=533.6 SSB=(4356+3249+784)/3-CT=262.93 SSC=(2209+1936+3600)/3-CT=48.27 SS空列(误差)=(2025+2601+3025)/3-CT=16.9 SS误差Δ=SS误差+SSC=16.9+48.27=65.17(因为SSC比SSA和SSB小太多)
Va=SSA/2=266.8 Vb=SSB/2=131.47 Vc=SSC/2=24.135 V误差=SS误差/2=8.45 V误差Δ=SS误差Δ/4=16.29
FA=Va/V误差Δ=266.8/16.29=16.38 FB=Vb/V误差Δ=131.47/16.29=8.07 FC=Vc/V误差Δ=24.135/16.29=1.48
注: F0.05(2,4)=6.94, F0.01(2,4)=18.00, F0.05(2,3)=9.55, F0.01(2,3)=30.82, F0.05(1,3)=10.15, F0.01(1,3)=34.12

例题: 为下列代码段,设计测试用例,满足语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。注意测试用例三要素。
if(x>0) and (y>10)
y=y/x 3
else if(x<-10) or (y<0)
y=-(x+y)
other statement答: 语句覆盖
id | 输入x/y | 预计输出x/y | 覆盖 |
|---|---|---|---|
1 | 1/11 | 1/11 | 1 2 |
2 | -11/0 | -11/11 | 3 4 |
判定覆盖
id | 输入x/y | 预计输出x/y | 覆盖 |
|---|---|---|---|
1 | 1/11 | 1/11 | 1 2 |
2 | -11/0 | -11/11 | 3 4 |
条件覆盖
id | 输入x/y | 预计输出x/y | 覆盖 |
|---|---|---|---|
1 | -15/-5 | -15/3 | F1 F2 T3 T4 |
2 | 1/11 | 1/-12 | T1 T2 F3 F4 |
判定条件覆盖
id | 输入x/y | 预计输出x/y | 覆盖 |
|---|---|---|---|
1 | -15/-5 | -15/3 | F1 F2 T3 T4 else if |
2 | 1/11 | 1/-12 | T1 T2 F3 F4 if |
条件组合覆盖
id | 输入x/y | 预计输出x/y | 覆盖 |
|---|---|---|---|
1 | -15/-5 | -15/3 | F1 F2 T3 T4 |
2 | 1/11 | 1/-12 | T1 T2 F3 F4 |
3 | -11/11 | -11/0 | F1 T2 T3 F4 |
4 | 11/-1 | 12/-11 | T1 F2 F3 T4 |
路径覆盖 对于不可测的路径直接写不可测即可。
id | 输入x/y | 预计输出x/y | 覆盖 |
|---|---|---|---|
1 | 1/11 | 1/12 | 1-2-5 |
2 | -15/-5 | -15/3 | 1-3-4-5 |
3 | -1/9 | -11/0 | 1-3-5 |

答: 自顶向下6:从单元1开始测试,需要桩模块2、3、4;在测试2的时候,需要5,6;到测试4的时候需要7,一共6个。 自底向上3:5、6集成需要2;7集成需要4;2、3、4集成需要1,一共需要3个。

例题: 将Unicode码0X4A、0xB8转换为UTF-8码。 答: 0X前缀表示十六进制,4A处于0-7F,故UTF-8码是0X4A; B8处于0080-07FF,B8二进制为1011 1000,把它从后向前填入X(110XXXXX 10XXXXXX)剩余补0得1100001010111000,再转十六进制得UTF-8码0XC2B8。
例题: 设有5个不可修复产品进行寿命试验,它们发生失效的时间分别是1000h、1500h、2000h、2200h、2300h,问该产品的MTTF的观测值?若已知该产品服从指数分布,则其故障率是多少?在平均寿命内的可靠度是多少? 答: MTTF=1800h;\lambda (t)=0.00056h;R(t)=e-1

基于缺陷分析的产品质量评估
例题: 假设有200个功能点,在开发种发现了15个错误,提交后又发现了6个错误,应用基于缺陷清除率的估算方法,计算软件质量(每功能点的缺陷数),缺陷注入率,整体缺陷清除率。 答: F=200,D1=15,D2=6,D=21 质量=6/200 缺陷注入率=21/200 整体缺陷清除率=15/21

例题: 已知产品故障服从指数分布如图: 则产品在2000h时的可靠度()?

A. e-1 B. e-10 C. e-2 D. e-20 答: B(e-0.005*2000=e-10)
最后致谢ZDZ大佬