软件测试试卷(有答案) 下载本文

②可以设计测试用例如下:

输入: strOri=\输出: buf={\输入: strOri=\输出: buf={\输入: strOri=\输出buf={\输入: strOri=\输出buf={}

测试用例1将发现第5行的代码i+1=3, 越界. 因此正确的代码是buf[i]=mid(strOri,(i)*sublen,len%sublen);.

测试用例2要求代码行3-4应该要循环两次, 但实际上只循环了一次. 正确的应该是: for (i=0;i

测试用例4的输出为buf={\与预期输出不一致. 正确的代码是: if (len%sublen!=0){

buf[i+1]=mid(strOri,(i+1)*sublen,len%sublen); }

3.解答:

原因: 1——第一个字符是“M” 2——第一个字符是“N” 3——第二个字符是一个数字 结果: 70——进行更新 71——产生信息“第一列字符输入不是M或N” 72——产生信息“第二列字符输入不是数字“

4.解答:

模拟试题2

一、选择题(每题2分,共30分)

1. 对下面的个人所得税程序中满足判定覆盖测试用例的是( )

If(income < 800)

taxrate = 0;

else if(income <= 1500)

taxrate = 0.05; else if(income < 2000)

taxrate = 0.08; else taxrate = 0.1;

A.income = (799,1500,2000,2001) B.income = (799,1500,1999,2001) C.income = (800,1500,2000,2001) D.income = (800,1499,2000,2001)

2.在下面几个语句中,判断哪一个是正确的

A) 过度测试会影响进度和增加成本 B)测试设计工作与软件开发活动是相互独立、相互无关的

C)测试是为了发现程序的错误 D)测试在一定的条件下应该适可而止 3. 软件测试的目的是()

A. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 B. 发现软件开发中出现的错误

C. 证明软件没有错误 D. 修改软件中出现的错误 4. 下面那个类型的测试不是针对软件产品的一个质量特性的

A)功能测试 B)性能测试 C)用户满意度测试 D) 回归测试 E) 易用性测试

5. 在实际的软件项目中工作中,测试人员运行测试案例,观察运行结果,当发现软件缺陷时提交软件缺陷报告。那么,测试人员判定一个运行结果中存在缺陷的准则是什么? A) 这个运行结果与测试案例中的预期结果不一致 B)测试人员可以从中找到缺陷的证据 C) 这个运行结果与测试人员的预期不一致 D)开发人员承认这个运行结果中存在缺陷 6.下面描述中较为准确的是:

A) 测试设计工作和软件开发活动是紧密相关的 B) 软件测试的目的是尽可能多的找出软件的缺陷

C) 单元测试能发现约10%的软件缺陷 D) 软件生存周期是从软件开始编码到开发结束的整个时期

7. 某次程序调试没有出现预计的结果,下列( )不可能是导致出错的原因。

A.变量没有初始化 B.编写的语句书写格式不规范 C.循环控制出错 D.代码输入有误

8.功能分析法是一种黑盒方法。其思想是:首先,分析系统的行为或具有的功能,将系统功能分解为一组功能点的集合。然后,针对每一个功能点,考察这个功能点的输入和输出,设计一个或一组测试案例,这些测试案例足以确认系统实现了这项功能;并针对受这项功能影响的系统的其他部分,补充进行一些测试。功能分析法的主要局限性是什么?

A) 在需求规格说明书不清楚或不完整时不能采用它 B)不使用要测试的功能的不同输入值 C) 不能保证覆盖系统的各项功能 D)不一定保证语句覆盖,即可能有未测试的代码 9. 假设规定某字段必须是以字母开头的、不超过8个字符的字母数字串,那么下面那一组值均属于用户名的有效等价类?

A) L, zhangsan, A1111111, glenford1 B) a111,L1, Lin-Yie, Lin-feng C) zhangsan, A1111111, glendord, 123B123 D) zhangsan, A1111111, glenford, Myers

10. 在重庆理工大学的某系统软件中,系统允许用户输入人员的身份证号和进入本单位工作的日期。那么,下面哪一组是无效的输入值组合?

