软件测试试卷-答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意:要求将以下各题答案写在答题纸上
一、填空题(每题3分,共15分)
1、软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个
(自底向上或相反顺序)集成的过程。
2、静态测试指被测程序不在机器上运行,而是采用(计算机辅助静态
分析)和(人工检测)的手段对程序进行测试。
3、在代码编写完成后的单元测试工作主要分为两个步骤(人工静态检
查)和(动态执行跟踪)。
4、因果图能有效地检测输入条件的(各种组合)可能会引
起的错误。因果图的基本原理是通过画(因果图),把用自然语言描述的功能说明转换为(判定表),最后为(判定表的每一列)设计一个测试用例。
5、单元测试针对每个程序的模块,主要解决(模块接口)
(局部数据结构)(边界条件)(独立的路径)(错误处理)5个方面的测试问题。
二、简述以下各题(每题10分,共30分)
1、简述静态测试和动态测试的区别?
软件测试可分为静态测试(Static Testing)和动态测试(Dynamic Testing)。顾名思义,静态测试就是通过对被测程序的静态审查,发现代码中潜在的错误。它一般用人工方式脱机完成,故亦称人工测试或代码评审(Code Review);也可借助于静态分析器在机器上以自动方式进行检查,但不要求程序本身在机器上运行。按照评审的不同组织形式,代码评审又可分为代码会审,走查以及办公桌检查,同行评分4种。对某个具体的程序,通常只使用一种评审方式。
动态测试是通常意义上的测试,即使用和运行被测软件。动态测试的对象必须是能够由计算机真正运行的被测试的程序,它包含黑盒测试和白盒测试,
2、传统方法学中软件生命周期各阶段是如何划分的?(用图形表示)
并简述各阶段主要任务。
软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。
. 软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析2.
开发时期:总体设计、详细设计、编码和单元测试、综合测试。3维护时期:主要任务是使软件持久地满足用户的需要生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也成为
过程模型
3、软件测试的目标是什么?
从用户的角度出发,普遍希望通过软件测试暴露出软件中陷藏的错误
和缺陷,以考虑是否可以接受该产品。而从软件开发者的角度出发,
则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正
确地实现了用户的要求,确立用户对软件质量的信心。
三、综合应用题(共55分)
1、针对以下问题:某一种8位计算机,其十六进制常数的定义是以0x或
0X开头的十六进制整数,其取值范围为-7f~7f(不区分大小写字母),如0x13、0x6A、-0x3c。请采用等价类划分的方法设计测试用例。(13分)8位= 1111 1111 最大
1*2^7+1*1*2^6 1*2^5 ...+1*2^0 = FF
用例1:0x7F,覆盖等价类(1)(4)(6)(8)
用例2:-0Xb,覆盖等价类(1)(4)(6)(8)
用例3:0X0,覆盖等价类(1)(4)(6)(8)
用例4:0x,覆盖等价类(1)(7)
用例5:A7,覆盖等价类(2)
用例6:-1A,覆盖等价类(3)
用例7:0X8h,覆盖等价类(1)(5)
用例8:0x80,覆盖等价类(1)(4)(10)
用例9:-0XaB,覆盖等价类(1)(4)(9)
2、已知有如下程序段:(共15分)
begin
p1;
if c1
then while c2 do p2
else p3;
while c3 do
begin p4;
if c4
then p5
else p6;
end;
p7;
if c5
then repeat p8 until c6
else p9;
end
(1)请用程序流程图描述;(7分)
(2)请用N—S图图描述;(8分)
3、使用基本路径测试方法,设计测试下面列出的伪码程序的测试用例(12分)Start
1input(a,b,c,d)
2 if(a>0)
3 and (b>0)
4 then x=a+b
5 else x=a-b
6 end
7 if(c>a)
8 or(d
9 then y=c-d
10 else y=c+d
11 end
12 print(x,y)
Stop
解:
确定线性独立路径的基本集合
由于它的环形复杂度为5,因为共有5条独立路径。分别取为:
路径1:1-2-3-4-6-7-9-11-12
路径2:1-2-5-6-7-9-11-12
路径3:1-2-3-5-6-7-9-11-12
路径4:1-2-3-4-6-7-8-9-11-12
路径5:1-2-3-4-6-7-8-10-11-12
①执行路径1:1-2-3-4-6-7-9-11-12(两个判定表达式全为真)
输入:A=1,B=1,C=2,D=2(任意)
预期的输出:X=2,Y=0
②执行路径2:1-2-5-6-7-9-11-12(第一判定表达式为假,第二个判定式为真)
输入:A=0,B=1(任意),C=2,D=0(任意)
预期的输出:X=-1,Y=2
③执行路径3:1-2-3-5-6-7-9-11-12(第一判定表达式为假,第二个判定式为
真)
输入:A=1,B=0,C=2,D=0(任意)