计算机四级软件测试工程师真题2012年3月

时间:2019-05-14 11:02:00下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《计算机四级软件测试工程师真题2012年3月》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《计算机四级软件测试工程师真题2012年3月》。

第一篇:计算机四级软件测试工程师真题2012年3月

计算机四级软件测试工程师真题2012年3月

一、选择题

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

1、以下叙述中不属于软件产品质量要求的是 A)应满足客户的功能需求和性能要求

B)应具备一定的可扩展性和灵活性,以适应需求的变化 C)应能够有效地处理例外或异常情况 D)应保证数据库的完整性和安全性

2、以下有关软件缺陷产生的原因中属于软件技术问题的是 A)系统需求分析时对客户的需求理解不清楚 B)文档错误、内容不正确或拼写错误 C)系统结构不合理、算法不正确

D)不同阶段的开发人员对需求的理解不一致

3、在软件测试的生命周期模型中建立测试脚本任务的阶段应是 A)制定测试计划 B)测试设计 C)实施测试 D)评估测试

4、软件设计一般包括外部设计和内部设计。外部设计通常是指 A)用户界面设计 B)结构设计 C)数据设计 D)逻辑设计

5、在做静态错误分析时进行浮点数计算误差的检查应属于 A)类型和单位分析 B)表达式分析 C)引用分析 D)接口分析

6、如果一个小程序中有一个由8个两分支判断组成的连锁分支结构,如图

采用正交实验设计法可导出的最少测试路径数为 A)28 B)16 C)9 D)8

7、如果执行下面的C程序,并做了成功的存储分配: char * pBuf=NULL;

pBuf=(char*)malloc(100); if(pBuf==NULL){ printf(“Not Enough Memoryn”); return 1; } 则此段程序测试的指令块(即顺序执行的一段指令)覆盖率是 A)100% B)60% C)50%D)40%

8、在执行单元测试时最有用的测试方法是 A)基本路径覆盖 B)事件序列走查 C)事件响应驱动 D)判定表

9、MM—路径集成是一种基于消息的路径集成方法,其中MM—路径是指 A)对应调用图的每一个边建立并执行的一个集成测试会话序列 B)针对模块的每一个程序剖面执行的语句序列 C)按照广度优先策略逐层集成与测试的序列

D)穿插出现在各模块中执行的方法和消息的序列

10、以下不属于黑盒测试用例设计的方法是 A)基于用例和场景导出测试用例 B)基于有限状态机导出测试用例 C)基于状态的事件表导出测试用例 D)基于数据流和控制流导出测试用例

11、以下哪一项不是软件性能测试关注的主要内容

A)检测软件的最大负载 B)检测软件的响应时间

C)检测软件的并发进程数 D)揭示软件在压力下出现的错误

12、以下关于软件性能测试的说法中,正确的是

A)软件性能测试的主要目的是检验软件是否能充分发挥硬件的潜能 B)软件性能测试通常采用数据流测试技术生成测试用例 C)软件性能测试实际上是一种软件可靠性测试

D)软件性能测试的实施通常需要依赖性能测试辅助软件

13、以下关于软件测试的说法中,正确的是

A)通过软件可靠性测试是软件交付使用的必要条件

B)软件可靠性测试的主要目的是度量软件在实际使用中的可靠性 C)软件可靠性测试通常针对软件中的每个单元进行 D)软件可靠性测试是发现软件安全性问题的主要手段

14、以下关于软件可靠性测试的说法中,错误的是

A)软件可靠性测试能有效地减少软件在恶意使用下出现崩溃的次数 B)定义软件运行剖面是软件可靠性测试的重要步骤 C)软件可靠性测试通常需要基于软件可靠性预测模型 D)软件可靠性测试不能沿用硬件可靠性测试的方法

15、以下关于面向对象程序测试的说法中,正确的是

A)面向对象程序与传统程序的黑盒测试方法完全相同 B)面向对象程序与传统程序的白盒测试方法有明显区别

C)单个类树的测试不属于面向对象程序单元测试关注的范畴 D)对一个类的每个成员方法都进行充分的测试就完成了对该类充分的测试

16、以下关于面向对象程序测试的说法中,错误的是

A)方法名的重载是面向对象软件测试区别于传统程序测试的一个根本因素 B)展平测试是测试一棵继承树叶结点类的一种策略

C)基于判定表的测试可以用于面向对象程序的单元测试 D)等价类划分测试能用于方法层次的测试

17、以下关于面向对象软件测试的说法中,错误的是 A)测试动态绑定是类树测试的一个重要目标

B)面向对象软件协作集成测试是指对一个类的多个实例间协作进行的测试 C)面向对象软件的自底向上集成测试需要为集成测试开发相应代码 D)面向对象软件的单元测试需要考虑对一个类中单个方法的测试

18、以下关于Web应用软件测试的说法中,正确的是 A)Web应用软件测试通常不用考虑安全性测试 B)与传统软件相比,Web应用软件测试更简单

C)表单测试是Web应用软件功能测试的一项重要内容

D)测试是否存在无效链接是Web应用软件安全性测试一项重要内容

19、以下哪一项是软件易用性测试关注的内容

A)杀毒软件在清除病毒时是否会破坏办公软件的文档 B)软件提供的功能是否丰富

C)软件是否支持用户根据自己的需要进行定制 D)软件是否能在多种操作系统下运行

20、以下关于软件兼容性测试的说法中,正确的是 A)软件兼容性测试不关注软件与硬件间的兼容性 B)等价类划分测试是软件兼容性测试的主要手段 C)极限测试是一种软件兼容性测试

D)排版软件是否可以打开该软件以前版本保存的文件属于软件兼容性测试关注的范畴

21、以下有关测试用例设计与开发的说法中,错误的是 A)白盒测试的测试用例设计不必考虑软件功能

B)软件测试用例设计要关注测试用例设计的测试需求覆盖率 C)自动化测试的测试脚本开发属于测试用例设计工作的一部分 D)测试用例设计的主要依据是测试计划中的测试需求定义

22、以下有关测试环境的说法中,错误的是

A)在实际的软件测试中,软件测试环境可分为主测试环境和辅测试环境 B)软件测试只能在软件真实运行环境下开展

C)在测试环境准备中,无法获取真实数据时,可使用仿真数据 D)测试工具的准备是属于测试环境准备的一项工作

23、以下有关测试自动化的说法中,错误的是

A)在自动化测试基本结构中,数据库服务器用于存储测试用例和测试结果 B)自动化测试过程中,除选择测试用例和分析失败原因外,其他过程都是自动化开展的

C)结构化脚本的优点是健壮性更好,可以对一些容易导致测试失败的特殊情况进行处理

D)共享脚本的维护开销高于线性脚本

24、下列有关软件集成测试的说法中,错误的是

A)软件集成测试一般由软件供方组织并实施,测试人员与开发人员应相对独立

B)软件集成测试可委托第三方进行

C)软件集成测试的技术依据是软件需求文档

D)进入集成测试要求待集成的软件单元已通过单元测试

25、下列有关软件回归测试的说法中,错误的是

A)回归测试的对象包括:在软件单元测试、集成测试、软件配置项测试和系统测试中未通过的软件

B)回归测试首先应对原来未变更的软件单元进行测试,然后再对变更的软件单元进行测试