A)110108196111111321,1981.10.10 B)110108198111111322,1981.10.10 C)110108196810121323,2000.10.10 D)110108581012132,2000.10.10 11.下面哪一个不是黑盒测试方法?

A)边界值分析 B)因果图 C)基本路径测试 D)状态测试方法 12. 请阅读下面这段程序: int func2(int a,b,c) {

int k=1;

if ((a>0)||(b<0)||(a+c>0)) k=k+a; else k=k+b; if (c>0) k=k+c; return k; }

现在需要使用逻辑覆盖法测试上面的函数,请问使用下面哪一组关于(a, b, c)的输入值,组合就可以达到条件覆盖。

A)(a, b, c)= (1, 1, 1)、(-1,1,1) B)(a, b, c)=(1,1,1)、(-1,-1,-1) C)(a, b, c)=(1,1,-1)、(-1,-1,-1) D)(a, b, c)=(1,1,-1)、(-1,1,1) 13. 等价类划分和边界值分析是最常用的两种黑盒方法。采用这两种方法设计测试案例,可以很大幅度的减少测试案例的数量。那么,这两种方法有什么局限性? A)在设计一组测试案例是不能把这两种方法结合在一起同时使用 B)不同输入变量之间可能存在约束关系,它们不能处理这类约束关系

C)不能用于大型信息系统的测试案例的设计 D)不能用于单元测试和集成测试 14.在系统测试阶段,测试人员发现并报告了某个功能的一个缺陷。后来开发人员修复了这个缺陷,向测试方提交了修改后的新版本。在安装了这个新版本之后,测试人员运行了一遍这个功能的全部测试案例,发现报告的缺陷确实已经修复了,并且没有发现新的缺陷。那么,测试人员所作的回归测试已经足够了吗?为什么?下面的几个答案中哪一个是最好的? A) 不够。应该运行一遍受这个功能影响的其他功能的全部测试案例 B) 不够。应该再运行一遍这个功能的全部测试案例

C) 是的。因为报告的缺陷确实已经修复,并且没有发现新的缺陷,所以没有必要补充其他的测试

D) 足够了。只需要运行发现此缺陷所用的测试案例

15. What is NOT an important test case for effectively testing software security? A) Operation system security B) User permissions C)Login procedures D) Firewall integrity

二、简答题(每题5分,共30分)

1. V模型的特点。

2. 什么是桩模块,什么是驱动模块?为下面的函数构造一个驱动模块。

int divide(int a, int b) {

if (b==0) {printf(\除数不能为0\ int c=a/b; return c; }

3. 名词解释:负载测试、压力测试、性能测试。

4. 简述什么是非增量式集成测试和增量式集成测试,并作出比较。

5. 分别解释什么是静态测试、动态测试、黑盒测试、白盒测试、人工测试和自动

化测试。。

6. 请说明QTP 、WinRunner、以及LoadRunner分别是什么类型的软件?

三、应用分析题(每题10分,共40分)

1. 如果函数F实现了一个程序,要输入两个整型变量x1 和 x2,100≤ x1≤ 200,

300 ≤ x2≤ 400,写出等价类划分和边界值分析的测试用例(只考虑有效值的情况,只考虑单缺陷假设)。

2. 某航空公司规定,乘客可以免费托运不超过20公斤的行李。当行李重量超过20

公斤时,对头等舱的乘客超重部分每公斤收费4元,其它舱的乘客收费6元。对残疾乘客超重部分在舱位等次相同的情况下收费减半。用判定表描述行李托运费的处理过程并写出相应的测试用例

4. 阅读下面某程序的流程图,按下列要求a)-d)写出“尽量少足够多”的测试用例,

并指明该用例经过的路径;回答e)问题

a) 满足语句覆盖 b) 满足判定(分支)覆盖 c) 满足条件覆盖 d) 满足条件组合覆盖

e) 判定覆盖和条件覆盖是否可以互相覆盖,试举例说明

模拟试题2参考答案

一、选择题(每题2分,共30分)