1、全国计算机等级考试四级软件测试工程师真题 2010年 9月及答案解析(总分:100.01,做题时间:120 分钟)一、选择题(每小题 2分,共 50分)下列各题 A(总题数:25,分数:50.00)1.下列有关软件质量的叙述中,错误的是 (分数:2.00)A.软件质量不仅包括软件产品的质量,还包括软件过程的质量B.明确的软件质量属性是指在合同或行业标准中规定必须实现的质量要求C.隐含的软件质量属性在合同或行业标准中没有规定,因此在产品开发时不必专门考虑D.软件的功能和性能必须结合在一起考虑2.下列有关软件测试的叙述中,正确的是 (分数:2.00)A.测试是软件开发中一个单独的阶段,其目的是对已
2、实现的程序编码进行正确性检验B.一个成功的测试能够验证程序的确做了它应该做的事情C.根据 80/20的原则,优秀的软件开发人员所编写的程序错误少,因此时于他们的程序,重点不应放在缺陷测试上D.在软件过程的早期寻找尽可能多的错误符合软件测试的原则3.下列有关白盒测试的叙述中,错误的是 (分数:2.00)A.白盒测试是在同时拥有源代码和可执行代码的情形下才可以进行的一种软件测试方法B.白盒测试应该由开发人员实施,因为只有他们才能够访问测试执行所涉及的代码C.即使对所有的源代码都进行了 100%的逻辑覆盖测试,也不能保证程序中没有错误D.软件测试人员制定测试计划的目的是想尽可能多地对源代码进行测试4
3、.下列有关黑盒测试的叙述中,错误的是 (分数:2.00)A.黑盒测试是在不考虑源代码的情形下进行的一种软件测试方法B.最好由测试人员、最终用户和开发人员组成的团队来实施黑盒测试C.黑盒测试主要是通过对比和分析实测结果和预期结果来发现它们之间的差异,所以黑盒测试又称为“数据驱动”测试D.数据流测试是一种黑盒测试方法5.走查是一种重要的审查方法,下列所述的审查活动中,不属于走查的是 (分数:2.00)A.审查小组的组织者事先把相关的设计文档、源程序和其他材料发给每一个小组成员,要求他们预先了解审查的内容B.测试员事先根据审查的源代码准备一批测试用例C.程序员在小组审查会上向全体审查人员逐条讲解自己
4、编写的程序D.所有参与审查的人员集体扮演“计算机”的角色,使用事先准备的测试用例按照源程序规定的顺序逐条执行,讨论可能出现的问题6.下面有关软件测试的叙述中,不属于 H模型核心思想的是 (分数:2.00)A.软件测试不仅仅指测试的执行,还包括很多其他的活动B.软件测试是一个独立的流程,贯穿产品整个开发周期,与其他流程并发地进行C.软件测试要尽早准备,尽早执行D.软件测试不同层次的测试活动严格按照某种线性次序执行7.下面有关路径测试的叙述中,错误的是 (分数:2.00)A.路径覆盖是最强的覆盖测试,它不但能发现其他覆盖测试能发现的问题,还能发现其他覆盖测试不能发现的问题B.测试员不可能对任何一个
5、程序都完成 100%的路径测试C.不提倡用不同的数据重复测试同一条路径D.即使每条路径都执行了一次,程序还是可能存在缺陷8.同行评审主要包括管理评审、技术评审、过程评审和 (分数:2.00)A.需求评审B.文档评审C.质量评审D.风险评审9.对于如下给出的程序段: if(AB) and(C=5) then do P1; 若考虑满足条件/判定覆盖原则以及内部边界条件,需要设计的最小测试输入数据集可能是 (分数:2.00)A.(A=2,B=1,C=5),(A=2,B=1,C=4),(A=1,B=2,C=5),(A=1,B=1,C=5)B.(A=2,B=1,C=5),(A=2,B=1,C=4),(A
6、=1,B=2,C=5),(A=1,B=2,C=4)C.(A=2,B=1,C=5),(A=2,B=1,C=4),(A=1,B=2,C=5)D.(A=2,B=1,C=5),(A=1,B=2,C=4)10.下列关于逻辑覆盖的说法中,错误的是 (分数:2.00)A.满足条件覆盖的测试不一定满足判定覆盖B.满足条件组合覆盖的测试一定满足判定覆盖、条件覆盖和判定/条件覆盖C.满足路径覆盖的测试也一定满足条件组合覆盖D.满足判定/条件覆盖的测试也一定满足判定覆盖和条件覆盖11.以下关于软件性能测试的说法中,正确的是 (分数:2.00)A.对于没有并发的应用系统而言,响应时间与吞吐量成反比关系B.应用系统的资
7、源利用率越高,性能也就越好C.软件性能测试是从用户视角考察软件性能D.并发进程数是软件性能测试中一种常用的性能指标12.以下哪一种技术属于基于性能计数器的分析技术 (分数:2.00)A.数据流分析B.指针分析C.时间序列分析D.进程分析13.以下哪种软件测试属于软件性能测试的范畴 (分数:2.00)A.路径覆盖测试B.并发测试C.安全性测试D.健壮性测试14.以下关于软件可靠性测试的说法中,正确的是 (分数:2.00)A.软件可靠性测试是一种比白盒测试更严格的软件测试B.软件可靠性测试的代价通常比较高C.软件可靠性测试本质上是一种黑盒单元测试D.软件可靠性测试不适用于面向对象软件测试15.以下
8、关于面向对象软件测试的说法中,正确的是 (分数:2.00)A.单个成员方法的测试不属于面向对象单元测试考虑的范畴B.等价类划分测试只适用于传统软件的测试,不适用于面向对象软件的测试C.基于判定表的测试适用于面向对象软件的测试D.抽象类无法进行单元测试16.以下关于面向对象软件测试的说法中,正确的是 (分数:2.00)A.大突击集成是最有效的面向对象软件集成测试策略B.在面向对象软件的单元测试中,一棵继承树上的每个类都需要进行测试C.针对一个类的多个实例间协作的测试属于面向对象软件集成测试考虑的范畴D.在面向对象软件的单元测试中,基于判定表的测试是类层次测试的常用方法17.以下关于 Web应用软
9、件测试的说法中,正确的是 (分数:2.00)A.排版结构测试是数据层测试关注的内容B.链接测试是 Web应用软件内容测试的重要内容C.在对 Web应用软件进行系统测试时,通常需要考虑性能测试D.测试 Web应用软件在多用户的情况下是否会出现系统崩溃,属于 Web应用软件可靠性测试考虑的范畴18.以下关于 Web应用软件测试的说法中,正确的是 (分数:2.00)A.应用服务器兼容性测试是 Web应用软件业务层测试的一项内容B.浏览器兼容性测试是 Web应用软件安全性测试的一项内容C.Web应用软件压力测试的主要内容是并发测试D.表单测试是 Web应用软件易用性测试的一项内容19.以下哪一项属于软
10、件易用性测试关注的内容 (分数:2.00)A.Web应用软件是否支持不同厂商开发的浏览器B.软件是否提供图形用户界面C.软件提供的功能是否丰富D.在处理复杂任务时,软件的响应时间是否符合需求20.以下哪一项属于数据兼容性测试关注的范畴 (分数:2.00)A.一个软件是否支持不同的操作系统B.一个杀毒软件是否会误删其他软件保存的文件C.一个文字处理软件的操作方式是否与同类软件的操作方式一致D.一个电子邮件收发软件是否可以导入以前版本保存的邮件21.下列有关测试过程抽象模型的描述中,正确的是 (分数:2.00)A.V模型中,单元测试验证的是程序编码B.W模型强调,测试伴随着整个软件开发周期同步进行
11、,测试的对象是程序和设计C.H模型的提出源自软件开发中的活动常常是交叉进行的,存在反复触发、迭代的关系D.X模型提出针对完整的程序进行集成的编码和测试22.下列有关测试执行管理的描述中,错误的是 (分数:2.00)A.测试用例执行要求保证测试结果准确完整B.对测试结果的追踪应该可追溯到具体责任人C.测试执行完成后,并不意味着测试项目的结束D.检查完所有测试用例的执行结果是否完整即可结束测试执行23.以下有关自动化测试脚本的说法中,错误的是 (分数:2.00)A.数据驱动脚本将测试输入存储在脚本中B.线性脚本容易受软件变化的影响,且无共享和重用的脚本C.结构化脚本的优点是健壮性更好,可以对一些容
12、易导致测试失败的特殊情况进行处理D.共享脚本的维护开销低于线性脚本24.以下哪一项不属于测试策划的内容 (分数:2.00)A.确定测试的充分性要求B.建立测试环境C.提出测试的基本方法D.制定测试计划25.单元测试的测试用例设计主要依据是 (分数:2.00)A.需求规格说明B.概要设计说明C.接口规格说明D.详细设计说明二、论述题(共 3题,共 50分)(总题数:3,分数:50.00)论述题 1(20分):设计黑盒测试的测试用例 某图书出租商店欲开发一个租书信息管理系统,管理图书的租借业务。 该系统的数据流图如下: (分数:20.01)(1).根据系统的数据流图,画出对应的程序功能图。(9 分
13、) (提示;在程序功能图中不考虑文件和与文件交互的数据流,并可用状态和迁移来描述。) (分数:6.67)_(2).计算该程序功能图的 McCabe复杂性度量。(4 分) (分数:6.67)_(3).给出该程序功能图的基本测试路径集合。(7 分) (分数:6.67)_26.论述题 2(10 分): QESuite Web Version 1.0 中,已知某安全文档管理系统测试项目的部分信息如下: 在测试过程中先后产生 4个测试版本。按日期排序分别为 SEDM 1.0_101009,SEDM 1.0_101025,SEDM1.0_101103,SEDM1.0_101106。 功能分类视图中部分待测
14、区域及人员分配定义如下表所示: 已知张明在功能区域“我的安全区/导入和导出”下发现一个软件问题,下表中是该软件问题的操作历史信息,请依据 QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,假设下表中“执行操作”的信息均正确,请找出表中的错误并说明理由。 (分数:10.00)_论述题 3(20分): 已知 C源程序如下: /*/ /* 功能:检查输入的标识符是否符合 C语言规则 */ /*/ #includestdio.h #includestring.h #includectype.h #includeconio.h #includem
15、alloc.h char*IsLegal(char*CheckWord); const int MaxWordLen=32; char*ErrorMessages= /*错误信息列表*/ “合法!“, “首字符只能是字母或下划线!“, “常、变量只能由字母、下划线和数字构成!“, “常、变量标识不能用 C语言关键字!“。 “常、变量标识不能用 C语言预定义函数名!“, “内存不够!“ ; int main() char*Prompt=“C语言标识符的命名要遵守以下原则:“; char*TestWord; int i; TestWord=(char*)malloc(sizeof(char)*Ma
16、xWordLen); /*TestWord存放用户输入*/ if(!TestWord) return 1; /*显示部分提示信息*/ puts(Prompt); for(i=1;i=4;i+) puts(ErrorMessagesi); while(1) printf(“/n/n请输入一个标识符(大写的 Q退出):“);/*提示*/ scanf(“%s“,TestWord); /*得到用户输入*/ if(toupper)(TestWord0)=0) break; /*循环出口*/ prind(“/n%s %s“,TestWord,IsLegal(TestWord);/*判定标识符的合法性*/
17、free(TesfWord); return 0; /*此函数检验标识符命名的合法性*/ char*IsLegal(ehar*CheckWord) char*KeyWords=“auto“,“break“,“case“,“char“,“continue“,“const“,“default“, “do“,“double“,“else“,“enum“,extern“,“float“,“for“,“goto“, “if“,“int“,“long“,“noalias“,“register“,“return“,“short“, “signed“,“sizeof“,“static“,“struct“,“s
18、witch“,“typedef“, “union“,“unsigned“,“void“,“volatile“,“while“,“defined“, “define“,“undef“,“include“,“ifdef“,“ifndef“,“endif“,“line“, “error“,“elif“,“pragma“; /*C关键字列表*/ char*Functions=“close“,“crest“,“eof“,“fclose“,“fcloseall“,“feof“,“fopen“, “ferror“,“fgetchar“,“fgets“,“fprintf“,“fputc“,“fputchar“
19、, “fseek“,“get“,“putch“,“putc“,“printf“,“open“,“putchar“, “puts“,“read“,“scanf“,“abs“,“acos“,“asin“,“math“,“atan“, “atan2“,“atof“,“atoi“,“atol“,“ceil“,“dos“,“cosh“,ecvt“, “exp“,“fabs“,“floor“,“fmod“,“frexp“,“itoa“,“labs“,“ldexp“, “log“,“log10“,“modf“,“pow“,“rand“,“sin“,“sqrt“,“srand“, “strtod“,“strl
20、ol“,“tan“,“tanh“,“ultoa“,“memset“,“strcpy“, “strcat“,“strchr“,“strcrap“,“calloc“,“isalnum“,“isalpha“, “toascii“,“tolower“,“tollpper“,“exit“); /*C主要预定义函数列表*/ char*Others=“_“; /*_也可以用于关键字,但我们不推荐您使用!*/ int WordLength,i; char*WordTemp; WordLength=strlen(CheckWord); /*检查标识符命名原则 1*/ if(isalpha(CheckWord0)
21、=0)/*检查标识符命名原则 2*/ for(i=0;iWordLength;i+) if(isalnum(CheekWordi=0) /*检查标识符命名原则 3*/ for(i=0;i44;i+) if(!strcmp(CheckWord,KeyWordsi) return ErrorMessages3; /*检查标识符命名原则 4 */ for(i=0;i69;i+) if(!stremp(CheckWord,Functionsi) return ErrorMessages4; return ErrorMessages0; (分数:20.00)(1).参照 QESAT/C软件分析与测试工具
22、的规定,画出程序中所有函数的控制流程图;(11 分) (分数:10.00)_(2).设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率尽量达到最大。如果认为该程序的语句覆盖率或分支覆盖率无法达到 100%,需说明为什么。(9 分) (分数:10.00)_全国计算机等级考试四级软件测试工程师真题 2010年 9月答案解析(总分:100.01,做题时间:120 分钟)一、选择题(每小题 2分,共 50分)下列各题 A(总题数:25,分数:50.00)1.下列有关软件质量的叙述中,错误的是 (分数:2.00)A.软件质量不仅包括软件产品的质量,还包括软件过程的质量B.明确的软件质量属性是指在
23、合同或行业标准中规定必须实现的质量要求C.隐含的软件质量属性在合同或行业标准中没有规定,因此在产品开发时不必专门考虑 D.软件的功能和性能必须结合在一起考虑解析:解析 软件质量是表征软件产品满足明确的和隐含的需求的能力的特性或特性的集合,它除了关注“明确的需求”外,还扩展到了“隐古的需求”。软件质量是各种特性的复杂组合,定义一个软件的质量,就等于为该软件定义一系列质量属性。C 项叙述不准确。2.下列有关软件测试的叙述中,正确的是 (分数:2.00)A.测试是软件开发中一个单独的阶段,其目的是对已实现的程序编码进行正确性检验B.一个成功的测试能够验证程序的确做了它应该做的事情C.根据 80/20
24、的原则,优秀的软件开发人员所编写的程序错误少,因此时于他们的程序,重点不应放在缺陷测试上D.在软件过程的早期寻找尽可能多的错误符合软件测试的原则 解析:解析 对于 A项。软件测试贯穿于软件开发的整个过程,其功能是验证软件的功能是否按照预先的设想执行的。对于 B项,一个成功的软件测试是发现了以前未发现的错误的测试。对于 C项,根据80/20原则,如果发现一程序模块似乎比其它程序模块有更多的错误倾向时,则应当花费较多的时间和代价测试这个过程模块。D 项正确。3.下列有关白盒测试的叙述中,错误的是 (分数:2.00)A.白盒测试是在同时拥有源代码和可执行代码的情形下才可以进行的一种软件测试方法 B.
25、白盒测试应该由开发人员实施,因为只有他们才能够访问测试执行所涉及的代码C.即使对所有的源代码都进行了 100%的逻辑覆盖测试,也不能保证程序中没有错误D.软件测试人员制定测试计划的目的是想尽可能多地对源代码进行测试解析:解析 白盒测试是程序员在编程阶段对每个程序单元进行测试的最有效的测试类型,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。A 项错误。4.下列有关黑盒测试的叙述中,错误的是 (分数:2.00)A.黑盒测试是在不考虑源代码的情形下进行的一种软件测试方法B.最好由测试人员、最终用户和开发
26、人员组成的团队来实施黑盒测试C.黑盒测试主要是通过对比和分析实测结果和预期结果来发现它们之间的差异,所以黑盒测试又称为“数据驱动”测试D.数据流测试是一种黑盒测试方法 解析:解析 数据流可看作是一种路径测试,它主要关注在一条路径上变量在何处定义,在何处使用,它是一种白盒测试方法。5.走查是一种重要的审查方法,下列所述的审查活动中,不属于走查的是 (分数:2.00)A.审查小组的组织者事先把相关的设计文档、源程序和其他材料发给每一个小组成员,要求他们预先了解审查的内容B.测试员事先根据审查的源代码准备一批测试用例C.程序员在小组审查会上向全体审查人员逐条讲解自己编写的程序 D.所有参与审查的人员
27、集体扮演“计算机”的角色,使用事先准备的测试用例按照源程序规定的顺序逐条执行,讨论可能出现的问题解析:解析 走查人员走查产品并且准备在走查会议上讨论他们对产品作出的评注、建议、问题。同时,协调人员指定一个测试组,为被审查程序准备一批有代表性的测试用例。提交给走查小组,在大多数的走查中,很多问题是在向程序员提问过程中发现的,而不是由测试用例直接发现的。6.下面有关软件测试的叙述中,不属于 H模型核心思想的是 (分数:2.00)A.软件测试不仅仅指测试的执行,还包括很多其他的活动B.软件测试是一个独立的流程,贯穿产品整个开发周期,与其他流程并发地进行C.软件测试要尽早准备,尽早执行D.软件测试不同
28、层次的测试活动严格按照某种线性次序执行 解析:解析 软件测试的不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试活动就可以开展。7.下面有关路径测试的叙述中,错误的是 (分数:2.00)A.路径覆盖是最强的覆盖测试,它不但能发现其他覆盖测试能发现的问题,还能发现其他覆盖测试不能发现的问题 B.测试员不可能对任何一个程序都完成 100%的路径测试C.不提倡用不同的数据重复测试同一条路径D.即使每条路径都执行了一次,程序还是可能存在缺陷解析:解析 路径覆盖就是设计足够的测试用例,执行程序中所有可能的路径,尽管路径覆盖比判定/条件覆盖更强,但路径覆盖并不一
29、定包含判定/条件覆盖。8.同行评审主要包括管理评审、技术评审、过程评审和 (分数:2.00)A.需求评审B.文档评审 C.质量评审D.风险评审解析:解析 同行评审设计的内容很多,主要分为管理评审、技术评审、文档评审和过程评审。B 项正确。9.对于如下给出的程序段: if(AB) and(C=5) then do P1; 若考虑满足条件/判定覆盖原则以及内部边界条件,需要设计的最小测试输入数据集可能是 (分数:2.00)A.(A=2,B=1,C=5),(A=2,B=1,C=4),(A=1,B=2,C=5),(A=1,B=1,C=5) B.(A=2,B=1,C=5),(A=2,B=1,C=4),(
30、A=1,B=2,C=5),(A=1,B=2,C=4)C.(A=2,B=1,C=5),(A=2,B=1,C=4),(A=1,B=2,C=5)D.(A=2,B=1,C=5),(A=1,B=2,C=4)解析:解析 条件/判定覆盖就是设计足够的测试用例,使得判定语句中每个条件的所有可能取值至少评价一次,同时每个判定语句本身的所有可能分支也至少评价一次,根据题中条件,A 项正确。10.下列关于逻辑覆盖的说法中,错误的是 (分数:2.00)A.满足条件覆盖的测试不一定满足判定覆盖B.满足条件组合覆盖的测试一定满足判定覆盖、条件覆盖和判定/条件覆盖C.满足路径覆盖的测试也一定满足条件组合覆盖 D.满足判定/
31、条件覆盖的测试也一定满足判定覆盖和条件覆盖解析:解析 路径覆盖是设计足够的测试用例执行程序中所有可能的路径,而条件组合覆盖是设计足够的测试用例,使得每个判定的所有可能的条件取值组合至少执行一次。二者无关系。11.以下关于软件性能测试的说法中,正确的是 (分数:2.00)A.对于没有并发的应用系统而言,响应时间与吞吐量成反比关系 B.应用系统的资源利用率越高,性能也就越好C.软件性能测试是从用户视角考察软件性能D.并发进程数是软件性能测试中一种常用的性能指标解析:解析 对于 B项,资源利用率反映的是在一段时间内资源平均被占用的情况。对于 C项,软件性能测试有用户视角、管理员视角、开发人员视角。对
32、于 D项,并发进程数不是软件性能测试的指标。12.以下哪一种技术属于基于性能计数器的分析技术 (分数:2.00)A.数据流分析B.指针分析C.时间序列分析D.进程分析 解析:解析 通过进程分析,可以进一步查看每个进程的性能指标,以确定哪个进程是影响性能的原因。进程分析是指出现性能瓶颈时,可以进一步查看每个进程的性能指标,以确定哪个进程是造成性能瓶颈的原因。D 项正确。13.以下哪种软件测试属于软件性能测试的范畴 (分数:2.00)A.路径覆盖测试B.并发测试 C.安全性测试D.健壮性测试解析:解析 并发测试是指模拟多用户并发使用软件的情况,从而测试软件是否存在与并发有关的缺陷,B项正确。14.
33、以下关于软件可靠性测试的说法中,正确的是 (分数:2.00)A.软件可靠性测试是一种比白盒测试更严格的软件测试B.软件可靠性测试的代价通常比较高 C.软件可靠性测试本质上是一种黑盒单元测试D.软件可靠性测试不适用于面向对象软件测试解析:解析 软件可靠性测试是:在规定的条件下。在规定的时间内软件不引起系统失效的概率。在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。要进行测试需要经历确定可靠性目标。定义软件运行剖面,设计测试用例,实施可靠性测试,分析测试结果等阶段,因此软件可靠性测试代价非常高,软件可靠性既可用白盒测试又可用黑盒测试,软件可靠性测试也适用于面向对象软件测试。15.以下关
34、于面向对象软件测试的说法中,正确的是 (分数:2.00)A.单个成员方法的测试不属于面向对象单元测试考虑的范畴B.等价类划分测试只适用于传统软件的测试,不适用于面向对象软件的测试C.基于判定表的测试适用于面向对象软件的测试D.抽象类无法进行单元测试 解析:解析 抽象类中的方法没有具体的定义,不能进行方法层次的测试,方法层次的测试是单元测试中非常重要的方面,缺少了这一方面也就不能进行单元测试。16.以下关于面向对象软件测试的说法中,正确的是 (分数:2.00)A.大突击集成是最有效的面向对象软件集成测试策略B.在面向对象软件的单元测试中,一棵继承树上的每个类都需要进行测试 C.针对一个类的多个实
35、例间协作的测试属于面向对象软件集成测试考虑的范畴D.在面向对象软件的单元测试中,基于判定表的测试是类层次测试的常用方法解析:解析 大突击集成是常用的集成策略,虽有自己的优点,也有一些缺陷,不是最有效的测试策略。针对一个类的多个实例间协作的测试属于单元测试,在单元测试中,由于集成和多态的使用,测试不能仅限于子类,还要考虑继承树上的各个父类。17.以下关于 Web应用软件测试的说法中,正确的是 (分数:2.00)A.排版结构测试是数据层测试关注的内容B.链接测试是 Web应用软件内容测试的重要内容C.在对 Web应用软件进行系统测试时,通常需要考虑性能测试 D.测试 Web应用软件在多用户的情况下
36、是否会出现系统崩溃,属于 Web应用软件可靠性测试考虑的范畴解析:解析 排版结构测试属于表示层的测试,链接测试是功能测试的内容。对于 Web应用软件而言,性能是一个至关重要的因素。因此在对 Web应用软件进行系统测试时。必须考虑性能测试。18.以下关于 Web应用软件测试的说法中,正确的是 (分数:2.00)A.应用服务器兼容性测试是 Web应用软件业务层测试的一项内容 B.浏览器兼容性测试是 Web应用软件安全性测试的一项内容C.Web应用软件压力测试的主要内容是并发测试D.表单测试是 Web应用软件易用性测试的一项内容解析:解析 浏览器兼容性测试是 Web应用软件表示层的测试,表单测试属于
37、功能测试的内容,压力测试的目的是检查系统在压力下的稳定性。A 项正确。19.以下哪一项属于软件易用性测试关注的内容 (分数:2.00)A.Web应用软件是否支持不同厂商开发的浏览器B.软件是否提供图形用户界面 C.软件提供的功能是否丰富D.在处理复杂任务时,软件的响应时间是否符合需求解析:解析 Web 应用软件是否支持不同浏览器,软件功能是否丰富是功能测试的内容。在处理复杂性的响应时间是否符合要求是性能测试的内容,但和易用性测试无关。20.以下哪一项属于数据兼容性测试关注的范畴 (分数:2.00)A.一个软件是否支持不同的操作系统B.一个杀毒软件是否会误删其他软件保存的文件C.一个文字处理软件
38、的操作方式是否与同类软件的操作方式一致D.一个电子邮件收发软件是否可以导入以前版本保存的邮件 解析:解析 A、B、C 均属于软件兼容性测试关注的内容,D 属于数据兼容性关注的内容。21.下列有关测试过程抽象模型的描述中,正确的是 (分数:2.00)A.V模型中,单元测试验证的是程序编码 B.W模型强调,测试伴随着整个软件开发周期同步进行,测试的对象是程序和设计C.H模型的提出源自软件开发中的活动常常是交叉进行的,存在反复触发、迭代的关系D.X模型提出针对完整的程序进行集成的编码和测试解析:解析 W 模型测试的对象除了程序和设计外,还包括需求。H 模型的提出源自软件开发中的活动常常是交叉进行的。
39、但反复触发、迭代的关系发生在软件测试活动内部,与其他活动无关。X 模型提出针对单独的程序片段进行相互分离的编码和测试,不是针对完整的程序进行集成的编码和测试。22.下列有关测试执行管理的描述中,错误的是 (分数:2.00)A.测试用例执行要求保证测试结果准确完整B.对测试结果的追踪应该可追溯到具体责任人C.测试执行完成后,并不意味着测试项目的结束D.检查完所有测试用例的执行结果是否完整即可结束测试执行 解析:解析 测试用例执行要求保证测试结果准确完整。测试执行完成后需要将测试报告或质量发送出去,并得到项目经理认可才算结束。只有检查过的所有测试用倒的结果正确、准确完整才能结束测试执行。23.以下
40、有关自动化测试脚本的说法中,错误的是 (分数:2.00)A.数据驱动脚本将测试输入存储在脚本中 B.线性脚本容易受软件变化的影响,且无共享和重用的脚本C.结构化脚本的优点是健壮性更好,可以对一些容易导致测试失败的特殊情况进行处理D.共享脚本的维护开销低于线性脚本解析:解析 数据驱动脚本将测试输入存储在独立的数据文件中,A 项叙述不正确。24.以下哪一项不属于测试策划的内容 (分数:2.00)A.确定测试的充分性要求B.建立测试环境 C.提出测试的基本方法D.制定测试计划解析:解析 建立测试环境是测试执行阶段的内容。25.单元测试的测试用例设计主要依据是 (分数:2.00)A.需求规格说明B.概
41、要设计说明C.接口规格说明 D.详细设计说明解析:解析 单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。单元测试的测试用例设计主要根据接口规格说明。二、论述题(共 3题,共 50分)(总题数:3,分数:50.00)论述题 1(20分):设计黑盒测试的测试用例 某图书出租商店欲开发一个租书信息管理系统,管理图书的租借业务。 该系统的数据流图如下: (分数:20.01)(1).根据系统的数据流图,画出对应的程序功能图。(9 分) (提示;在程序功能图中不考虑文件和与文件交互的数据流,并可用状态和迁移来描述。) (分数
42、:6.67)_正确答案:( )解析:(2).计算该程序功能图的 McCabe复杂性度量。(4 分) (分数:6.67)_正确答案:(依据有向图 G环路复杂性公式:V(G)=m-n+2,其中,V(G)是环路个数,m 是有向弧个数,n 是结点个数,从上图可知,m=10,n=9,则 V(G)=m-n+2=10-9+2=3,即该程序功能图的 McCabe复杂度为 3。)解析:(3).给出该程序功能图的基本测试路径集合。(7 分) (分数:6.67)_正确答案:(测试路径集合如下: )解析:26.论述题 2(10 分): QESuite Web Version 1.0 中,已知某安全文档管理系统测试项目
43、的部分信息如下: 在测试过程中先后产生 4个测试版本。按日期排序分别为 SEDM 1.0_101009,SEDM 1.0_101025,SEDM1.0_101103,SEDM1.0_101106。 功能分类视图中部分待测区域及人员分配定义如下表所示: 已知张明在功能区域“我的安全区/导入和导出”下发现一个软件问题,下表中是该软件问题的操作历史信息,请依据 QESuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,假设下表中“执行操作”的信息均正确,请找出表中的错误并说明理由。 (分数:10.00)_正确答案:( 理由;(1)题中说产生 4个版本
44、,应该把 4个版本都考虑进去。还有最后一个要用最新的版本进行测试。如果用“解决”以前的版本进行测试,并不能反映真实的情况。用最新的版本进行测试,有问题的话,才修改状态为“打开/再现”,证明这个错误并没有真正解决。 (2)操作序号 1中一般测试人员只能提交新的软件问题入库,并将其状态置为“新建”,该行“操作后问题状态”应为“新建”。 (3)操作序号 4中测试人员查询状态为“待验”的软件问题。验证是否修复,如果已修复,则置软件问题状态为“解决”,如果没有解决则置状态为“打开”,该行“操作后的问题状态”应为“解决/修复”。 (4)操作序号 5中在以后的测试版本中,如果该问题重新出现,测试人员应该重新
45、打开此问题,并将问题状态更改为“打开/再现”。 )解析:论述题 3(20分): 已知 C源程序如下: /*/ /* 功能:检查输入的标识符是否符合 C语言规则 */ /*/ #includestdio.h #includestring.h #includectype.h #includeconio.h #includemalloc.h char*IsLegal(char*CheckWord); const int MaxWordLen=32; char*ErrorMessages= /*错误信息列表*/ “合法!“, “首字符只能是字母或下划线!“, “常、变量只能由字母、下划线和数字构成!“, “常、变量标识不能用 C语言关键字!“。 “常、变量标识不能用 C语言预定义函数名!“, “内存不够!“ ; int main() char*Prompt=“C语言标识符的命名要遵守以下原则:“; char*TestWord; int i; TestWord=(char*)malloc(sizeof(char)*MaxWordLen); /*TestWord存放用户输入*/ if(!TestWord) return 1; /*显示部分提示信息*/ puts