C)回归测试的内容包括原软件测试做过的测试内容、修改原软件测试做过的测试内容以及在此基础上新增的测试内容

D)回归测试可根据被测软件的具体情况对软件的测试内容进行剪裁

二、论述题

一个简化的高铁售票系统的规格说明如下:

●乘客未使用系统前系统处于“等待”状态,屏幕显示沿线各车站的站名。

●乘客选择了到达站并按下[购票]键之后,系统进入“待付款”状态,屏幕显示票价,等待乘客付款。

●如果乘客在限时之内付款,系统进入“出票”状态,打印并吐出相应车票,同时找回余额,然后系统重置回到“等待”状态。

●如果乘客在限时之内未付款之前按下[取消]键取消购票,系统进入“等待”状态。

●如果乘客在限时之内没有付款,系统进入“超时”状态,显示“超时”“取消购票”等信息,然后系统重置回到“等待”状态。

●如果乘客在拿到车票后要求退票,在“等待”状态下按下[退票]键,系统进入“查证”状态。

●如果查证成功,系统进入“退票”状态。回收车票,退回票款,然后系统重置回到“等待”状态;如果查证不成功,系统进入“警告”状态,屏幕显示“车票无效”信息,然后系统重置回到“等待”状态。

1、请根据上述规格说明,画出相应的状态转换图。

2、计算该状态转换图的圈复杂度并给出基本测试路径。

2、下表是某一个软件问题的操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义,填写表中空缺的10项操作历史信息。

操作序号 操作者 执行操作 操作后的问题状态 测试版本 1 赵艳菲 新建 新建 测试版本1 2 李 鑫

打开/再现 测试版本1 3 陈 鹏

待验/修复 验证/不同意

测试版本2 5 修复/修复 待验/修复李 鑫 验证/同意 解决/修复 测试版本3 7 李 鑫 回归测试

李 鑫

解决/通过回归测试 测试版本4

已知检查括号匹配及注释、字符串处理的C源程序如下: #include<stdio.h>

int brace,brack,paren;

void in_quote(int c); void in_comment(void); void search(int c);

/*rudimentary syntax checKer for C program*/ int main(){ int c;

extern int brace,brack,paren; while((c=getchar())!=EOF){ if(c=='/'){ if((c=getchar())=='*')in_comment(); /*inside comment*/ else search(C); }else if(c=='“||c==”“)in_quote(c); /*inside quote*/ else search(c);

if(brace<0){ /*output errors*/ printf(”Unbalanced bracesn“); brace=0; }else if(brack<0){ printf(”Unbalanced bracketsn“); brack=0; }else if(paren<0){ printf(”Unbalanced parenthesesn“); paren=0; } } if(brace>0)/*output errors*/ printf(”Unbalanced bracesn“); if(brack>0)printf(”Unbalanced bracketsn“); if(paren>0)printf(”Unbalanced parenthesesn“); return 0; } /*search:search for rudimentary syntax errors*/ void search(int c){ extern int brace,brack,paren; if(c=='{')++brace; else if(c=='}')--brace; else if(c=='[')++brack; else if(c==']')--brack; else if(c=='(')++paren; else if(c==')')--paren; } /*in_comment:inside of a valid comment*/ void in_comment(void){ int c,d; c=getchar();

d=getchar(); /*curr character*/ while(c!='*'||d!='/'){ /*search for end*/ c=d;

d=getchar(); } } /*in_quote:inside quote*/ void in_quote(int c){ int d;

while((d=getchar())!=c)/*search end quote*/ if(d=='')getchar(); /*ignore escape seq*/ }

4、画出程序中main函数的控制流程图;

5、设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。

答案:

一、选择题

1、D [解析] 软件产品质量要求包括:①满足客户的功能需求;②具备一定的可扩展性和灵活性,以适应一定程度的需求变化;③能够有效地处理例外或异常情况。

2、C [解析] 软件缺陷产生的原因中,软件技术问题包括:①算法错误;②语法错误;③计算和精度问题;④系统结构不合理、算法选择不科学,造成系统性能低下;⑤接口参数传递不匹配,导致模块集成出现问题。

3、C [解析] 在软件测试的生存周期模型中,建立测试脚本的阶段是实施测试阶段。

4、A [解析] 外部设计主要是设计用户界面。在设计前对任务和用户进行分析。

5、B [解析] 对浮点数计算的误差进行检查是最复杂的一类表达式分析。

6、C [解析] 一般地,在串联型分支结构的情形中,若有n个判定,利用正交实验设计法,测试路径数目可以从2n条减少到n+1~2n。

7、C [解析] 指令块是函数内部的一组语句,在这组语句中不存在(会引起分支的)控制语句。IB覆盖率=被执行到的指令块数量/程序中指令块总数×100%。

8、A [解析] 大部分情况下单元测试会选择白盒测试。故选择A选项基本路径覆盖。

9、D [解析] MM—路径是指穿插出现在模块执行方法和消息的序列。

10、D [解析] 黑盒测试测试用例设计的方法有:基于判定表、基于因果图、基于状态图、基于场景、基于接口、基于故障、基于风险的测试。基于数据流和控制流的测试用例属于白盒测试。

11、C [解析] 响应时间属于软件的性能指标。压力测试和负载测试则属于软件性能测试的分类,故选项C项。

12、D [解析] 软件性能测试的目标是发现缺陷、性能调优、能力检验与规划。软件性能测试和可靠性测试是同一级别的测试。

13、A [解析] 可靠性测试的目的是通过受控的软件测试过程来预测软件在实际运行中的可靠性。故B错。可靠性测试是针对软件系统,故C错。安全性测试是发现软件安全性的主要手段,故D错。

14、A [解析] 软件可靠性测试是通过受控的软件测试过程来预测软件在实际运行中的可靠性,不能减少软件在恶意使刚下出现崩溃的次数,故A错。

15、B

16、B [解析] 展平测试是对子类的测试。

17、B

18、C [解析] Web应用软件在安全性方面也需要达到较高的要求,故A错。Web应用软件的测试难度较高,故B错。Web应用软件功能测试包括:链接测试、表单测试、Cookie测试,故C对。测试是否存在无效链接是Web表示层的测试,故D错。

19、C [解析] 易用性测试包括:易安装性测试、功能易用性测试、用户界面测试。选项C属于功能易用性测试,故选C。20、A [解析] 软件兼容性测试包括:与操作系统的兼容性,与数据库的兼容性,与浏览器的兼容性,与中间件的兼容性,与其他软件的兼容性,平台软件的兼容性,故A对。等价类划分测试属于面向对象软件的单元测试。极限测试不属于软件兼容性测试。排版软件是否可以打开该软件以前保存的文件属于数据兼容性测试关注的范畴。

21、D [解析] 白盒测试又称为逻辑驱动的测试,这种测试策略对程序的逻辑结构进行检查,从中获取测试数据,故A对。自动化测试的测试脚本开发属于自动化测试用例设计工作一部分,故C对。根据产品需求分析、系统设计等规格说明书,在测试的技术方案基础上设计具体的测试用例,故D错。测试用例是否完整、边界是否考虑,其覆盖率能达到多高,是软件测试设计要点的一部分,故B对。

22、B [解析] 由于各种资源的限制、软件测试只能在近似的模拟环境中进行。

23、D [解析] 自动化测试中,除了选择确认要执行的测试用例和分析失败原因外,其他过程都是可以自动开展的,故B对。结构化脚本的优点是健壮性更好,可以对一些容易导致测试失败的特殊情况进行处理,故C对。共享脚本的维护开销低于线性脚本,故D错。

24、A [解析] 集成测试一般是由项目负责人组织测试人员依据概要设计规格说明和集成测试计划进行的,故A错。

25、B [解析] 回归测试有两种:①一经发现并改正了程序中隐藏的缺陷,然后再重新执行以前发现这个缺陷的测试,看这个缺陷是否重现。②当对发现的缺陷进行修改之后,执行一系列基准测试,以确认程序的修改没有对程序的其他部分产生干扰。故B错。

二、论述题

1、S1:等待 S2:待付款 S3:查证 S4:警告 S5:超时 S6:出票

S7:退票

2、边数m=11,结点数n=7,因此圈复杂度V(G)=m-n+2=7 基本测试路径:

①S1→S2→S1

②S1→S2→S5→S

1③S1→S2→S6→S1

④S1→S3→S7→S1

⑤S1→S3→S4→S1

⑥S1→S2→S6→S1→S3→S7→S1

3、操作序号 操作者 执行操作 操作后的问题状态 测试版本 1 赵艳菲 新建 新建 测试版本1 2 李鑫 校验/再现 打开/再现 测试版本1 3 陈鹏 修复/修复 待验/修复 测试版本2 4 李鑫 验证/不同意 打开/再现 测试版本2 5 陈鹏 修复/修复 待验/修复 测试版本3 6 李鑫 验证/同意 解决/修复 测试版本3 7 李鑫 回归测试 待验/修复 测试版本4 8 李鑫 验证/同意 解决/通过回归测试 测试版本4 4、5、测试用例:

①依次输入:c==EOF ②依次输入:c=='/',c=='*',c=='*',d=='/' ③依次输入:c=='/',c=='*',c=='*',d=='{',d=='/' ④依次输入:c=='/',c=='*',c=='/',d=='/',d=='/' ⑤依次输入:c=='/',c=='/' ⑥依次输入:c=='/',c=='{' ⑦依次输入:c=='/',c=='}' ⑧依次输入:c=='/',c=='[' ⑨依次输入:c=='/',c==']' ⑩依次输入:c=='/',c=='('(11)依次输入:c=='/',c==')'(12)依次输入:c=='',d==''(13)依次输入:c=='',d=='*'(14)依次输入:c=='',d==''(15)依次输入:c==”“,d==''(16)依次输入:c==”“,d=='*'(17)依次输入:c==”",d==''(18)依次输入:c=='{'(19)依次输入:c=='}'(20)依次输入:c=='['(21)依次输入:c==']'(22)依次输入:c=='('(23)依次输入:c=='' 该程序的语句覆盖率和分支覆盖率无法达到100%。

因为该程序中有好几个判断语句,对于有的判断语句,若取真,则取假无法执行;若取假,则取真无法执行。所以,语句覆盖率和分支覆盖率无法达到100%。

第二篇:0809全国计算机等级考试四级软件测试工程师笔试真题客观题

2008年9月全国计算机等级考试四级软件测试工程师笔试真题

一、选择题

1.CMU SEI的Watts Humphrey指出软件产品必须首先提供用户所需要的(2分)A:性能

B:人机界面

C:可靠性

D:功能

2.Myers在1979年提出了一个重要观点,即软件测试的目的是为了(2分)A:证明程序正确

B:查找程序错误

C:改正程序错误

D:验证程序无错误

3.在代码检查的过程中发现大部分错误的人通常是(2分)A:程序员

B:测试员

C:审查者

D:架构师

4.以下哪一种选项不属于软件缺陷(2分)A:软件没有实现产品规格说明所要求的功能

B:软件中出现了产品规格说明指明不应该出现的错误 C:软件实现了产品规格说明没有提到的功能

D:软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题 5.软件生存周期过程中,修改错误代价最大的阶段是(2分)A:需求阶段B:设计阶段

C:编程阶段

D:发布运行阶段 6.以程序内部的逻辑结构为基础的测试用例设计技术属于(2分)A:灰盒测试

B:数据测试

C:黑盒测试

D:白盒测试

7.软件验证和确认理论是测试过程的理论依据,其中验证是检查我们是否正在正确地建造一个产品,它强调的是

A:过程的正确性

B:产品的正确性

C:测试的正确性

D:规格说明的正确性

8.下面是一个对整数数组A中的前n个元素求最小值的c程序,函数返回最小元素的位置。

int minValue(int A[],int n){ int k=0;

for(int j=1;j<=n-1;j++)if(A[j]

return k;

}

当n=4时,程序中可能的执行路径数为(2分)

A:2

B:4

C:8

D:16 9.单元测试时,调用被测模块的是(2分)A:桩模块

B:通信模块

C:驱动模块

D:代理模块

10.大突击测试把所有的模块一次性集成为一个完整的系统后进行测试,很容易(2分)A:通过测试

B:整体崩溃

C:快速查错

D:快速排错

11.以下关于软件性能的说法中,正确的是(2分)A:软件性能与该软件的实现算法无关

B:软件的吞吐量越大,其平均响应时间总是越短 C:给软件的可用资源越少,其平均响应时间越短

D:对于同一个网站,其支持的同时发送请求的用户数越大,该网站的性能越好 12.以下关于Web应用软件测试的说法中,错误的是(2分)A:数据完整性测试是Web应用软件数据层测试的一项重要内容 B:内容测试是Web应用软件易用性测试的一项重要内容 C:表单测试是Web应用软件功能测试的一项重要内容

D:客户端内容安全性的测试是Web应用软件安全性测试的一项重要内容 13.以下哪种软件测试属于软件性能测试的范畴(2分)A:接口测试

B:压力测试

C:单元测试

D:易用性测试 14.以下分析技术中,哪一种技术不属于基于性能计数器的分析技术(2分)

A:内存分析

B:处理器分析

C:通信中断分析

D:进程分析 15.以下哪一项不属于Web应用软件表示层测试关注的范畴(2分)A:排版结构的测试

B:链接结构的测试

C:浏览器脚本程序的测试

D:应用服务器兼容性测试 16.以下关于软件可靠性测试的说法中,正确的是(2分)A:定义软件运行剖面是软件可靠性测试的重要步骤 B:软件可靠性测试使用的测试用例应该满足分支覆盖 C:软件可靠性测试可以在单元测试中实施

D:软件可靠性预测模型的作用是指导软件可靠性测试中的测试用例生成 17.以下关于面向对象软件测试的说法中,正确的是(2分)A:面向对象软件的白盒测试不能不加改变地照搬传统软件的白盒测试准则

B:对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用 C:面向对象软件测试不考虑对一个类中的单个方法的测试 D:面向对象软件测试不必考虑对继承关系的测试 18.以下哪一项不属于兼容性测试关注的范畴(2分)A:服务器端是否同时支持浏览器和专用客户端的访问

B:软件是否同时支持数据库的不同版本 C:软件是否支持以前版本的数据格式

D:软件是否可以在不同的J2EE应用服务器上运行 19.以下哪一项属于功能易用性测试关注的范畴(2分)A:软件提供的功能是否丰富

B:当执行耗时较长的任务时,软件是否能定时向用户提示当前任务完成的进度 C:软件是否能够在多种操作系统环境下运行 D:软件是否能在不同的硬件配置下运行

20.以下关于面向对象程序集成测试的说法中,正确的是(2分)A:大突击集成是一种综合运用自底向上集成与自顶向下集成的集成测试策略 B:自底向上集成测试比自顶向下集成测试需要开发的代码更多

C:协作集成是指将可以协作完成特定系统功能的类集成在一起进行测试

D:与自底向上集成和自顶向下集成相比,基干集成是一种更充分的集成测试策略 21.测试过程的4项基本活动是测试策划、测试设计、测试总结和(2分)A:测试执行 B:测试报告

C:测试度量

D:测试需求 22.下列有关测试过程管理的基本原则,哪个是错误的(2分)A:测试过程管理应该首先建立测试计划

B:测试需求在测试过程中可以是模糊的、非完整的

C:在测试任务较多的情况下,应该建立测试任务的优先级来优化处理 D:整个测试过程应该具有良好的可测性和可跟踪性,强调以数据说话 23.下列哪个选项不属于测试计划要达到的目标(2分)A:为测试各项活动制定一个现实可行的、综合的计划,包括每项测试活动的对象、范围、方法、进度和预期结果 B:为项目实施建立一个组织模型,并定义测试项目中每个角色的责任和工作内容 C:为测试执行活动设计测试方案,编制测试用例

D:确定测试需要的时间和资源,以保证其可获得和有效性 24.软件测试管理包括测试过程管理、配置管理以及(2分)A:测试评审管理

B:测试用例管理

C:测试计划管理

D:测试实施管理 25.以下说法中错误的是(2分)A:软件配置项测试的目的是检验软件配置项与软件需求规格说明的一致性

B:软件配置项测试一般由软件供方组织,由独立于软件开发的人员实施,软件开发人员配合 C:软件配置项测试要求被测软件配置项已通过单元测试和集成测试 D:软件配置项测试不得委托第三方实施

答案:DBADD

DACCB DBBCD

AAABC

ABCAD

二、论述题(共3题,共50分)论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上。12edu.cn 1.一个系统的登录操作规格说明如下:

登录对话框有两个数据输入:用户名和密码。

登录操作对两个输入数据进行检查,要求用户名中只能包含字母和数字(字母不区分大小写),密码可以包含任何字符。用户名和密码都不能为空且长度不限。当用户名或密码为空时,则登录失败并提示对应的出错信息; 当用户名不正确或用户名不存在或密码错误时,则登录失败并提示以下三种相应的出错信息: 用户名不合法(即包含有非字母、非数字字符),或用户名不存在,或密码错误; 当用户名和密码都正确时,则显示登 录成功信息,完成登录。假设正确的用户名是abcd123,密码是123456 试用等价类方法为上述规格说明设计等价类表(10分)和测试用例(10分)。

2.针对以下C语言程序,请按要求回答问题。已知weekday.c源程序如下: #include #include /*主函数*/ int main(){ char letter;

printf(“please input the first letter,”Y“to exit!\n”);

while((letter=getch())!=Y)/*当输入字母为Y时结束*/ { switch(letter){ case S:

printf(“%c\n”,letter);

printf(“please input second letter\n”); //输入第二个字母

if((letter=getch())==a)printf(“Saturday\n”); else if(letter==u)printf(“sunday\n”);

else printf(“data error\n”); break; case F:

printf(“fridaykn”); break; caseM:

printf(“mondayha”); break; caseT:

printf(“%c\n”,letter);

printf(“please input second letter\a”); //输入第二个字母

if((letter=getch())==u)printf(“tuesday\n”); else if(letter==h)printf(“thursday\n”);

else printf(“data error\n”); break; case W:

printf(“wednesday\n”); break; default:

printf(“data error\n”);} } return 0; } 1.画出主函数main的控制流程图;(8分)2.设计一组测试用例,使main函数的语句覆盖率尽量达到100%;(11分)3.main函数的语句覆盖率能否达到100%?如果认为无法达到,需说明原因。(1分)

参考答案:1.#include #include /*主函数*/

int main(){ char letter;

printf(“please input the first letter,”Y“to exit!\n”)【1】;

while((letter=getch())!=Y)/*当输入字母为Y时结束*/【22】 { switch(letter){ case S:【2】

printf(“%c\n”,letter);

printf(“please input second letter\n”);【3】 //输入第二个字母

if((letter=getch())==a)【4】 printf(“Saturday\n”);【5】 else if(letter==u)【6】

printf(“sunday\n”);【7】

else printf(“data error\n”);【8】 break;

case F:【9】

printf(“fridaykn”);【10】 break;

caseM:【11】

printf(“mondayha”);【12】 break;

caseT:【13】

printf(“%c\n”,letter);

printf(“please input second letter\a”);【14】 //输入第二个字母

if((letter=getch())==u)【15】 printf(“tuesday\n”);【16】 else if(letter==h)【17】

printf(“thursday\n”);【18】 else printf(“data error\n”);【8】 break;

case W:【19】

printf(“wednesday\n”);【20】 break;

default:【21】

printf(“data error\n”);【8】 } } return 0;【22】 } 2.【path1】1,22 【path2】2,3 【path3】2,3,4,5,22 【path4】2,3,6,7,22 【path5】2,3,6,8,22 【path6】9,10,22 【path7】11,12,22 【path8】13,14 【path9】13,14,15,16 【path10】13,14,17,18,22 【path11】13,14,8,22 【path12】19,20,22 【path13】19,8,22

生成测试用例,确保基本路径集中每条路径的执行 Path1、输入数据y,输出结果程序结束返回值0 Path2、输入数据s,输出结果“ s 输入第二个字母”

Path3、输入数据s后,输入数据a,输出结果“Saturday” Path4、输入数据s后,输入数据u,输出结果“Sunday”

Path5、输入数据s后,输入数据非a非u,输出结果“data error” Path6、输入数据f,输出结果“friday” Path7、输入数据m,输出结果“monday”

Path8、输入数据t,输出结果“输入第二个字母”

Path9、输入数据t后,输入数据u,输出结果“tuesday” Path10、输入数据t后,输入数据h,输出结果“thursday”

Path11、输入数据t后,输入数据非u非h,输出结果“data error” Path12、输入数据w,输出结果“wednesday” Path13、输入数据defalt,输出结果“data error”

3.不能达到100%,一些独立的路径如此程序中的【输入】,往往不是完全孤立的,有时候他是程序正常的控制流的一部 分,这时,这些路径的测试可以是另一条路径测试的一部分。

3.某邮件系统测试项目中的测试执行阶段按计划在5天后结束,将进入测试总结阶段。测试管理人员通过QESuite Web Version 1.0测试过程管理工具观察到下列测试项目信息:(如下表)

(1).请依据以上表格中内容,说明在测试用例设计和测试用例执行两方面存在的问题,并简要指明原因。(2).已知软件问题处理状况如下:

测试项目当前处在“待验”状态的软件问题有307个,处在“新建”状态的软件问题有35个,处在“打开”状态的软件问

题有243个。测试组的软件问题处理能力是70个软件问题/工作日,开发组修复软件问题的能力是40个软件问题/工作日。

请根据测试执行阶段剩余的天数与软件问题处理状况信息,说明开发组和测试组在软件问题处理方面存在的问题,并简 要指明原因。

参考答案:

(1).子系统下安装功能区域未指明,客户端管理功能区域没有设计测试用例,邮件系统的功能设置测试用例未执行完,其中还有5个用例未执行。

测试用例设计存在问题:功能区域划分不详细,客户端管理的测试用例没有覆盖到,用例覆盖不全面。测试执行存在问 题:存在未执行的用例。

(2).存在问题是开发组和测试组不能在5天后完成工作。根据题中描述的数据,开发组中要修改的问题数是243+35=278,需要修改时间是278/40=7天;测试组即便新建的问题不需要修改,需要时间是:(307+243)/70=8天。

第三篇:2009年9月全国计算机等级考试四级软件测试工程师笔试真题

历年真题考试时间:120试卷总分:100  2009年9月全国计算机等级考试四级软件测试工程师笔试

真题

一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

 1.软件验证和确认是保证软件质量的重要措施,它的实施应该针对

(2分)

o o o o A:程序编写阶段 B:软件开发的所有阶段 C:软件调试阶段 D:软件设计阶段

 2.在软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是(2分)

o o o o A:程序结构 B:软件外部功能 C:程序正确性 D:程序内部逻辑

 3.在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是(2分)

o o A:操作性分析 B:可靠性分析

o o C:引用分析 D:接口分析

 4. o o o o 下列指导选择和使用测试覆盖率的原则中错误的是(2分)A:覆盖率不是目的,仅是一种手段 B:不要追求绝对100%的覆盖率

C:不可能针对所有的覆盖率指标来选择测试用例 D:只根据测试覆盖率指标来指导测试用例的设计

 5.

o 在以下有关逻辑覆盖的说法中错误的说法是(2分)A:所有满足条件组合覆盖标准的测试用例集,也满足路径覆盖的覆盖标准

o B:条件覆盖能够查出条件中包含的错误,但有时达不到判定覆盖的覆盖率要求

o C:路径覆盖的查错能力很强,但有时达不到条件组合覆盖的覆盖率要求

o D:判定覆盖包含了语句覆盖,但它不能保证每个错误条件都能检查得出来

 6.走查是对软件进行静态测试的一种方法,以下不属于走查活动的是(2分)

o o o o A:计划走查会议 B:准备测试用例

C:执行走查以发现和改正错误

D:在走查过程中程序员逐条讲解自己的程序

 7.设有一段程序如下

满足判定—条件覆盖的要求下,最少的测试用例数目是(2分)

 o

A:6 o o o

 8. o

o o

o

 9. o o o o B:8 C:3 D:4 在以下有关集成测试的说法中,错误的说法是(2分)A:自底向上集成的缺点是在早期不能进行并行测试,不能充分利用人力

B:自底向上集成的优点是减少了编写桩模块的工作量 C:自顶向下集成的优点是能够较早地发现在高层模块接口、控制等方面的问题

D:自顶向下集成的缺点是需要设计较多的桩模块,测试的开销较大

在集成测试阶段,人们关注的一种主要的覆盖是(2分)A:功能覆盖 B:语句覆盖 C:基本路径覆盖 D:条件覆盖

 10.可跟踪性分析是一种重要的软件验证和确认方法。不属于可跟踪性分析的活动是(2分)

o o o A:正确标识在需求规格说明中的每项需求

B:从需求规格开始的正向跟踪应确保完全支持需求规格 C:每个当前的阶段产品的规格或特性应确保被可跟踪的前驱规格所支持

o D:确保所有不同接口规格说明的完整性

 11.

o o 以下关于软件性能测试的说法中,不正确的是(2分)A:发现软件缺陷是性能测试的目的之一

B:压力测试与负载测试的目的都是为了探测软件在满足预定的性能需求的情况下所能负担的最大压力

o o C:性能测试通常需要对测试结果进行分析才能获得测试结论 D:检验软件的最大负载是性能测试的目的之一

 12.

o o o o 以下哪种软件测试不属于广义软件性能测试的范畴(2分)A:并发测试 B:压力测试 C:兼容性测试 D:负载测试

 13.以下关于软件可靠性与硬件可靠性主要区别的说法中,正确的是(2分)

o A:软件的每个拷贝都是完全一样的,而按照设计生产出来的同规格硬件总有微小差别

o o B:软件经常面临恶意的使用者,而硬件没有恶意的使用者 C:软件的使用者通常遍及整个世界,而硬件的使用者通常只局限于某个地区

o D:软件的失效都是逻辑错误引起的,而硬件的失效都不是逻 14. oooo 15. oooo 16. 辑错误引起的

以下关于面向对象软件测试的说法中,错误的是(2分)A:对于面向对象程序集成测试而言,大突击集成可能导致测试不充分

B:面向对象软件只能采用白盒测试,不能采用黑盒测试 C:在存在多态的情况下,为了提高测试的充分性需要对所有可能的绑定都进行测试

D:单个成员方法的测试属于面向对象程序单元测试考虑的范畴

以下关于面向对象软件测试的说法中,正确的是(2分)A:对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用

B:基于判定表的测试不能用于面向对象程序的单元测试 C:不变式边界测试可用于类层次的测试,其目的是测试功能组合

D:对于抽象类,需要进行单元测试

以下关于面向对象程序集成测试的说法中,正确的是(2分)

o A:大突击集成在任何情况下都是效果最差的面向对象程序集成测试策略

o B:自底向上集成和自顶向下集成都需要为集成测试开发大量辅助代码

o o C:协作集成从本质上讲是一种自底向上集成 D:基干集成从本质上讲是一种自顶向下集成

 17. oooo 18. oooo 19. ooo以下关于Web应用软件测试的说法中,正确的是(2分)A:对Web应用软件进行性能测试时,不需要进行压力测试 B:内容测试是Web应用软件易用性测试的一项重要内容 C:Cookie测试是Web应用软件功能测试的一项重要内容 D:是否存在无效链接是Web应用软件安全性测试关注的范畴

以下哪一项属于软件易用性测试关注的范畴(2分)A:软件是否能在多种操作系统下运行 B:软件是否能与同类软件共享数据

C:软件是否能主动禁止用户可能进行的非法操作 D:软件是否能抵御网络攻击

以下哪一项属于数据兼容性测试关注的范畴(2分)A:软件在异常退出时是否会破坏正在处理的文件 B:软件是否可以在不同的J2EE应用服务器上运行 C:软件同类功能的使用风格是否一致

o D:软件是否能打开以前版本保存的文件

 20. o o o o 以下关于极限测试的说法中,正确的是(2分)A:极限测试是一种针对极限编程的软件测试 B:极限测试中所有的测试均由编码人员完成

C:与传统的软件测试相比,极限测试是一种更严格的测试 D:极限测试中只需要进行单元测试

 21. o o o o 下列有关软件缺陷报告的编写原则中,哪个是错误的(2分)A:一个软件缺陷报告中只应记录一个不可再划分的软件缺陷 B:软件缺陷报告的标题应该能够最简洁表达一个软件缺陷 C:软件缺陷报告中应提供全面的有关该软件缺陷再现的信息 D:同一个软件缺陷可以被重复报告

 22.依据QESuite Web Version 1.0软件问题生命周期定义,对于一个处在“新建”状态的软件问题报告,下列哪个操作是不可能出现的(2分)

o o o o A:校验 B:关闭 C:验证 D:分类与分配

 23. 下列哪个不是测试环境的组成要素(2分)

o o o o A:软硬件 B:技术文档 C:测试工具 D:网络环境

 24.根据《GB/T155322008计算机软件测试规范》,软件测试管理主要包括:测试过程管理、测试评审管理,以及(2分)

o o o o A:测试用例管理 B:测试环境管理 C:配置管理 D:测试系统管理

 25.根据《GB/T155322008计算机软件测试规范》,设计测试用例应遵循:基于测试需求的原则、基于测试方法的原则、兼顾测试充分性和效率的原则,以及(2分)

o o o o A:测试用例无冗余性原则 B:测试执行可重复性原则 C:测试用例可操作性原则 D:测试用例可管理性原则

二、论述题(共3题,共50分)论述题答题必须用蓝、黑钢笔或圆珠笔写在论述题答题纸的相应位置上。

 1.请完成下列工作:

(1)请给出与此有限状态机等价的控制流图;(4分)(2)确定基本测试路径集;(9分)(3)设计测试用例以覆盖基本测试路径。(7分)(20分)

 2.已知C源程序如下:

/*Input todays date,output tomorrows date*/

/*version 2*/ #include struct ydate { int day;int month;int year;};int leap(struct ydate d){ if((d.year%4==0&&d.year%100!=0)||(d.year%400==0))return 1;else return 0;} int numdays(struct ydate d){ int day;static int daytab[]= {31,28,31,30,31,30,31,31,30,31,30,31};if(leap(d)&&d.month==2)day=29;else day=daytab[d.month-1];return day;} int main(void){ struct ydate today,tomorrow;

printf(“format of date is:year,month,day 输入的年,月,日之间应用逗号隔开\n”);printf(“today is:”);scanf(“%d,%d,%d”,&today.year,&today.month,&today.day);while(0>=today.year ||today.year>65535||0>=today.month||today.month>12|| 0>=today.day||today.day>numdays(today)){printf(“input date error!reenter the date!\n”);printf(“today is:”);scanf(“%d,%d,%d”,&today.year,&today.month,&today.day);} if(today.day!=numdays(today)){tomorrow.year=today.year;tomorrow.month=today.month;tomorrow.day=today.day+1;} else if(today.month==12){tomorrow.year=today.year+1;tomorrow.month=1;tomorrow.day=1;} else

{tomorrow.year=today.year;tomorrow.month=today.month+1;tomorrow.day=1;} printf(“tomorrow is :%d,%d,%d\n\n”,tomorrow.year,tomorrow.month,tomorrow.day);}(1)画出程序中所有函数的控制流程图;(10分)(2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到100%,需说明为什么。(10分)(20分)

 3.QESuite Web Version 1.0中,已知Lead 1.0邮件系统测试项目的部分信息如下:

●测试版本:总计2个测试版本,按日期排序分别为Lead1.0_090703,Lead1.0_090801 ●功能分类视图中部分待测区域及人员分配定义如下表一所示: 已知在功能区域“性能/并发处理能力”下有一个软件问题处于“打开/修复失败”状态,下表二中是该软件问题当前的部分操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。(每空1分)(10分)

第四篇:2009年3月全国计算机等级考试四级软件测试工程师笔试真题

历年真题考试时间:120试卷总分:100  2009年3月全国计算机等级考试四级软件测试工程师笔试

真题

一、选择题(每小题2分,共50分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

 1.在指定条件下使用时,软件产品维持规定的性能水平的能力。这是指软件外部质量的(2分)

o o o o A:效率 B:易用性 C:功能性 D:可靠性

 2.

o o o o 程序独立测试的人员应是(2分)A:程序员自己

B:同一开发组的测试成员 C:第三方测试人员 D:同一开发组的其他成员

 3.如果一个软件产品的功能或特性没有实现,包括主要功能部分丢失,次要功能完全丢失,或错误的声明,这是属于(2分)

o o o A:致命的错误 B:严重的错误 C:一般的错误

o D:微小的错误

 4.有一段小程序,对数组A[n]中所有正整数和负整数求累加和,negat和posit分别返回负整数和正整数的累加和。int maxInt=32767,minInt=-32768;negat=0;posit=0;for(int i=0;i<n;i++)if(A[i]<0&&A[i]>=minInt-negat)negat=negat+A[i];else if(A[i]>0&&A[i]<=maxInt-posit)posit=posit+A[i];可能的测试路径数是(2分)

 o o o o

A:A B:B C:C D:D  5.下图是一个判定路径覆盖图,其中用“◇”表示判定语句,用“”表示处理语句,用“○”表示判定汇合点,用“●——●”表示判定路径,若有一个测试用例覆盖了判定路径A、B、E、H,则判定路径覆盖率为(2分)

o o

A:57.1% B:78.6%

o o C:90% D:100%  6.人们从长期的测试工作经验得知,大量的错误是发生在输入范围的(2分)

o o o o A:边界上 B:内部 C:外部 D:相互作用上

 7.

o o o o 单元测试的测试对象不包括(2分)A:设计单元 B:各个操作 C:内部消息序列 D:场景

 8.一个好的程序实现是要考虑各种可能出错的条件,并进行适当的出错处理,即预设各种出错处理的(2分)

o o o o A:现象 B:策略 C:通路 D:场景

 9.正向测试的测试用例用于验证被测单元的功能和性能指标是否能够兑现,而反向测试的测试用例则是要检查被测单元是否做了(2分)

o o o o A:应该做的事情 B:不该做的事情 C:有错误的事件 D:有性能缺陷的事情

 10.在基于调用图的集成中,有一种集成策略就是对应与调用图的每一条边建立并执行一个集成测试会话,即对有调用关系的两个程序单元进行集成测试,这样可以免除驱动和桩的编写,这种集成策略是(2分)

o o o o A:持续集成 B:三明治集成 C:成对集成 D:相邻集成

 11.

o o o o 以下哪种软件测试不属于软件性能测试的范畴(2分)A:配置测试 B:健壮性测试 C:失效恢复测试 D:负载测试

 12.

o 以下目标中,哪个是软件性能测试的目标(2分)A:检查软件的容错能力

o o o B:发现压力下软件功能的缺陷 C:发现软件的安全漏洞 D:检查用户界面是否易于使用

 13. oooo 14. oooo 15. ooo以下关于软件可靠性测试的说法中,正确的是(2分)A:软件运行剖面的定义需要符合软件的实际运行情况 B:测试用例的生成必须采用白盒测试方法

C:软件可靠性测试通常能够比黑盒测试发现更多的错误 D:软件可靠性测试必须在集成测试中实施

以下关于面向对象软件测试的说法中,正确的是(2分)A:面向对象软件只能采用白盒测试,不能采用黑盒测试 B:测试一个类时,该类成员方法的任何一个消息序列都是合理的测试用例

C:若类B是类A的子类,针对类B的测试用例可以包含对类A的成员方法的调用

D:等价类划分是一种类树层次的测试技术

以下关于面向对象程序集成测试的说法中,错误的是(2分)A:大突击集成只进行一轮,无需增量集成

B:与大突击集成相比,自底向上集成通常有助于得到更高的测试充分性

C:基干集成在任何情况下都优于自底向上集成

o D:无论是自底向上集成还是自顶向下集成,都需要为集成测试开发相应代码

 16. o 以下哪种测试属于面向对象程序集成测试考虑的范畴(2分)A:针对一个类的多个成员方法间协作的测试 o o o

 17. o o o o

 18. o o

o o

 19. B:针对一个成员方法的不同输入情况的测试 C:针对多个类的多个实例间协作的测试 D:针对一个类树上多个类间继承的测试

以下关于Web应用软件测试的说法中,正确的是(2分)A:链接测试是Web应用软件测试的一项内容 B:Web应用软件测试通常不考虑安全性测试 C:与传统软件相比,Web应用软件测试更简单 D:Web应用软件只能进行黑盒测试,不能进行白盒测试

以下关于Web应用软件测试的说法中,错误的是(2分)A:内容测试是Web应用软件测试的一项重要内容

B:Cookie安全性测试是Web应用软件安全性测试的一项重要内容

C:并发测试是Web应用软件性能测试的一项重要内容 D:表单测试是Web应用软件性能测试的一项重要内容

以下哪一项不属于软件易用性测试关注的范畴(2分)

o o o o A:软件界面的色彩是否协调 B:软件是否能在多种操作系统下运行

C:软件是否支持用户根据自己的需要进行定制 D:软件是否能主动引导用户使用相互关联的功能

 20. oooo 21. oooo 22.分) oo以下哪一项属于兼容性测试关注的范畴(2分)A:办公软件在异常退出时是否会破坏正在处理的文档 B:杀毒软件在清除病毒时是否会破坏办公软件的文档 C:软件同类功能的使用风格是否一致 D:软件提供的功能与用户手册的说明是否一致

下列有关软件测试设计的说法中,正确的是(2分)A:测试方案应考虑是否可行、是否有效和是否能够达到预期的测试目标

B:基于判定表的测试用例设计方法是白盒测试用例设计方法C:测试方案设计中可以忽略软件系统的实际使用环境 D:测试开发不是测试用例设计的工作内容

下列有关测试项目结束与定稿测试报告的说法中,正确的是(2A:测试执行完成,测试人员向测试负责人提交测试报告后,测试项目就可以结束了

B:对当前软件产品存在的缺陷进行逐个分析,认定剩余缺陷对产品质量无重大影响后,即可定稿测试报告

o C:审查测试全过程,检查测试计划和内容无遗漏后,即可定稿测试报告

o D:当所有测试计划内容完成,测试覆盖率达到要求以及产品 23. oooo 24. oooo 25. o质量达到定义的标准,即可定稿测试报告

下列有关自动测试的基本概念中,错误的是(2分)A:仅有自动测试执行而无自动比较,则不算是完全自动化测试

B:自动比较的内容可以是:文本、格式化数据、电子邮件信息、数据库内容等

C:自动比较的局限性在于自动比较可能没有人工比较灵活性高

D:自动比较海量数据、屏幕输出等信息不是计算机能够胜任的自动工作

以下关于软件回归测试的说法中错误的是(2分)A:软件变更后,应对软件变更部分的正确性和对变更需求的符合性进行测试

B:软件变更后,首先应对变更的软件单元进行测试,然后再进行其他相关的测试

C:软件变更后,不必再对软件原有正确的功能、性能和其他规定的要求进行测试

D:对具体的软件,可以根据软件测试合同及软件的重要性、完整性级别对回归测试内容进行剪裁

以下说法中错误的是(2分)A:验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统

o B:验收测试的技术依据是软件研制合同(或用户需求或系统需求)

o o C:进行验收测试的软件必需已经通过系统测试

D:验收测试一般应由软件的需方组织,不可以委托第三方测试机构实施

二、论述题(共3题,共50分)论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上。

 1.一个栈(Stack)对象有三种状态:S1——栈空;S2——栈非空也非满;S3——栈满。转换到各个状态的条件如下: S1:(t0)创建栈对象时初始化,这是系统做的;(t1)在S2状态下执行置空运算setEmpty();(t2)在S3状态下执行置空运算setEmpty();(t3)在S2状态下执行出栈运算Pop();S2:(t4)在S1状态下执行进栈运算Push();(t5)在S3状态下执行出栈运算Pop();S3:(t6)在S2状态下执行进栈运算Push()。

为简化问题,假设栈Stack的容量为2,栈元素的数据类型为整数。要求 1.根据题意,画出栈对象的状态迁移图; 2.计算该状态迁移图的McCabe环路复杂性;

3.确定基本的测试路径,要求测试路径从S1出发最后回到S1,同时在状态转换时注明转换条件。(20分)

 2.某测试项目中的测试执行阶段按计划在3天后结束,将进入测试总结阶段。

1.测试管理人员通过QESuite Web version 1.0测试过程管理工具观察到部分测试用例的设计状况和执行状况如下表,请从测试用例设计和测试用例执行2个方面说明观察到的问题和需要尽快开展的相关测试工作。2.该项目当前的软件问题处理状况如下:

测试项目当前剩余处在“待验”状态的软件问题有105个,处在“新建”状态的软件问题有14个,处在“打开”状态的软件问题有151个。已知该测试组的软件问题日常处理能力是90个软件问题/工作日,开发组日常修复软件问题的能力是40个软件问题/工作日。请说明软件问题报告处理方面说明存在的问题和需要尽快开展的相关开发和测试工作。(10分)

 3.已知C源程序如下:

/*A simple mailing list example using an array of structures.*/ #include #include

#define MAX 4

struct addr { char name[30];char street[40];char city[20];unsigned long int zip;} addr_list[MAX];

void init_list(void), enter(void);void deleteAddr(void), list(void);int menu_select(void), find_free(void);int main(void){ char choice;

init_list();/*initialize the structure array */ for(;;){

choice=menu_select();switch(choice){ case 1:enter();break;case 2:deleteAddr();break;case 3:list();break;case 4:exit(0);} } return 0;}

/* Initialize the list.*/ void init_list(void){ register int t;

for(t=0;t

/* Get a menu selection.*/ int menu_select(void){ char s[80];int c;printf(“1.Enter a name\n”);printf(“2.Delete a name\n”);printf(“3.List the file\n”);printf(“4.Quit\n”);do { printf(“\nEnter your choice:”);gets(s);c=atoi(s);}while(c<1||c>4);return c;}

/* Input addresses into the list.*/ void enter(void){ int slot;char s[80];

slot=find_free();if(slot==-1){ printf(“\nList Full”);return;}

printf(“Enter name:”);gets(addr_list[slot].name);printf(“Enter street:”);gets(addr_list[slot].street);printf(“Enter city:”);gets(addr_list[slot].city);printf(“Enter zip:”);gets(s);addr_list[slot].zip = strtoul(s, \0, 10);}

/* Find an unused structure.*/ int find_free(void){ register int t;for(t=0;addr_list[t].name[0]&&t

printf(“enter record #:”);gets(s);slot=atoi(s);

if(slot>=0 && slot < MAX)addr_list[slot].name[0]=\0;}

/* Display the list on the screen.*/ void list(void){ register int t;

for(t=0;t

2.设计一组测试用例,使该程序所有函数的语句覆盖率尽量达到100%。如果认为该程序的语句覆盖率无法达到100%,需说明原因。(20分)

第五篇:2010年3月全国计算机等级考试四级软件测试工程师笔试真题

文件格式 C:一个排版软件是否可以打开该软件以前版本保存的文件

D:一个文字处理软件是否可以打开其他文字处理软件保存的文件

21: 参考答案:B  参考解析:(P247~249)

www.xiexiebang.com/jsjks/湖北计算机考试网

www.xiexiebang.com/jsjks/湖北计算机考试网

试题内容:

o 下列有关测试过程抽象模型的描述中正确的是

o o

A:V模型指出,软件测试要尽早准备,尽早执行,只要某个测试达到了准备就绪点,测试执行活动就可开展

B:W模型强调,测试伴随着整个软件开发周期同步进行,而且测试的对象不仅仅是程序,需求、设计也同样要测试

C:H模型指出,单元测试和集成测试应检测程序的执行是否满足软件设计的要求

D:X模型提出针对完整的程序进行集成的编码和测试

22: 参考答案:D  参考解析:(P255)制定测试计划,要达到的目标有:为测试各项活动制定一个现实可行的综合的计划;建立一个组织模型;开发有效的测试模型;确定测试所需要的时间和资源;确定测试过程中每个测试阶段的测试完成标准和要实现的目标;识别出测试活动中各种风险,并给出风险应对措施。

o 试题内容:

o 以下活动中,哪个不属于测试计划的内容

o

   

A:为测试各项活动制定一个现实可行的综合的计划 B:确定测试过程中每个测试阶段的测试完成标准 C:识别测试活动中各种风险,并给出风险应对措施 D:分析测试需求,并制定测试方案

23: 参考答案:D  参考解析:(P276)自动测试工具不是智能测试工具,而是再测试工具,即回归测试工具。

o 试题内容:

o 以下有关回归测试的说法中错误的是

o

A:严格来说,回归测试不是一个测试阶段,只是一种可以用于各个测试阶段的测试技术

www.xiexiebang.com/jsjks/湖北计算机考试网

www.xiexiebang.com/jsjks/湖北计算机考试网

B:回归测试的目标是保证被测应用在系统被修改和扩充后,各项功能依然正确

 

C:回归测试可以在系统和验收测试环境下进行 D:回归测试适合采用传统手工方法来完成,而不适合使用自动化测试工具来完成

24: 参考答案:A  参考解析:(P44~45)静态错误分析主要用于确定在源程序中是否有某类错误或危险结构。它有以下几种:类型和单位分析,引用分析,表达式分析,接口分析。

o 试题内容:

o 软件静态分析一般包括:控制流分析、数据流分析、接口分析,以及

o 

   

A:表达式分析 B:功能分析 C:边界值分析 D:因果图分析

25: 参考答案:C  参考解析:(P120)系统测试与单元测试,集成测试的区别在于测试方法不同:系统测试一般采用黑盒测试方法;单元测试一般采用白盒测试方法,辅以黑盒测试方法;集成测试主要采用黑盒测试方法,辅以白盒测试方法。

o 试题内容:

o 以下说法中错误的是

o

   

A:单元测试一般采用白盒测试方法,辅以黑盒测试方法 B:集成测试主要采用黑盒测试方法,辅以白盒测试方法 C:配置项测试一般采用白盒测试方法 D:系统测试一般采用黑盒测试方法

www.xiexiebang.com/jsjks/湖北计算机考试网

www.xiexiebang.com/jsjks/湖北计算机考试网

二、论述题(共3题,共50分)论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上。

 1: 参考答案:(3)基本路径集=Cache复杂度=4 设计测试用例如下:

①输入空值,执行路径 S1-S2-S1 ②输入abc, 空值, 执行路径S1-S2-S3-S2-S1 ③输入1.23_ , 执行路径S1-S2-S3-S1 ④输入abc,4.56_ 执行路径S1-S2-S3-S2-S3-S1

试题内容:

o 考虑一个根据以下简单规则确认输入数有效性的应用程序:

■输入数由数字、符号“+”或“-”开始。■该数字或符号后面可接任意位数的数字。

■这些数字可以有选择地后接用英文句号表示的小数点。■如果有一个小数点,则小数点后面应该有两位数字。■任何输入数,不管是否有小数点,都应该以空格结束。o

www.xiexiebang.com/jsjks/湖北计算机考试网

www.xiexiebang.com/jsjks/湖北计算机考试网

请根据以上处理规则:

(1)画出相应的状态转换图。(4分)(2)根据状态转换图,列出相应的状态转换表,给出“当前状态”、当前状态允许的“输入”和对应每一个输入的“下一个状态”。(4分)

(3)根据状态转换图和状态转换表,导出基本路径测试的测试用例及其覆盖的测试路径。(12分)

 2: 参考答案:

试题内容:

o QESuite Web Version 1.0中,已知DUCHA 1.0工作专网系统测试项目的部分信息如下:

●测试版本:总计3个测试版本,按日期排序分别为DUCHA1.0_100105,DUCHA1.0_100205,DUCHA1.0_100210。●功能分类视图中部分待测区域及人员分配定义如下表所示:(表1)

已知在功能区域“工作平台/归档”下有一个软件问题处于“打开/再现”状态,下表中是该软件问题操作历史信息,请依据QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。o

www.xiexiebang.com/jsjks/湖北计算机考试网

www.xiexiebang.com/jsjks/湖北计算机考试网

(表2)

 3: 参考答案:(1)流程图 ① void reverse(char s[])的流程图(见图1)

②void getHex(int number,char s[])的流程图(见图2)③int main()的流程图(见图3)(2)设计测试用例 ①输入0,输出0 ②输入2,输出2 ③输入26,输出1A ④输入27, 输出1B ⑤输入28, 输出1C ⑥输入29, 输出1D ⑦输入30, 输出1E ⑧输入31,输出1F ⑨输入20P,输出错误

语句覆盖率无法达到100%,因为main()函数中的return 0 语句永远无法执行。

www.xiexiebang.com/jsjks/湖北计算机考试网

www.xiexiebang.com/jsjks/湖北计算机考试网

www.xiexiebang.com/jsjks/湖北计算机考试网

www.xiexiebang.com/jsjks/湖北计算机考试网

www.xiexiebang.com/jsjks/湖北计算机考试网

www.xiexiebang.com/jsjks/湖北计算机考试网

试题内容:

o 已知C源程序如下:

#include #include void reverse(char s[]){ int c,i,j;for(i=0,j=strlen(s)-1;i0){ if(number%16<10)s[i++]=number%16+0;else switch(number%16){ case 10:s[i++]=A;break;case 11:s[i++]=B;break;case 12:s[i++]=C;break;case 13:s[i++]=D;break;case 14:s[i++]=E;break;case 15:s[i++]=F;break;default:printf(“Error”);break;} number/=16;} s[i]=;reverse(s);} int main(){ unsigned int number;int i=0;char s[50];printf(“%s”,“please input number:”);scanf(“%d”,&number);getHex(number,s);i=0;while(s[i])o

www.xiexiebang.com/jsjks/湖北计算机考试网

www.xiexiebang.com/jsjks/湖北计算机考试网

printf(“%c”,s[i++]);return 0;}(1)画出程序中所有函数的控制流程图;(10分)

(2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。(10分)

www.xiexiebang.com/jsjks/湖北计算机考试网

下载计算机四级软件测试工程师真题2012年3月word格式文档
下载计算机四级软件测试工程师真题2012年3月.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