还剩61页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
全国计算机等级考试四级软件测试工程师模拟卷一(考试时间120分钟,满分100分)
一、选择题(1-25每题2分共50分下列各题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.在黑盒测试中,着重检查输入条件的组合是________(A)等价类划分法(B)边界值分析法(C)错误推测法(D)因果图法7.如果一个判定中的复合条件表达式为(A10)or(B=7),则为了达到100%的判定覆盖率,至少需要设计多少个测试用例________(A)1个(B)2个(C)3个(D)4个
8.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是________(A)系统功能(B)局部数据结构(C)重要的独立路径(D)出错处理9.下列关于逻辑覆盖,说法错误的是________(A)满足条件覆盖并不一定满足判定覆盖(B)满足条件组合覆盖的测试一定满足判定覆盖、条件覆盖和判定/条件覆盖(C)满足路径覆盖也一定满足条件组合覆盖(D)判定/条件覆盖同时满足判定覆盖和条件覆盖10.评审是对软件进行静态测试的一种方法,下列结论中,________是与软件评审无关的内容(A)尽量发现错误(B)根据评审标准(C)依靠测试信息(D)检查软件文档11.Myers提出的软件缺陷的群集现象指的是________(A)在软件测试过程中,缺陷不会少量出现,而会成群的出现(B)在测试一个功能部件的过程中,通常一次会发现很多缺陷(C)在测试的各个功能部件中,一般不是没有发现缺陷,就是发现许多缺陷(D)一个功能部件已发现的缺陷越多,找到它的更多未发现的缺陷的可能性就越大12.在北京某个银行的人事信息管理软件中,系统允许用户输入8位数字的北京市电话号码若使用等价类划分法设计测试用例,获得输入等价类,那么从保证测试效果的角度来看,下面最佳的测试用例选择应为________(A)62570007,80603805,100080,39103825(B)62570007,80603805(C)62570007,39103825,8253324,空值,h(D)39103825,8253324,@,139109230013.下列叙述中,说法错误的是________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)内容驱动(B)开发周期短(C)美观性要求较高(D)安全性要求较低19.下列关于Web应用软件测试的说法中,正确的是________(A)排版结构测试是Web应用软件易用性测试的重要内容(B)对于数据完整性的测试是Web应用软件业务层测试的重要内容(C)Cookie测试是Web应用软件功能测试的重要内容(D)对Web应用软件进行系统测试时不必考虑性能测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.在QESuiteWebVersion
1.0中,测试管理人员可以使用________视图,了解哪些模块存在严重的软件问题A)按功能分类视图B)按状态/子状态视图C)按子系统/状态视图D)严重性视图
二、论述题1-1每题20分2-2每题12分3-3每题18分共50分1.论述题1以下是某应用程序的输入条件限制,请按要求回答问题(20分)某应用程序的输入条件组合为姓名填或不填性别男或女状态激活或未激活
(1)对该应用程序采用正交试验设计法设计测试用例(10分)
(2)谈一下正交实验设计法设计测试用例的好在哪里(10分)2.论述题2以下是某软件的规格说明,请按要求回答问题(12分)软件规格说明文件名的第一个字符必须是A或B,第二个字符必须是数字满足则修改文件若第一个字符不为A或B,打印错误信息X12,若第二个字符不为数字,则打印错误信息X13
(1)根据软件规格说明的描述画出因果图(3分)
(2)采用因果图法设计该软件的测试用例(9分)3.论述题3用户登录界面通常需要用户输入用户名和密码,以下是系统反馈信息的几条规则,请按照要求回答问题(18分)如果用户名和密码正确无误,则显示登录成功只要用户名为空,就提示用户名不能为空,清空密码框;用户名不为空,而密码为空,则提示密码不能为空;若用户名不正确,则提示用户名错误,清空用户名框和密码框;若用户名正确,密码不正确,则提示密码错误,清空密码框;
(1)根据上述规则,设计判定表
(2)根据判定表设计测试用例(假设有一用户名/密码abc/123456,不存在名为xyz的用户)参考答案与分析
一、选择题(1-25每题2分共50分1.D2.B3.C4.C5.D6.D7.B8.A9.C10.C11.D12.C13.A14.A15.A16.C17.A18.D19.C20.C21.D22.D23.B24.A25.A
二、论述题1.问题1采用常用方法设计测试用例如下对于该程序的输入条件,因为每个条件分别有两个输入参数,如果要全部覆盖他们的输入组合,则需设计8个测试用例,分别是1填写姓名、选择男性、状态设置为激活2填写姓名、选择女性、状态设置为激活3填写姓名、选择男性、状态设置为未激活4填写姓名、选择女性、状态设置为未激活5不填写姓名、选择男性、状态设置为激活6不填写姓名、选择女性、状态设置为激活7不填写姓名、选择男性、状态设置为未激活8不填写姓名、选择女性、状态设置为未激活问题2下面采用正交试验设计法设计测试用例步骤1确定有哪些因素,即输入的条件该应用程序有姓名、性别、状态三个因素步骤2每个因素有哪几种参数,即输入条件的参数该应用程序中的因素都有两种参数,如姓名有填写和不填写两个参数步骤3选择一个合适的正交表对上述应用程序,我们可以选用L4,构造正交表,如表下所示步骤4将变量的值映射到表中,即把表中的0和1映射成条件和参数,则上表转换为下表步骤5把上表中每一行各种因素组合,即作为一个测试用例由上表有4行,故用正交试验法设计的该应用程序的测试用例有4个,分别是1填写姓名、性别为男,状态设置为激活2填写姓名、性别为女,状态设置为未激活3不填写姓名、性别为男,状态设置为未激活4不填写姓名、性别为女,状态设置为激活正交试验设计法的好处简化测试用例,是一种可以用最少的测试用例获得较为全面的测试覆盖率的设计方法,尤其对于较为复杂的程序,该方法优点显著2.问题1分析软件规格说明书,找出原因和结果并进行编号原因1-第一个字符为A2-第一个字符为B3-第一个字符为数字结果80-修改文件81-打印错误信息X1282-打印错误信息X13找出各原因和结果之间、原因和原因之间的关系,画出因果图,如图下所示问题2将上述因果图转换为判定表,如下表所示根据判定表设计测试用例,如下表所示3.
(1)根据题意设计判定表,如下表所示
(2)由判定表设计测试用例时,要求覆盖所有规则,一般针对每个规则设计一个测试用例对于该测试用例以规则所对应的条件为要求满足的输入条件,并以规则所对应的动作的动作为预期结果根据上表可以设计4个测试用例,它们分别覆盖规则1~5,如下表所示答案分析
一、选择题1.分析外部质量是针对要求的满足程度而言的,是表征软件产品在规定条件下使用时,满足规定的和隐含的要求的程度而内部质量则主要是根据软件产品的情况给出的,内部质量是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力的产品属性的全体故选项A和C叙述刚好颠倒,选项B中的性质都是属于软件的质量特性的,而选项D中关于使用质量的叙述是完全正确的2.分析验证是检查软件开发的各个阶段过程活动的结果是否满足规格说明的描述,证实各阶段和阶段之间的逻辑协调性、完备性和正确性确认是证实在一个给定的外部环境中软件的逻辑正确性,即是否满足用户的要求Bohem给出了一个经典定义验证是检查我们是否正在正确地建造一个产品,它强调的是过程的正确性而确认是检查我们是否在建成一个正确的产品,它强调的是产品的正确性3.分析软件测试生存周期模型描述了软件测试的全过程单元测试、集成测试、系统测试、验收测试和回归测试等4.分析自底向上测试与自顶向下测试策略都是增量式的测试,软件是分层设计的,主模块调用子模块,子模块又依次调用更低层次的模块,依此类推在自底向上单元测试的策略中,应首先测试最底层的模块,利用辅助的测试驱动模块调用他们并传递测试数据,然后再测试更高层次的模块,再较高层次的模块测试中可以直接调用已测试过的较低层次的模块在自顶向下测试中,首先测试的则是顶层模块,无须编写驱动模块,但要使用桩模块,当顶层模块被证明无误后,在测试下一个高层次的模块5.分析在各个时期进行的软件测试,其依据都是不同的,测试用例的设计应该与各个时期的文档有关,故测试用例的设计与需求规格说明书,程序复杂程度,源程序都是有关的而项目的开发计划是为程序的开发做准备的,与测试无关6.分析在黑盒测试中,这些测试策略基本上都要考虑输入条件的组合,但是基于因果图的方法就是着重检查输入条件组合的一种测试方法7.分析题目要求达到100%的判定覆盖率,即要求所以的判定真假都至少执行一次,故我们取定(A=12,B=7)和(A=7,B=10)两组测试用例,即可满足题目要求8.分析单元测试主要从下面五个基本特征进行测试,分别是模块接口、局部数据结构、独立路径和出错处理故不能完成的测试是系统功能,这通常是在系统测试时进行的9.分析考察各种逻辑覆盖的关系条件组合覆盖判定覆盖语句覆盖(即如果达到条件组合覆盖,就达到判定覆盖和语句覆盖;如果达到判定覆盖,就达到语句覆盖,下面类似理解)条件组合覆盖条件覆盖条件覆盖不一定包含判定覆盖、语句覆盖判定覆盖不一定包含条件覆盖路径覆盖判定覆盖语句10.分析评审是一种软件开发前期阶段人工测试的方法,主要是发现缺陷,并通过评审标准检查软件文档,故选项A、选项B和选项D都与软件评审有关而评审这一阶段是不需要依靠测试信息的11.分析Myers提出的软件缺陷的群集现象是指测试后程序中残余的错误数目与该程序中已发现的错误数目成正比即一个功能部件已发现的缺陷越多,找到它的更多未发现的缺陷的可能性就越大12.分析根据等价类划分法设计测试用例的原则13.分析自动测试脚本最好采用模块化方法14.分析增量测试策略首先要对程序的每个程序单元或程序部件单独进行测试,这种测试便是单元测试或模块测试或部件测试在单元测试时,程序员必须编写一个驱动模块,用来调用被测模块并向其传送测试数据,若该模块调用了其他模块,程序员必须编写一个桩模块,用来代替被调用的模块15.分析软件的性能是软件的一种非功能特性,响应时间软件性能指标之一,响应时间是指系统对请求作出响应的时间,对于单机的没有并发操作的应用系统而言,人们普遍认为响应时间会是一个合理且准确的性能指标,但是要指出的是,在实际测试中,响应时间的绝对值并不能直接反映软件性能的高低,软件性能的高低实际上取决于用户对响应时间的接受程度16.分析软件可靠性分析方法主要有失效模式影响分析、严酷性分析、故障树分析、事件树分析和潜在线路分析其中失效模式影响分析(FMEA)的基本假设是产品本身的逻辑没有故障,但其各部件出现的故障可能会导致产品出现故障,所以,该方法的思路是通过分析产品与其各个部件的逻辑,从而分析出各个部件的故障对整个产品可靠性的影响故当软件的各部件组成逻辑都相对简单的情况下,采用该方法是最适合的17.分析在面向对象程序测试中,通过执行程序代码完成的测试通常包括单元测试、集成测试和系统测试三个主要方面其中单元测试的基本要求是被测单元被独立地测试,而在测试面向对象程序时,由于一个类的各个成员方法通常是相互联系的,因而很难对一个类中的单个成员方法进行充分的单元测试面向对象程序中的一个类甚至也不能作为被独立测试的单元,主要原因一方面是由于继承的存在,一个类通常依赖于其父类和其他祖先类,另一方面由于面向对象程序经常出现多个类相互依赖也会导致每个类难以被独立的测试集成测试是针对程序的集成结构进行,在面向对象程序中,许多集成机制在传统结构化程序中没有,因而结构化程序的集成测试技术难以适用于对类的测试18.分析Web应用软件与其他的应用软件有较大的差别,其特点有
①基于无连接协议,
②内容驱动,
③开发周期短,
④演化频繁,
⑤安全性要求较高,
⑥美观性要求较高19.分析Web应用软件的系统测试除了功能测试外还包括性能测试、易用性测试、内容测试、安全性测试和接口测试等功能测试主要包括
①连接测试,
②表单测试,
③Cookie测试,故选项C正确,由排版结构的测试是Web应用软件表示层的测试,故A不正确而对数据完整性的测试是Web应用软件数据层的测试,故选型B不正确对于Web应用软件而言,性能测试是一个至关重要的因素,所以对Web应用软件进行系统测试时,必须考虑性能测试,故D说法错误20.分析所谓兼容性测试,是指针对软件对其运行环境的依赖进行测试,以验证软件是否能够在所有期望的环境中运行在大多数情况下,兼容性测试主要考虑硬件兼容性、软件兼容性和数据兼容性三个方面21.分析功能易用性是指用户能否方便、快速、准确地使用软件提供地功能来完成需要完成的任务一般功能易用性测试涉及面很广,其主要内容有
①业务符合度,
②功能定制性,
③功能的关联度,
④数据的共享度,
⑤用户约束的合理性,
⑥反馈的及时性22.分析极限编程强调灵活的分析和设计,极限编程与传统软件开发方法相比,有四个主要特征
①简单地分析设计,
②频繁地客户交流,
③增量式开发,
④连续的测试这些特征决定了极限编程可以随时应对新增或改变的需求单元测试是极限编程中最重要的发现缺陷的手段,主要由编码人员来完成,验收测试主要由用户来完成,但编码人员也必须在场,以便与用户进行交流另外极限编程要求在编码之前先设计测试,因为这样可提高编码人员测试自己编写代码的效率23.分析软件问题的状态定义如下新建(New)--测试中新报告的软件问题打开(Open)--软件问题已被确认并分配给相关开发工程师处理关闭(Closed)--确认为无效的软件问题待验(Pending)--工程师已完成修正,等待测试人员验证解决(Resolved)--软件问题已被修复24.分析在软件系统开发过程中,度量与分析同样体现的是全过程测试理念,对测试过程的度量有利于及时把握项目情况,对过程数据进行分析,很容易发现优势和劣势,找出需要改进的地方,及时调整测试策略所以说度量与分析是软件测试过程可持续改进的根本25.分析在QESuiteWebVersion
1.0中,可以监控软件问题报告处理过程和软件系统各模块软件问题布状况,测试管理人员使用按功能分类视图查看软件问题分布情况,可以了解哪些模块存在严重的软件问题使用按状态/子状态视图可以了解当前所有软件问题的处理状态使用按子系统/状态视图可以了解各个部分软件问题的数量情况,及时调整开发人员修复和测试人员验证的工作方向使用严重性视图可以了解当前软件问题的严重性分布
二、论述题1.分析首先考虑程序的的输入条件组合,根据路径覆盖需要8个测试用例,然后根据正交实验设计测试用例方法步骤,通过构造正交表设计测试用例最后通过结果,比较总结出正交实验设计法设计测试用例的好处2.分析首先分析题目规格说明书,找出原因和结果,以及它们相互之间的关系,画出因果图然后根据黑盒测试中基于因果图的方法设计测试用例3.分析首先根据登录界面反馈信息的规则,列出相关的条件以及动作,画出判定表,然后再根据黑盒测试中基于判定表的测试方法设计测试用例全国计算机等级考试四级软件测试工程师模拟卷二(考试时间120分钟,满分100分)
一、选择题(1-25每题2分共50分下列各题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.黑盒测试是从________观点出发的测试,而白盒测试是从________观点出发的测试(A)开发人员、管理人员(B)用户、管理人员(C)用户、开发人员(D)开发人、用户7.从已经发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为________(A)错误检测(B)故障排除(C)测试(D)调试8.下列关于逻辑覆盖的叙述,说法错误的是________(A)条件覆盖的检错能力较判定覆盖强,但有时达不到判定覆盖的要求(B)判定覆盖包含了语句覆盖,但它可能会使一些条件得不到测试(C)判定/条件覆盖包含了判定覆盖和条件覆盖的要求,实际上不一定达到覆盖的标准(D)凡满足条件组合覆盖标准的测试用例,也必然满足其他所有覆盖种类的覆盖标准9.传统集成测试的主要方法有两个,一个是________,另一个是________(A)白盒测试方法、黑盒测试方法(B)渐增式测试方法、非渐增式测试方法(C)等价类划分方法、边界值分析方法(D)因果图方法、错误推测法10.下列测试方法中,不属于白盒测试技术的是________(A)判定覆盖(B)语句覆盖(C)条件组合覆盖(D)边界值分析11.以下说法错误的是________(A)软件产品的质量越高,发布后维护成本就越低(B)在软件测试中一般只需要运行预先设计的所有测试案例(C)通常应该在需求阶段设计系统测试案例,以此作为需求检查的辅助手段(D)发现和修复产品中的软件缺陷越早,开发费用就会越低12.在银行的活期存折账户管理软件中,要求可以输入一个账户的每笔交易的金额若规定存入的金额的有效取值范围使
1.00元至
99999999.99元若考虑使用边界值分析设计关于这个金额的测试用例,下列属于它的边界值是________(A)2,9999999(B)
1.01,
99999999.99(C)
99999999.98,
9.99(D)
0.99,
100000000.0013.下列哪一项内容通常属于易用性测试的范围是________(A)安装与卸载测试(B)系统故障频率(C)联机文档中断开的链接(D)中文版与英文版的一致14.下列关于软件测试自动化,说法正确的是________(A)无法依靠人工完成的测试活动均可以通过测试自动化完成(B)输出结果不明确的测试不适合自动化(C)是否采用测试自动化与所开发的应用软件项目的性质无关(D)与手工测试相比,采用自动化测试可以明显的提高测试质量15.关于人工测试方法,说法正确的是________(A)走查以小组为单位进行,是一系列规程和错误检查技术的集合(B)同行评审的文档是一种过渡性的文档,不是公开的正式文档(C)桌上检查的文档是一个最终可交付的文档(D)评审是一项很浪费时间的活动,会减缓项目的进度16.软件性能测试的目标有________(A)发现(和改正)软件性能缺陷(B)性能调优(C)能力检验和规划(D)以上全部17.下列关于面向对象软件测试的说法中,不正确的是_______(A)面向对象软件的白盒测试不能不加改变地照搬传统软件的白盒测试准则(B)在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试(C)假设类B是类A的子类,如果类A已进行了充分的测试,在测试类B时不必测试任何类B继承类A的成员方法(D)对于一棵继承树上的多个类,处于叶子节点的类也需要测试18.Web应用软件的性能测试主要包括________(A)并发测试(B)负载测试和压力测试(C)配置测试和性能调优(D)以上全部19.下列兼容性不属于软件兼容性的考虑范畴的是________(A)与外设的兼容性(B)与不同类软件的兼容性(C)与浏览器的兼容性(D)与中间件的兼容性20.下列关于Web应用软件的系统安全检测与防护说法不正确的是________(A)对系统安全漏洞的检测同样也属于测试的范畴(B)Web应用软件的安全性仅与Web应用软件本身的开发相关(C)系统安全检测与防护应当作一个系统工程来完成,仅仅经过入侵检测和漏洞扫描是不够的,在这其中最重要的应该是建立完善的安全策略(D)访问安全是指控制外界对主机的访问,从而减少甚至避免非法的访问和使用21.下列关于软件测试过程的几种抽象模型,说法正确的是________(A)H模型指出软件测试具有独立性,只要某个测试达到准备就绪点,测试执行活动就可以开展(B)W模型强调在整个项目开发中需要经历的不同测试级别,指明测试的对象是程序(C)软件测试过程与软件开发过程不同的是,它不必遵循软件工程原理(D)V模型强调测试的对象不仅仅是程序,需求、设计等同样需要测试22.关于测试的策划,说法不正确的是________(A)测试设计的任务是执行测试用例,需要时也可以将测试用例设计与执行并行开展(B)若系统对质量要求很高,则需要开展多次的回归测试验证(C)在实际软件项目中,一个测试团队可能大都是骨干人员(D)测试团队的规模与被测系统规模、测试方资源调配情况有关23.下列关于测试策略说法不正确的是________(A)测试策略活动可以和测试设计活动并行开展(B)测试设计活动也可以和测试执行活动并行开展(C)在测试的最后阶段里,测试总结和测试执行通常并行开展(D)在实际测试过程中,要不得不将一些测试活动并行开展,主要是因为时间原因24.下列关于软件缺陷状态的定义,不正确的是________(A)New--测试中新报告的软件缺陷(B)Open--缺陷被确认并分配给相关开发工程师处理(C)Fixed--测试工程师已完成修正,等待开发人员验证(D)Closed--缺陷已被修复25.在QESAT/C中,下列属于动态测试过程步骤的是________(A)设定待测试的配置、编译相关的源程序(B)设定需插装的函数(C)运行源程序、合并动态运行的结果(D)以上全部
二、论述题1-1每题20分2-2每题12分3-3每题18分共50分1.论述题1以下是某应用程序的规格描述,请按要求回答问题(20分)程序规则实现某城市的电话号码,该电话号码由三部分组成它的说明如下区号空白或3为数字;前缀非0或1开头的3为数字;后缀4位数字请分析该程序的规则说明和被测程序的功能,采用等价类划分方法设计测试用例(10分)2.论述题2你认为应该由谁来进行确认测试?是软件开发者还是软件用户?为什么?(12分)3.论述题3以下电费计算的几条规则,请按要求回答问题(18分)一些城市的电力公司把用户分为两类单费率用户和复费率用户对于单费率用户实行单一电价,即在任何时间短都是一个价;对于复费率用户在不同时段实行不同的电价有4条计算电费的规则对于单费率用户,按公式A计算电费;对于复费率用户,如果不在规定期间内,同单费率用户,按照公式A计算电费,否则按公式B计算;如果既不是单费率用户也不是复费率用户,则做其他处理
(1)根据上述要求,设计判定表(10分)
(2)根据上述判定表设计测试用例,尽量使其覆盖所以得情况(8分)参考答案与分析
一、选择题(1-25每题2分共50分1.A2.C3.A4.A5.A6.C7.D8.D9.B10.D11.B12.D13.B14.B15.A16.D17.C18.D19.A20.B21.A22.C23.C24.C25.D
二、论述题1.问题1解答首先分析程序的规则说明和被测程序的功能,将其划分等价类并编号,如下有效等价类输入
(2)区号空白;
(3)区号3位数字;
(4)前缀从100-999的3位数字;
(5)后缀4位数字无效等价类输入
(1)区号有非数字字符;
(2)区号少于3位数字;
(3)区号多于3位数字;
(4)前缀有非数字字符;
(5)前缀起始位为0;
(6)前缀少于3位数字;
(7)前缀多于3位数字;
(8)后缀有非数字字符;
(9)后缀少于4位数字;
(10)后缀多于4位数字问题2根据上述等价类的划分,设计测试用例如下有效测试用例输入,如下表所示无效的测试用例输入,如下表所示2.在对照需求做功能测试和软件配置复审时,是由软件开发者在开发环境下进行的测试而接下来做验收测试时则以用户为主软件开发人员和QA(质量保证)人员也应参加由用户参加设计测试用例,使用用户界面输入测试数据,并分析测试的输出结果一般使用生产中的实际数据进行测试如果软件是为多个客户开发的,则需要进行α测试和β测试α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试软件在一个自然设置状态下使用开发者坐在用户旁边,随时记下错误情况和使用中的问题这是在受控制的环境下进行的测试β测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试这些用户是与公司签定了支持产品预发行合同的外部客户,他们要求使用该产品,并愿意返回有关错位错误信息给开发者与α测试不同的是,开发者通常不在测试现场因而,β测试是在开发者无法控制的环境下进行的软件现场应用3.
(1)根据题意设计判定表,如下表所示
(2)由判定表设计测试用例时,要求覆盖所有规则,一般针对每个规则设计一个测试用例对于该测试用例以规则所对应的条件为要求满足的输入条件,并以规则所对应的动作的动作为预期结果根据表可以设计4个测试用例,它们分别覆盖规则1~4,如下表所示答案分析
一、选择题1.分析软件产品质量的属性有很多,其中软件产品首先要满足的就是客户的功能需求性能需求包括处理和响应时间,约束条件则是标识外部硬件、可用存储或其他现有系统对软件的限制功能、性能和约束必须在一起进行评价另外软件产品还应具备一定的可扩展性和灵活性,应能够有效的处理例外或异常情况,具有一定的容错、纠错能力总之,软件质量实际上是各种特性的复杂组合2.分析使用质量是从用户观点来对软件产品提出的质量要求,所以它的度量主要是针对用户使用的绩效,而不是软件自身的特性,使用质量是面向用户的内部和外部质量的组合效果使用质量与其他软件产品质量特性之间的关系取决于用户的类型对最终用户来说,使用质量主要是功能性、可靠性、易用性和效率的结果对维护软件的人员来说,使用质量是可维护性的结果对移植软件的人员来说,使用质量是可移植性的结果3.分析规划阶段的测试实际上就是对需求获取和定义阶段进行的测试,产品规划小组应由系统分析员、销售人员和市场营销人员以及产品经理等组成,他们对产品进行定义,制作演示模型,以阐明他们的构想规划人员目的是编写文档来知道将来的开发工作4.分析软件的外部设计是从用户的角度对产品进行描述的,外部设计规格说明是在外部设计期间产生的文档,用户手册是另一种文档,与外部设计规格说明不同的是,它是在需求获取与定义阶段就开始建立,以后要不断细化和完善的文档5.分析自底向上测试和自顶向下测试都是增量式的测试方法,在自底向上测试中,首先测试最底层的模块,利用辅助的驱动模块调用,然后测试高层次的模块而自顶向下测试则刚好相反,它是首先测试顶层模块,无需编写驱动模块,但要使用桩模块,然后测试下一层模块二者各有优缺点,但权衡来看,自底向上测试的方法要优于自顶向下测试方法6.分析黑盒测试是从用户观点出发的测试,不需要了解程序的内部逻辑,而白盒测试是从开发人员的观点出发的测试7.分析对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这一过程称为排错,也称调试8.分析考察各种逻辑覆盖的关系9.分析传统的集成测试分为渐增式集成测试方法和非渐增式集成测试方法10.分析边界值分析属于黑盒测试11.分析测试用例是在测试过程中设计的,并非要预先设计的只有在极限测试时要预先设计测试用例,通常情况都不需要12.分析边界值的概念13.分析易用性测试包括对用户文档的测试、易安装性测试、功能易用性测试和用户界面测试选项B中系统故障频率不属于易用性测试范围14.分析对于软件自动化测试的理解当输出结果不明确的情况时不适合采用自动化测试的15.分析桌上检查的文档一种过渡性的文档,不是公开的正式文档,而同行评审的产品可以理解成最终产品的组成部分,同行评审是在软件开发过程中产生需要的一个可交付的文档在软件开发过程中,真正造成项目进度缓慢的是各种各样的产品缺陷,同行评审不仅可以缩短工作时间,同时还可以节约大量成本选项A走查以小组为单位进行,是一系列规程和错误检查技术的集合,说法完全正确16.分析软件性能测试的目标不仅仅是发现(和改正)软件性能缺陷,还包括探索和规划软件的实际性能具体而言,软件性能测试包括以下几方面的目标
①发现性能缺陷;
②性能调优;
③能力检验和规划17.分析装、继承和多态是面向对象软件区别于传统的结构化软件的三个主要特点,然而这些特点都可能对测试带来困难选项C中考察继承和继承与多态的复合对测试的影响,假设类B是类A的子类,如果类A已进行了充分的测试,若按传统的测试充分性准则,在测试类B时可以把关注点放在类B自身定义的成员变量和成员方法上,但在实际测试类B时,这样的测试往往会不够充分,还是要对类B继承类A的成员方法进行测试的,而且对于一棵继承树上的多个类,仅对处于叶节点的类进行测试也是不充分的18.分析Web应用软件的性能测试主要包括以下三个方面
①并发测试,
②负载测试和压力测试,
③配置测试和性能调优19.分析一般软件兼容性测试主要考虑
①与操作系统的兼容性,
②与数据库的,
③与浏览器的兼容性,
④与中间件的,
⑤与其他软件的兼容性,这里包括与其他支撑软件的兼容性、与其他同类软件的兼容性、与不同类软件的兼容性三种情况,
⑥与平台软件的兼容性选项A中与外设的兼容性属于硬件兼容性的考虑范畴20.分析系统的安全漏洞其实也算是系统的缺陷,所以安全漏洞的检测也属于测试的范畴实际上,Web应用软件的安全性不仅仅与Web应用软件本身的开发相关入侵检测和漏洞扫描是系统安全检测与防护的两个重要方面,但对于实际的安全检测与防护,仅注意这两个方面是不够的,而应该把系统安全检测与防护当作一个系统工程来完成,而这其中最重要的是建立完善的安全策略访问安全就是指控制外界对主机的访问,从而减少甚至避免非法的访问和使用,因此访问安全策略又称为访问控制策略21.分析软件测试过程体现了软件测试的流程和方法,与软件开发过程一样,都遵循软件工程原理,遵循管理学原理,故选项C不正确V模型反映出测试活动与分析设计活动的关系,强调了在整个项目开发过程中需要经历的不同测试级别,忽视了测试的对象不应该仅仅是程序,W模型是对V模型进行了补充,明确指出测试的对象不仅仅是程序,需求、设计等同样需要进行测试,H模型指出软件测试是一个独立的流程,只要某个测试达到准备就绪点,测试执行活动就可以开展,软件测试贯穿于产品的整个生命周期,与其他流程可以并发进行22.分析在实际的软件项目中,一个测试团队不可能大都是骨干人员,要考虑成本23.分析一般的测试过程是按测试策划、测试设计、测试执行和测试总结四个测试活动顺序开展的但实际测试项目中,由于时间紧迫,有时不得不将一些测试活动并行开展,如可以将测试策划和测试设计活动并行开展,测试设计活动也可以和测试执行活动并行开展,但测试总结和测试执行一般不会并行开展,但可以提前编写相应的文字内容24.分析Fixed实际上是指开发工程师已完成修正,等待测试人员验证的缺陷状态25.分析态测试信息是指将被测程序运行后才能获得的测试信息做动态测试之前必须先通过静态分析,动态测试过程的步骤如下设定待测试的配置设定需插装的函数编译相关的源程序运行源程序合并动态运行的结果
二、论述题1.分析首先分析程序的规则说明和被测程序的功能,将其输入情况划分为有效等价类和无效等价类,然后按照等价类设计测试用例的方法设计有效的测试用例和无效的测试用例2.分析首先搞清楚确认性测试的含义及整个测试过程,在确认测试阶段主要任务是确认软件的有效性,即确认软件的功能和性能及其他特性是否与用户的要求一致该阶段需要做的工作包括功能测试和软件配置复审具体由谁来执行,应根据阶段不同而不同3.分析首先根据电费计算的规则,列出相关的条件以及动作,画出判定表,然后再根据黑盒测试中基于判定表的测试方法设计测试用例全国计算机等级考试四级软件测试工程师模拟卷三(考试时间120分钟,满分100分)
一、选择题(1-25每题2分共50分下列各题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.下列关于逻辑覆盖的叙述中,说法错误的是________(A)对于多分支的判定,判定覆盖要使每一个判定表达式获得每一种可能的值来测试(B)语句覆盖是比较弱的覆盖标准(C)语句覆盖较判定覆盖严格,但该测试仍不充分(D)条件组合覆盖是比较强的覆盖标准7.下列叙述中,正确的是________(A)软件测试的目标是保证交付的软件产品不包含缺陷(B)软件测试有利于降低软件产品发布后的维护费用(C)测试包是指一个测试脚本,它由一组顺序执行的测试用例组成(D)在V模型中,集成测试用例的设计对应于软件需求分析活动8.一个多用户的应用系统通常有用户管理功能,允许增加新的用户用户信息一般包括用户名,假设规定用户名必须是以字母开头的、不超过8个字符的字母数字串,那么,下面哪组值均属于用户名的无效等价类________(A)li1111111,GlenfordMyers,123B123(B)Lin-Yie,Lin-feng,空值,linyifei(C)lin-yifei,空值,MyersG.,genford(D)lin-yifei,lin-fen,a111111,genford9.下列情况通常会考虑使用自动测试的是________(A)对软件产品的次要部件进行测试(B)所开发的软件产品的需求不稳定(C)需要反复执行的测试,使用不同输入数据值进行反复测试(D)由客户方组织的验收测试10.同行评审是一种通过作者的同行来确认缺陷和需要变更区域的检查方法它主要分为管理评审、技术评审、过程评审和________(A)误差评审(B)项目评审(C)文档评审(D)组织体系评审11.以下哪种软件测试属于不属于软件性能测试的范畴_______(A)接口测试(B)并发测试(C)压力测试(D)配置测试12.软件可靠性测试的目的是________(A)发现软件缺陷(B)预测软件正式运行中的可靠性(C)控制测试过程(D)修改软件缺陷13.下列关于面向对象测试问题的说法中,不正确的是________(A)在面向对象软件测试时,设计每个类的测试用例时,不仅仅要考虑调用各个成员方法的输入参数,还需要考虑如何设计调用的序列(B)构造抽象类的驱动程序会比构造其他类的驱动程序复杂(C)类B继承自类A,如果对B进行了严格的测试,就意味着不需再对类A进行测试(D)在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试14.在面向对象软件的基干集成测试策略中,将基干中的模块形成基干子系统使用的集成方式是________(A)大突击集成方式(B)自底向上集成方式(C)自顶向下集成方式(D)综合集成方式15.以下哪一项不属于Web应用软件表示层测试关注的范畴是________(A)排版结构的测试(B)链接结构的测试(C)客户端兼容性的测试(D)数据完整性测试16.下面Web应用软件的测试策略中,不属于表示层的测试内容的是________(A)链接结构的测试(B)浏览器兼容性的测试(C)排版结构的测试(D)服务器端程序的测试17.下列不属于与浏览器兼容性测试考虑的问题是________(A)软件是否可以在不同的J2EE中运行(B)不同的浏览器是否可以提供合适的安全设置(C)脚本和插件是否适用于不同的浏览器(D)符合最新HTML版本的页面能否在浏览器中正确显示18.下列不属于易用性测试的是________(A)易安装性测试(B)兼容性测试(C)用户界面测试(D)功能易用性测试19.下列选项中,不属于面向构件提供者的构件测试目标是________(A)检查为特定项目而创建的新构件的质量(B)检查在特定平台和操作环境中构件的复用、打包和部署(C)尽可能多地揭示构件错误(D))验证构件的功能、接口、行为和性能20.在极限测试过程中,贯穿始终的是________(A)单元测试和集成测试(B)单元测试和系统测试(C)集成测试和系统测试(D)集成测试和验收测试21.没有正确修复的缺陷,需要进一步修复的缺陷是________(A)NewMoreInfo(B)Diferred-NextBuild(C)Diferred-NextMainReleas(D)Reopen22.软件过程管理最起码的要求是________(A)管理好软件缺陷报告(B)管理好软件测试用例(C)管理好测试过程工具(D)管理好测试说明文档23.若是软件企业内部测试团队开展的软件测试,最适合采用________来组织测试(A)H模型(B)V模型(C)W模型(D)X模型24.测试人员和开发人员交流的纽带是________(A)软件设计报告(B)测试说明文档(C)软件缺陷报告(D)测试执行报告25.用QESAT/C工具进行软件分析与测试时,以下说法错误的是________(A)白盒测试又称为程序结构测试,它主要进行程序逻辑结构的覆盖测试(B)在进行测试之前,必须先建立以.prj为后缀的测试项目(C)被测源文件可放在任意目录下(D)进行软件静态分析不必运行被测程序
二、论述题1-1每题20分2-2每题12分3-3每题18分共50分1.论述题1以下是某软件项目规格说明,请按要求回答问题(20分)某一软件项目的规格说明对于处于提交审批状态的单据,数据完整率达到80%以上或已经过业务员确认,则进行处理
(1)请根据规格说明,画出对应的因果图(10分)
(2)采用基于因果图的方法为该软件项目设计测试用例(10分)2.论述题2以下是某程序说明,请按要求回答问题(12分)程序说明假设有一个把数字串转换为整数的函数其中数字串要求长度为1-6个数字构成,机器字长为16位分析程序中出现的边界情况,采用边界值法为该程序设计测试用例(12分)3.论述题3简单谈一下你对穷举测试的理解,并按要求回答问题(18分)
(1)穷举测试的方法对于所有项目程序都是可行的么?(5分)
(2)若是针对小型的程序,穷举测试是可能的么?若是,说明此时采用穷举测试能否保证程序是百分之百正确呢?(13分)参考答案与分析
一、选择题(1-25每题2分共50分1.C2.C3.D4.B5.C6.C7.B8.A9.C10.C11.A12.B13.C14.A15.D16.D17.A18.B19.A20.D21.D22.A23.A24.C25.B
二、论述题1.问题1解答首先根据规格说明,列出所有可能的输入和输出,得到如下结果输入处于提交状态、数据完整率达到80%以上、已经过业务员确认输出处理或不处理找出所有输入与输出的关系,通过分析,得到以下的对应关系如果单据处于提交审批状态且数据完整率达到80%以上,则处理;如果单据不处于提交审批状态,则不处理;如果单据处于提交审批状态,数据完整率未达到80%以上,但已经过业务员确认,则处理下面列出所有的原因和结果,并进行编号,根据上面分析的关系,画出因果图,如图17-2所示原因1处于提交状态2数据完整率未达到80%以上3已经过业务员确认结果21处理22不处理问题2解答首先将上面的因果图转换成判定表,如下表所示然后将判定表中的8列转换成测试用例即可2.分析该程序的说明和功能,显然可以划分四组测试等价类有效输入等价类、无效输入等价类、合法输出等价类和非法输出等价类在考虑该程序的合法输出和非法输出时需要考虑计算机的字长,这时要进行边界值法设计测试用例,以补充等价类法设计的测试用例具体采用边界值法设计的测试用例如下
(1)使程序输入刚好等于最小的负整数输入-32768输出-32768
(2)使程序输入刚好等于最大的正整数输入32767输出32767
(3)使程序输入刚好小于最小的负整数输入-32769输出错误
(4)使程序输入刚好大于最大的正整数输入32768输出错误3.问题1不是穷举测试的方法并不是对所有程序都可以实现问题2对小程序进行穷举测试,也不见得能保证程序百分之百正确所谓穷举测试是拿所有可能的输入数据来作为测试用例(黑盒测试),或覆盖程序中所有可能的路径(白盒测试)对于小程序来说,实际上并不能真正作到穷举测试答案分析
一、选择题1.分析白盒测试又称为逻辑驱动测试,这种测试策略是对程序的逻辑结构进行检查,从中获取测试数据所以说白盒测试是一种以程序内部的逻辑结构为基础的测试用例设计技术2.分析白盒测试是程序员十分了解程序的前提下,对程序的逻辑结构进行的测试而黑盒测试则将程序视为一个黑盒子,仅仅是测试人员提供数人数据,观察输出数据,并不了解程序是如何运行的,结构测试属于白盒测试,关注的是如何选择合适的程序或子程序路径来执行有效的检查功能测试则属于黑盒测试,对功能的测试通常通过提供输入数据,检查实际输出的结果,很少考虑程序的内部结构3.分析程序设计过程中,要为程序调试做好准备,主要体现在
①采用模块化、结构化的设计方法设计程序;
②根据程序调试的需要,选择并安排适当的中间结果输出必要的断点;
③编写程序时要为调试提供足够的灵活性4.分析软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中最基础的是单元测试5.分析在逻辑覆盖中,测试覆盖最弱的是语句覆盖6.分析考察白盒测试中各种逻辑覆盖之间的关系7.分析软件测试的目标是发现缺陷,证明程序有错而非证明其正确故A不正确8.分析考察黑盒测试中的等价类划分测试9.分析考虑自动测试的优点就是为了解决重复的人工操作进行的10.分析同行评审是一种通过作者的同行来确定缺陷和需要变更区域的检查方法涉及的内容很多,主要可以分为管理评审、技术评审、文档评审和过程评审11.分析依据测试目的的不同,可以把软件性能测试及与性能有关的其他测试分为以下几类
(1)性能测试(PerformanceTesting)
(2)并发测试(ConcurrencyTesting)
(3)压力测试(StressTesting)
(4)可靠性测试(ReliabilityTesting)
(5)负载测试(LoadTesting)
(6)配置测试(ConfigurationTesting)
(7)失效恢复测试(RecoveryTesting)12.分析与其他的软件测试不同,软件可靠性测试的目的不在于通过测试揭示软件中的缺陷并通过修改软件缺陷来提高软件可靠性,而是通过受控的软件测试过程来预测软件在实际运行中的可靠性,即收集软件测试时揭示软件故障的情况,并对其进行整理从而为分析和预测软件实际的可靠性提供帮助13.分析由于面向对象具有封装的特点,在设计类的测试用例时,不仅要考虑各成员方法的输入参数,还要考虑如何设计调用的序列若类B继承自类A,如果对B进行了严格的测试,有些情况也许可以就不对类A进行测试,但由于继承的存在,就会导致类A的规格说明可能与类B不一致,此时就必须按照类A的规格说明重新对类A重新进行测试多态是指对一个类的引用可以与多个类的实现绑定抽象类是指只有一些成员方法而没有其实现的类,甚至有的抽象类中的所有成员方法都没有实现,在测试抽象类时,需要为抽象类构造一个子类,并实现所有抽象类没有实现的成员方法,这也说明构造抽象类的驱动程序显然比构造其他类的驱动程序复杂14.分析面向对象软件的基干集成测试策略的具体测试步骤为
①对基干中的每个模块进行孤立的、充分的测试
②对基干中的所有模块进行一次性集成,形成基干子系统,并使用一个驱动模块检查使用经过一次性集成的基干此时采用的是大突击集成方式
③对应用的控制子系统进行自顶向下的集成
④集成基干和控制子系统,重新构造控制子系统
⑤对各应用子系统采用自底向上的集成策略
⑥集成基干子系统、控制子系统和各应用子系统,形成整个系统基干集成的优点是集成了自底向上集成、自顶向下集成和大突击集成三者的优点,而对三者的缺点也进行了控制,更适合于大型复杂项目的集成15.分析Web应用软件表示层的测试主要集中在客户端,测试的内容包括
(1)排版结构的测试
(2)链接结构的测试
(3)客户端程序的测试
(4)浏览器兼容性测试16.分析通常Web应用软件的测试分为三层表示层、业务层和数据层其中表示层的测试主要集中在客户端,测试内容主要包括
①排版结构的测试,
②链接结构的测试,
③客户端程序的测试,
④浏览器兼容性测试17.分析软件兼容性的测试问题包括符合最新HTML版本的页面能否在浏览器中正确显示脚本和插件是否适用于不同的浏览器,某些脚本和插件只适用于特定的浏览器,如ActiveX,只有IE浏览器支持不同的浏览器对于安全性的设置各有不同,需要测试不同浏览器是否可以为使用该Web应用提供合适的安全设置18.分析易用性测试一般不仅针对应用程序,还要包括用户文档,除了对用户文档的测试,易用性测试主要包括三个方面易安装性测试、功能易用性测试和用户界面测试而兼容性测试是与易用性测试并列的测试方法,二者不存在包含关系19.分析面向构件提供者的测试目标是
①尽可能多地揭示构件错误,
②验证构件的功能、接口、行为和性能,以保证它们符合给定地构件规约,检查在特定平台和操作环境中构件的复用、打包和部署而面向构件复用者的测试目标是
①验证可复用构件的功能和性能,
②在特定平台和操作环境下,确保可复用构件的正确使用和部署,
③检查可复用构件定制而成的构件的质量,
④检查为特定项目而创建的新构件的质量20.分析极限编程采用的是一种频繁迭代的开发方式,整个软件项目由一系列增量式开发组成而极限测试本质上就是为了满足极限编程的思想和流程而设计的一套测试策略和流程,从极限测试流程图中,我们可以看出,单元测试和验收测试是贯穿始终的关键步骤21.分析定义软件缺陷的状态如下新错误(New)--测试中新报告的软件缺陷更多新信息(NewMoreInfo)--开发工程师认为报告的缺陷信息不完整,要求缺陷报告者添加更准确的缺陷信息打开(Open)--缺陷被确认并分配给相关开发工程师处理拒绝(Declined)--拒绝修改缺陷修正(Fixed)--开发工程师已完成修正,等待测试人员验证重新打开(Reopen)--没有正确修复的缺陷,需要进一步修复延期(Diferred)--不在当前版本修复的缺陷,以后的版本修复,包括两种情况
①延期-下个版本(Diferred-NextBuild)--本项目的下一个新版本修复
②延期-下个主要版本(Diferred-NextMainRelease)--本项目不修复,本软件下一个项目的版本修复关闭(Closed)--缺陷已被修复22.分析软件缺陷报告是软件测试过程中的核心测试产品之一,也是重要的测试产品,因此管理好软件缺陷报告是软件过程管理最起码的要求23.分析假如是软件企业内部测试团队开展的软件测试,由于软件测试介入较早,在测试开始时被测系统很可能是不完整的,会不断有新的系统模块加入到系统中,因此最适合采用H模型来组织测试,可以为每一个新增的系统模块设计一次系统测试24.分析软件缺陷报告是测试人员和开发人员交流的纽带25.分析白盒测试又称为程序结构测试,它主要进行程序逻辑结构的覆盖测试用QESAT/C工具进行测试之前,首先应定义项目文件,用以描述被测程序的组成,该项目文件通常以.pjt作为扩展名的用QESAT/C工具进行软件分析与测试时,被测源文件可放在任意目录下进行软件静态分析不必运行被测程序,便可得到程序的结构信息及程序的复杂度信息,将被测程序运行后才得到的信息就是动态测试信息
二、论述题1.分析首先根据程序的规格说明,根据所有可能的输入和输出条件,找出所有的原因和结果以及二者之间的关系,画出因果图然后基于因果图的方法设计测试用例2.分析首先根据程序的规格说明,考虑所有可能的边界情况,然后根据边界值方法设计测试用例3.分析在黑盒测试中,测试数据完全来源于软件的规格说明,即不需要了解程序的内部结构若要用这种方法来发现程序中的所有错误,可行的途径就是穷举测试但在实际情况下,该方法仅对一些小型简单的程序适用,而对于一些大型或稍微复杂的程序都是不可能实现的全国计算机等级考试四级软件测试工程师模拟卷四(考试时间120分钟,满分100分)
一、选择题(1-25每题2分共50分下列各题A、B、C、D四个选项中,只有一个选项是正确的请将正确选项填涂在答题卡相应位置上,答在试卷上不得分1.下列关于缺陷产生原因的叙述中,不属于技术问题的是________(A)文档错误,内容不正确或拼写错误(B)系统结构不合理(C)语法错误(D)接口传递不匹配,导致模块集成出现问题2.Myers在1979年提出了一个重要观点,即软件测试的目的是为了________(A)证明程序正确(B)查找程序错误(C)改正程序错误(D)验证程序无错误3.不需要运行程序,通过收集有关代码的结构信息来对程序进行的测试的是________(A)性能测试(B)黑盒测试(C)白盒测试(D)静态分析4.在软件生存周期中占据时间最长的是________(A)运行和维护阶段(B)软件开发阶段(C)需求分析阶段(D)软件设计阶段5.使用白盒测试方法时,确定测试数据应根据________和指定的覆盖标准(A)程序的复杂结构(B)程序的内部逻辑(C)使用说明书(D)程序的功能6.为提供集成测试的效果,软件的集成工作最好由________来承担(A)该软件的设计人员(B)该软件的编程人员(C)该软件开发组的负责人(D)不属于该软件开发组的软件设计人员7.下列几种逻辑覆盖标准中,查错能力最强的是________(A)语句覆盖(B)条件覆盖(C)判定覆盖(D)条件组合覆盖8.下列关于测试策略,说法错误的是________(A)自底向上测试的优点是随着上移,驱动模块逐步减少,测试开销小一些(B)自顶向下测试的优点是较早的发现高层模块接口、控制等方面的问题(C)自底向上测试的优点是比较容易设计测试用例(D)自顶向下测试的优点是使得低层模块的错误较早发现9.通常测试人员判定一个运行结果中存在缺陷的准则是________(A)开发人员承认这个运行结果中存在缺陷(B)测试人员可以从中找出缺陷的证据(C)这个运行结果与测试案例中的预期结果不一致(D)这个运行结果与测试人员预期的不一致10.等价类划分和边界值分析是常用的两种黑盒测试方法,采用这两种方法,可以大幅度减少测试用例的数量,那么,它们的局限性是________(A)在设计测试用例时不能将这两种方法结合在一起同时使用(B)不同输入变量之间可能存在约束关系,它们不能处理这类约束关系(C)不能用于大型信息系统的测试用例的设计(D)不能用于单元测试和集成测试11.下列关于测试方法,说法正确的是________(A)白盒测试不同于黑盒测试之处是它可以减少测试用例数量(B)覆盖所有独立路径就能够覆盖所有分支(C)在单元测试中不使用黑盒测试技术(D)满足分支覆盖就满足条件覆盖和语句覆盖12.传统的集成测试策略一般分为两种一是非渐增式集成策略,二是渐增式集成策略二者的区别是________(A)在集成测试中发现问题时,前者比后者更容易进行问题定位(B)后者比前者更适合大规模应用系统的集成测试(C)前者需要开发驱动模块和桩模块,而后者不需要(D)前者不需要所有模块就绪,而后者需要13.软件测试自动化是指利用好的测试工具以自动运行测试用例软件测试自动化的好处在于________(A)比手工测试发现更多的软件缺陷(B)可以自动产生测试计划(C)使输入值组合的覆盖率达到100%(D)可以在较少的时间内运行更多的测试用例14.下列选项中,评审方法是按照正式化程度逐渐增强排列的是________(A)临时评审、轮查、结对评审、走查、正式审查(B)临时评审、走查、结对评审、轮查、正式评审(C)临时评审、走查、小组评审、结对评审、正式评审(D)正式评审、小组评审、走查、结对评审、临时评审15.下列关于软件性能测试的说法中,正确的是________(A)性能测试的目的不是为了发现软件缺陷(B)压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力(C)性能测试通常要对测试结果进行分析才能获得测试结论(D)在性能下降曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处16.软件可靠性分析方法通常不依赖于概率统计的方法,下面属于软件可靠性分析方法的是________(A)失效模式影响分析法(FMEA法)(B)故障树和事件树分析法(C)潜在线路分析法(D)以上全部17.下列关于面向对象集成测试的说法中,正确的是________(A)大突击集成是面向对象集成测试最常用且最有效的方法(B)自底向上集成和自顶向下集成都需要为集成测试开发大量代码(C)与自底向上集成和自顶向下集成相比,基干集成是一种更充分的集成测试策略(D)高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试18.对采用迭代或增量开发过程模型开发的产品进行集成测试时最适合采用的集成策略是________(A)传统的集成测试策略(B)基于使用的集成测试策略(C)基干集成测试策略(D)高频集成测试策略19.对于Web应用软件系统测试技术,下列不属于功能测试的是________(A)表单测试(B)并发测试(C)链接测试(D)Cookie测试20.关于易用性测试,说法错误的是________(A)用户界面测试是软件易用性测试最重要的一项内容(B)对软件功能的动态关联进行测试可以通过检查菜单完成(C)使用软件的目的就是减少重复输入,减轻人工劳动,提高工作效率(D)检查和评估软件安装手册的正确性和易用性是安装性测试的重要内容21.关于内置式合约测试(BICT),下列说法错误的是________(A)加了测试器构件和测试处理器构件,使被测构件具有自测试能力(B)该测试方法可用于动态、分布式系统(C)该测试方法的提出扩展了基于构件的软件工程实践(D)提出的模型驱动方法效率很高22.下列测试类型中,不是针对软件产品的质量特性的是________(A)性能测试(B)安全性测试(C)易用性测试(D)回归测试23.下面有关测试设计的叙述,说法不正确的是________(A)测试用例的设计是一项技术性强、智力密集型的活动(B)在测试用例设计时,只设计覆盖正常流程和操作的测试用例即可(C)在开展测试用例设计前,必须将测试需求进行详细展开(D)在一般的测试组织内,测试用例的评审可能不是正式的评审会24.测试项目实践中,测试策划活动的目标是________(A)确定测试范围(B)划分测试任务(C)编写测试计划文档(D)组织测试团队25.下列属于QESAT/C的优点是________(A)及早地发现程序中隐藏地错误(B)快捷有效地理解程序结构(C)帮助分析和测试程序(D)以上全部
二、论述题1-1每题20分2-2每题12分3-3每题18分共50分1.论述题1以下是一软件规格说明,请按要求回答问题(20分)软件规格说明某工厂招工规定,报名者年龄应该在16周岁到35周岁之间(到2005年12月31日为止),即出生年月不在上述范围内的人员将不予接受,并显示年龄不合格的出错信息
(1)请根据规格说明,划分等价类(10分)
(2)使用等价类划分方法为该软件设计测试用例(10分)2.论述题2以下是某象棋中走马事件应用程序的走马规则,请按要求回答问题(12分)以下是中国象棋中走马事件中的走马原则1)如果落点在棋盘外,则不移动棋子2)如果落点与起点不构成日字型,则不移动棋子3)如果落点处有己方棋子,则不移动棋子4)如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子5)如果不属于
(1)~
(4)条,且落点处无棋子,则移动棋子6)如果不属于
(1)~
(4)条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子7)如果不属于
(1)~
(4)条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束
(1)画出该应用程序的因果图(3分)
(2)对该软件进行基于因果图的方法设计测试用例(9分)3.论述题3针对以下C语言程序,请按要求回答问题(18分)下面是一个程序段(C语言),试设计基本路径测试的测试用例,设计出的测试用例要保证每一个基本独立路径至少要执行一次函数说明当i_flag=0;返回i_count+100当i_flag=1;返回i_count*10否则返回i_count*20输入参数inti_countinti_flag输出参数inti_return程序代码如下1intTestinti_countinti_flag2{3inti_temp=0;4whilei_count05{6if0==i_flag7{8i_temp=i_count+100;9break;10}11else12{13if1==i_flag14{15i_temp=i_temp+10;16}17else18{19i_temp=i_temp+20;20}21}22i_count--;23}24returni_temp;25}
(1)画出该函数的控制流程图(8分)
(2)采用基本路径测试法设计一组测试用例,保证每个基本独立路径都至少执行一次(10分)参考答案与分析
一、选择题(1-25每题2分共50分1.B2.B3.D4.A5.B6.B7.D8.D9.C10.B11.B12.B13.D14.C15.C16.D17.B18.D19.B20.B21.D22.D23.B24.C25.D
二、论述题1.问题1解答根据题意,划分等价类假定已知出生年月由六位数字字符表示,前四位代表年,后两位代表月,则可以划分三个有效等价类和七个无效等价类具体如下有效等价类出生年月
(1)六位数字对应数值
(5)197003-198912月份对应数值
(8)在1-12之间无效等价类出生年月
(2)含非数字字符
(3)少于六个数字字符
(4)多于六个数字字符对应数值
(6)小于197003
(7)大于198912月份对应数值
(9)等于0
(10)大于12问题2解答根据上述等价类划分,设计测试用例有效等价类的测试用例,如下表所示无效等价类的测试用例,如下表所示2.问题1解答第一步,从中国象棋中走马事件中的走马原则的描述中,明确原因和结果原因1落点在棋盘上2落点与起点构成日字3落点处无己方棋子4落点方向的邻近交叉点无棋子5落点处无棋子6落点处为对方棋子(非老将)7落点处为对方老将结果21.不移动棋子22.移动棋子23.移动棋子,并除去对方棋子24.移动棋子,并提示战胜对方,结束游戏第二步,根据上面分析的原因和结果,结合题目中二者的关系,建立因果图其因果图如图???所示,图中,结点11是导出结果的进一步原因第三步,标记约束由于4种结果不能同时发生,所以在因果图上标记O(唯一)约束由于原因
5、
6、7不能同时发生,所以在因果图上标出E(异)约束问题2解答根据上面的因果图,建立对应的判定表在该应用程序中,原因有7个,一个完整的判定表应有27=128种情况由于篇幅的限制,且考虑到
5、
6、7原因只与中间结果11有关,所以这里将完整的判定表拆分为两个子表,下面两个表所示对于结果
22、
23、24,中间结果是原因,因此在后一个表中,将11作为原因由表可知,当结点11为1时,结果21为0由于结果
21、
22、
23、24受到O约束的限制,不能同时为0,所以在表17-13中的的2列是不能出现的情况;同样受到O约束的还有
8、
12、14和16列;由于E约束,第
7、
8、11到16列也是不可能出现的情况在表中用灰框表示最后根据判定表设计测试用例判定表中没有被划去的每一列就是一个测试用例3.问题1解答根据程序的源代码,容易画出对应的控制流图,如下图所示(其中圈中的数字代表的是语句的行号)问题2解答第一步,根据上述控制流图计算该程序的环路复杂性由图可以看出,判定节点数为3,边数为10,节点总数为8,故V(G)=10-8+2=4或V(G)=3+1=4第二步,根据环路复杂度为4,可确定4条基本独立路径Path14-24Path24-6-8-24Path34-6-13-15-22-4-24Path44-6-13-19-22-4-24第三步,设计测试用例根据上面4条基本独立路径,可以设计测试用例如下测试用例1输入数据i_flag=0或者是i_flag0的某个值预期输出结果i_temp=0测试用例2输入数据i_count=1i_flag=0预期输出结果i_temp=101测试用例3输入数据i_count=1i_flag=1预期输出结果i_temp=10测试用例4输入数据i_count=1i_flag=2预期输出结果i_temp=20但这些测试用例是可以简化的,由于路径path1是path4的真子集,所以path1是可以不要的故针对该程序最少的测试用例数为3,即上述测试用例2,测试用例3,测试用例4答案分析
一、选择题1.分析软件缺陷产生的原因大的方面讲主要有技术问题,团队合作,软件本身该题考察大方面中的小问题,即对三方面划分的理解,显然选项A中文档的问题应该是属于软件本身的,而非技术问题2.分析GlenfordJ.Myers于1979年给出测试的定义为软件测试是为发现错误而执行的一个程序或者系统的过程同时他给出了三个关于测试的重要观点测试是为了证明程序有错,而不是证明程序正确一个好的测试用例在于它能发现以前未发现的错误一个成功的测试是发现了以前未发现的错误的测试3.分析软件测试的分类方法比较多,针对测试时是否要运行程序分为静态测试和动态测试,其中静态测试也称静态分析,是不必运行程序目的仅仅是收集程序代码的结构信息而不用查错,相反动态测试则是要执行程序,查出程序的错误非单纯收集代码结构信息针对测试人员是否要清楚程序的内部逻辑,将测试分为白盒测试和黑盒测试,同时这两种测试方法都是要对程序进行查错,从这一角度,白盒测试和黑盒测试都应属于动态测试由此本题D静态分析最恰当4.分析由于很多复杂因素的影响,软件开发组织投入到软件产品上的费用以及大多数时间都花在了软件完成并交付使用后对它的维护上,软件的运行和维护阶段可以说是软件生存周期中占据时间最长的阶段5.分析使用白盒测试方法时,确定测试数据应根据程序的内部逻辑和指定的覆盖标准6.分析为提供集成测试的效果,软件的集成工作最好由不属于该软件开发组的软件设计人员承担7.分析对于选项中的几种逻辑覆盖,查错能力最强的应该是条件组合测试8.分析自顶向下测试的优点应该是使得顶层模块的错误较早发现9.分析通常测试人员判定一个运行结果中存在缺陷的准则是这个运行结果与测试案例中的预期结果不一致10.分析等价类划分和边界值分析的局限性表述正确的就是选项B,不同输入变量之间可能存在约束关系,它们不能处理这类约束关系11.分析白盒测试与黑盒测试的本质区别是对内部逻辑的理解,与测试用例数量无关单元测试是以白盒测试为主,但有时也会用到黑盒测试技术满足分支测试不一定满足条件测试12.分析仅有B说法正确,是二者的区别其他三个选项说法颠倒13.分析软件测试自动化的主要特点就是可以在较少的时间内运行更多的测试用例,这也是使用它的好处14.分析同行评审方法很多,基于正式化程度不同或其规则和灵活程度不同,可将同行评审进行分类根据正式化程度不同,从非正式到十分严格依次为临时评审、轮查、结对评审、走查、小组评审、正式审查15.分析性能测试通用模型(PTGM模型)的最后一步就是测试结果分析,说明性能测试通常要对测试结果进行分析才能获得测试结论,故C正确软件的性能是软件的一种非功能特性软件性能测试包括以下几方面的目标
①发现性能缺陷;
②性能调优;
③能力检验和规划其中性能测试的首要目标应该就是发现软件性能缺陷,说明A说法不正确压力测试与负载测试虽然都是要对软件施加业务压力,但其根本目的完全不同,负载测试的目的是为了探测软件在满足预定性能需求的情况下所能负担的最大压力,但压力测试的目的是利用压力来揭示软件中存在的潜在缺陷,故B说法不正确在性能下降曲线上,最大建议用户数通常处于平坦区和性能轻微下降区的交界处,所以D说法错误16.分析目前主要的软件可靠性分析方法有失效模式影响分析法、严酷度分析法、故障树分析法、事件树分析法、潜在线路分析法17.分析大突击集成就是将系统的所有组成成分都集成在一起进行测试,通常只有在整个软件的可靠性有了基本的保障时,大突击集成测试才是一种合理的选择自底向上集成主要缺点是需要开发大量的测试驱动代码,自顶向下集成则需要为集成测试开发大量桩代码,总之,二者都要为集成测试开发大量代码选项C说法过于绝对,因为只有当类间的主要协作关系可以明确辨识,且每个功能只需要少数类协作就可以完成时,采用协作集成方式才是一个不错的选择高频集成并不是一个具体的集成策略,它是指在软件开发过程中频繁地将新开发出来的代码与已有代码集成,一般采用冒烟的方式,但并不是以自底向上集成为基础18.分析高频集成是指在软件开发过程中频繁地将新开发地代码与已有代码集成最适用于采用迭代或增量开发过程模型开发的产品进行集成测试19.分析Web应用软件的系统测试技术除了功能测试外还包括性能测试、易用性测试、内容测试、安全性测试和接口测试等由于Web应用软件的特殊性,在按照测试大纲对Web应用软件进行系统测试前通常要进行几个方面的功能测试,主要包括
①链接测试,
②表单测试,
③Cookie测试20.分析对软件功能的关联包括静态关联和动态关联两方面,其中对于静态关联的测试可以通过检查菜单完成,而对于动态关联的测试需要针对各项任务设计测试用例,以检查软件能否合理引导用户使用下一步的功能,故选项B说法不正确21.分析内置式合约测试(BICT)可用于动态、分布式系统,扩展了基于构件的软件工程实践,但时提出的模型驱动的方法需要构件的源代码,其效率目前还是未知的22.分析回归测试显然是不属于软件产品的质量特性23.分析在测试用例设计时,不能只设计覆盖正常流程和操作的测试用例,而必须强制覆盖错误输入处理,边界值处理等场景,以确保被测软件系统投入使用时具备较强的容错能力24.分析在实际的测试项目实践中,测试策划活动的目标是编写测试计划文档25.分析QESAT/C的优点是能帮助分析和测试程序,快捷有效地理解程序结构,及早地发现程序中隐藏地错误,从而提高软件的质量
二、论述题1.分析首先分析程序的规则说明和被测程序的功能,将其输入情况划分为有效等价类和无效等价类,然后按照等价类设计测试用例的方法设计有效的测试用例和无效的测试用例2.分析首先分析走马规则,找出所有的原因以及所有可能的结果,结合题目中找出二者的联系,按照因果图的画法规则,画出因果图然后按照基于因果图的方法设计测试用例3.分析首先根据程序的源代码,画出控制流图然后通过控制流图可以计算出该程序的复杂度,找出所有的独立路径,根据基本路径测试法设计测试用例全国计算机等级考试四级软件测试工程师模拟卷五(考试时间120分钟,满分100分)
一、选择题(1-25每题2分共50分下列各题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.软件测试的目的是________(A)证明软件的正确性(B)尽可能多地发现软件系统中的错误(C)找出软件系统存在的所有错误(D)证明软件系统中存在错误7.仅根据规格说明书描述的程序功能来设计测试用例的方法称为是________(A)白盒测试法(B)黑盒测试法(C)静态分析法(D)人工分析法8.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试________(A)结构合理性(B)软件外部功能(C)程序的内部逻辑(D)程序正确性9.从下列叙述中选出能够与软件开发需求分析、设计、编码相对应的软件测试________(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)语句覆盖率达到100%(B)局部变量的边界条件处理正确(C)逻辑比较和控制流处理正确(D以上全部17.下列软件缺陷中,________是活动状态,________是非活动状态(A)打开和解决;关闭(B)打开;解决和关闭(C)通过;失败(D)打开;待验和关闭18.测试管理工具提供从测试设计到测试运行的全过程支持这个工具的主要用途是________(A)自动抓取屏幕上的系统运行界面(B)基于需求规格说明书自动生成测试数据、测试用例(C)测试用例管理、软件缺陷管理、软件测试度量(D)辅助管理软件产品的各组成部分,使它们保持一致19.下列比较适合自动化的软件测试活动是________(A)测试用例设计(B)回归测试(C)测试环境的建立(D)探查式测试20.分析性能下降曲线时会把曲线划分为几个区间,那么对于分析性能瓶颈有很大作用的是哪一个下列区间________(A)性能平坦区(B)性能轻微下降区(C)性能急剧下降区(D)其他区21.下面与软件可靠性有关的概念中,理解不正确的是_______(A)软件错误不仅包括程序代码的错误,软件开发过程中所有制品的错误及软件的文档、手册中的错误都可以归为软件错误(B)软件故障是指软件代码中的错误(C)在软件的一次运行期间,软件故障一定会导致软件失效(D)通常修改软件故障可以降低软件发生失效的概率,从而提高软件可靠性22.在实际的面向对象集成测试中,为保证测试的充分性,往往要关注测试类间的各种连接,下面的测试方法不属于针对类间连接的测试是________(A)受控异常测试(B)往返场景测试(C)模态类测试(D)类关联的多重性测试23.以下关于Web应用软件测试的说法中,正确的是________(A)数据完整性测试是Web应用软件数据层测试的一项重要内容(B)内容测试是Web应用软件易用性测试的一项重要内容(C)表单测试是Web应用软件表示层测试的一项重要内容(D)链接结构的测试是Web应用软件安全性测试的一项重要内容24.下列不属于对物理破坏的防护措施的是________(A)主要设备远离人为破坏(B)所有设备远离灾害的侵扰(C)对通信数据进行加密(D)主要设备要屏蔽电磁干扰25.静态分析中,提供整个项目中的所有函数之间的调用关系图属于________(A)程序结构分析(B)程序数据流分析(C)可视化分析(D)程序执行频度分析
二、论述题1-1每题10分2-2每题12分3-3每题28分共50分1.论述题1以下是某手机中的MP3播放器状态之间交互行为的描述,请按要求回答问题(10分)下面以某手机中的MP3播放器的测试为例,说明如何设计测试案例某手机中的MP3播放器有三个状态待机、播放、停止,播放器最初处于待机状态;可能发生的事件有五种用户单击打开按钮,单击播放按钮,单击停止按钮,单击返回按钮,以及播放结束其中打开表示单击打开按钮,其他类推请画出该播放器中交互行为的状态图(应满足功能图的要求,不可画成流程图)(10分)2.论述题2以下是一个自动饮料售货机软件的操作规格说明,请按要求回答问题(12分)设要对一个自动饮料售货机软件进行黑盒测试该软件的规格说明如下有一个处理单价为1元5角钱的盒装饮料的自动售货机软件若投入1元5角硬币,按下可乐、雪碧或红茶按钮,相应的饮料就送出来若投入的是2元硬币,在送出饮料的同时退还5角硬币
(1)试利用因果图法,建立该软件的因果图(3分)
(2)设计测试该软件的全部测试用例(9分)3.论述题3针对以下C语言程序,请按要求回答问题(28分)下面是一个简单的C语言程序intfunc1intabc{intk=1;ifa0||b0k=k+a;elsek=k+b;ifc0k=k+c;returnk;}
(1)画出该函数的程序流程图(10分)
(2)设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因(10分)
(3)设计特殊的测试用例,说明各种逻辑覆盖之间的关系(8分)参考答案与分析
一、选择题(1-25每题2分共50分1.A2.A3.C4.C5.C6.B7.B8.B9.D10.C11.B12.D13.A14.D15.C16.D17.B18.C19.D20.C21.C22.C23.A24.C25.A
二、论述题1.首先分析手机中MP3播放器的各种状态有三个播放、待机和停止故根据题意找出各种状态之间转换的关系及条件,画出该程序状态图,如下图所示2.问题1解答首先分析软件中出现的所有原因和结果,并将其标号原因1投入1元5角硬币2投入2元硬币3按可乐按钮4按雪碧按钮5按红茶按钮结果21退还5角硬币22送出可乐饮料23送出雪碧饮料24送出红茶饮料中间状态11已投币12已按钮然后根据上述原因和结果,以及各状态间的关系,画出因果图,如图所示问题2解答将上述因果图转换为判定表,如表所示,每一列可以作为确定测试用例的依据3.问题1解答根据源程序易得流程图,如图所示问题2解答经过分析不难知,上面这个程序包含1)五个语句每行一个语句2)三个条件a0;b0;c03)四个分支有两个if语句,每个if语句有两个分支4)六个条件组合条件表达式a0||b0共有两个条件,a0和b0,故有四个条件组合;条件表达式c0只有一个条件c0,故有两个条件组合所以该程序共有六个条件组合5)四条路径从程序的入口到出口的路径共有四条,分别是Path11-2-3-5-6-8Path21-2-3-5-7-8Path31-2-4-5-6-8Path41-2-4-5-7-8这个程序有三个输入a、b、c,其输入数据组合是非常大的下面对该程序分别应用不同的逻辑覆盖准则,设计测试用例1语句覆盖根据语句覆盖准则,只需要采用两个输入数据组合(a,b,c)=(1,1,1)、(-1,1,1),便可以把该程序的所有五个语句执行一遍2分支覆盖(判定覆盖)根据分支覆盖准则,只需要采用两个输入数据组合(a,b,c)=(1,1,-1)、(-1,1,1),便可以把该程序的所有四个分支走遍但未考虑b0的情况,故不满足条件覆盖说明满足分支覆盖的测试用例未必满足条件覆盖3条件覆盖根据条件覆盖准则,只需要采用两个输入数据组合(a,b,c)=(1,1,-1)、(-1,-1,1),便可以把该程序的三个条件的真假情况都覆盖到由于表达式a0||b0的计算值都为真,不会执行else语句,即不满足分支覆盖和语句覆盖说明满足条件覆盖的未必满足分支覆盖和语句覆盖4条件组合覆盖根据条件组合的覆盖准则只需要采用四个输入数据组合(a,b,c)=(1,-1,1)、(1,1,1)、(-1,1,-1)、(-1,-1,-1),便可以把该程序的六个条件组合情况覆盖到但执行的路径数只有2个,故不满足路径覆盖说明满足条件组合的覆盖不一定满足路径覆盖5路径覆盖根据路径覆盖的准则,由图可见,只需要采用四个输入数据组合(a,b,c)=(1,1,1)、(1,1,-1)、(-1,1,1)、(-1,1,-1),便可以把该程序的所有四条路径都覆盖路径覆盖是最强的覆盖准则答案分析
一、选择题1.分析缺陷处于激活状态,即是问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在2.分析白盒测试是对程序的逻辑结构进行的测试,而黑盒测试将程序视为一个黑盒子,仅仅是测试人员提供数人数据,观察输出数据,并不了解程序是如何运行的结构测试属于白盒测试,关注的是如何选择合适的程序或子程序路径来执行有效的检查功能测试则属于黑盒测试,对功能的测试通常通过提供输入数据,检查实际输出的结果,很少考虑程序的内部结构静态测试是不必执行程序,仅是收集有关程序代码的结构信息3.分析在极限测试中,软件测试通常要在编程之前先设计测试用例需求规格说明、概要设计规格说明、详细设计规格说明、源程序这些都是属于软件测试的对象错误改正代价与发现的时间是呈现指数增长的趋势而选项B说法是完全正确的4.分析在题目所述逻辑覆盖中,路径覆盖是最强的覆盖准则5.分析因果图方法是根据输入和输出之间的因果关系设计测试用例的6.分析考察软件测试的目的7.分析仅根据规格说明书描述的程序功能来设计测试用例的方法称为黑盒测试法8.分析黑盒测试主要用于测试软件的外部功能9.分析软件开发需求分析对应的是测试阶段的确认测试,软件设计对应的是集成测试,编码阶段对应的是单元测试10.分析考察白盒测试中逻辑覆盖的关系11.分析由于自顶向下测试的特点可知,该集成测试方法是能够较早发现高层模块接口错误的12.分析考察软件测试的信息流输入,软件配置、测试配置和测试工具都属于测试流的输入信息13.分析A选项B和选项D颠倒,而确认测试与编码是没有关系的,故选项C也不正确,只有A说法是正确的14.分析在软件质量特性中,可复用的软件部件所占的比例一般不会作为系统测试的重点15.分析通常来说,软件缺陷大多数是来自软件开发项目的需求和设计阶段的16.分析考察单元测试的技术指标,选项在都是单元测试的指标,故选择D17.分析在软件缺陷中,打开是属于活动状态,而解决与关闭都属于非活动状态18.分析测试管理工具主要用于进行测试用例管理、软件缺陷管理、软件测试度量19.分析由自动化的软件测试的特点可知,选项D的探查式测试最适合进行自动化软件测试20.分析通常分析性能下降曲线时,会首先将其分为几个区间性能平坦区、性能轻微下降区、性能急剧下降区其中性能平坦区是软件运行的正常状态,因此人们往往希望该区间越长越好;性能轻微下降区是软件承受高负载的缓冲区,该区间也是越长越好;性能急剧下降区不是软件的正常运行区间,这一阶段响应时间会急剧增加至用户不能忍受,吞吐量会急剧下降甚至低于单用户时的吞吐量,但该区间对于分析性能瓶颈却有很大作用,通常说来,性能急剧下降区的起始点(也称性能拐点)就是性能瓶颈出现的地方,此时进一步分析资源利用率就可以找到性能瓶颈的原因21.分析软件故障是指软件代码中的错误,软件失效则是指由软件故障引起的在软件运行期间出现的错误,一般来说在软件的一次运行期间,软件故障可能会导致软件失效,也可能不引起软件失效22.分析针对类间连接测试的常用技术有
①类关联的多重性测试
②受控异常测试
③往返场景测试
④模态机测试模态机测试与类层次的模态类测试类似,二者区别是模态类测试是针对一个类进行的,而模态机测试是针对多个类进行的23.分析Web应用软件数据层测试包括两个方面一是数据完整性的测试,二是大数据量数据库的性能测试,故选项A说法正确Web应用软件功能测试通常针对链接测试、表单测试和Cookie测试三个方面进行,故选项C说法不正确Web应用软件安全性测试主要包括服务器端的内容安全性、客户端的内容安全性和Cookie安全性三个方面,由此选项D说法不正确内容测试和易用性测试都是Web应用软件的测试策略,不具有从属关系,故选项B说法不正确24.分析对物理破坏的防护措施有三点
(1)所有设备都应远离灾害(如水灾、火灾、雷电、战火等)的侵扰
(2)主要设备需要远离人为破坏,如计算机和打印机等要放在有安全门锁的机房等
(3)主要设备要屏蔽电磁干扰25.分析程序数据流分析,主要指静态分析全局变量和局部变量的声明、赋值和使用的位置;动态跟踪变量值的变化情况而选项A程序结构分析,主要提供整个项目中的所有函数之间的调用关系图选项C是针对面向对象的软件,提供整个项目中的所有类之间的关系图选项D程序执行频度分析是统计所有条件分支、多出口跳转、多出口调用的各分支、出口的执行关系图
二、论述题1.分析首先分析手机中MP3播放器的各种状态,以及各状态之间的转换过程,画出状态图2.分析对自动软件售货机的软件进行基于因果图的黑盒测试,首先根据软件的规格说明,找出所有可能的原因和结果,以及二者之间的联系,画出因果图然后根据基于因果图的黑盒测试方法,将因果图转换为判定表,设计测试用例即可3.分析首先根据源程序画出程序流图比较容易,然后分析学过的所有的逻辑覆盖(如语句覆盖,分支覆盖,路径覆盖等),分析针对每种逻辑覆盖的标准来设计测试用例,最后通过设计测试用例来体现各种逻辑覆盖之间的关系全国计算机等级考试四级软件测试工程师模拟卷六(考试时间120分钟,满分100分)
一、选择题(1-25每题2分共50分下列各题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.桌上检查(DeskChecking)是一种________的检查方法(A)程序员自己检查自己编写的程序(B)由同行帮忙检查自己编写的程序(C)几个同行自行组成小组,以小组为单位检查编写的程序(D)程序员在桌子上检查编写程序的活动7.在软件企业中,应用最广泛的评审方法是________(A)走查(B)结对评审(C)正式评审(D)小组评审8.对于复合条件表达式为(A=8)or(B7),则为了达到100%的条件覆盖率,至少需要设计________个测试用例(A)1个(B)2个(C)3个(D)4个9.为了提高测试的效率,正确的做法是________(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)服务器端的程序(B)数据的完整性(C)HTML文档的结构与客户端的程序(D)数据库操作的性能测试19.关于Web应用软件系统安全,说法正确的是________(A)Web应用软件的安全性仅仅与Web应用软件本身的开发有关(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-1每题20分2-2每题12分3-3每题18分共50分1.论述题1以下是一软件规格说明,请按照要求回答问题(20分)软件规格说明某学校的学生公寓有14栋楼,用A~N这14个大写字母的其中一个代表楼号每栋楼的层数为六层,代号为1~6每层楼有40个房间,编号为01~40具体表示一个宿舍房间时,用一个字母加三位数字表示,例如C527表示C楼第5层的27室软件运行时,如果输入的房间号不在上述范围内,将不予接受,并显示输入无效
(1)请根据规格说明,划分等价类(10分)
(2)使用等价类划分方法为该软件设计测试用例(10分)2.论述题2关于软件测试过程,请回答以下问题
(1)软件测试过程模型主要有哪些?各有何特点?
(2)应当如何正确选取过程模型?3.论述题3针对以下C语言程序,请按要求回答问题以下是一个用来求解一元二次方程的C语言程序1main2{3floatabcx1x2delta;4scanf%f%f%fabc;5ifa!=06{7delta=b*b-4*a*c;8ifdelta09{10x1=-b+sqrtdelta/2*a;11x2=-b-sqrtdelta/2*a;12printfx1=%fx2=%f\nx1x2;13}14else15{16ifdelta==017{18x1=-b/2*a;19printfx1=%f\nx1;20}21else22{23printfnorealsolution\n;24}25}26}27}
(1)画出main函数的控制流图
(2)采用基本路径测试法设计一组测试用例,保证,每个基本独立路径都至少执行一次参考答案与分析
一、选择题(1-25每题2分共50分1.A2.C3.D4.D5.A6.A7.A8.B9.A10.C11.A12.B13.A14.C15.C16.D17.D18.C19.D20.B21.C22.A23.B24.C25.B
二、论述题1.根据题意,划分等价类根据题中宿舍号的表示方法及范围,可以将输入划分为4个有效等价类和10个无效等价类具体如下有效等价类问题2解答根据上述等价类划分,设计测试用例有效等价类的测试用例,如表所示无效等价类的测试用例,如下表所示2.问题1V模型V模型反映出测试活动与分析设计活动的关系指出单元测试和集成测试应检测程序的执行是否满足软件设计的要求系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标验收测试确定软件的实现是否满足用户需要或合同的要求W模型W模型指出软件各开发阶段中应同步进行的验证和确认活动,即测试与开发也应是同步进行的W模型有利于尽早和全面的发现问题H模型V模型与W模型有不妥,即它们都把软件的开发视为需求、设计和编码等一系列串行的活动,而事实上,这些活动可以交叉进行的H模型揭示一点软件测试是一个独立的流程,贯穿于产品的整个生命周期中,与其他流程并发进行其他模型除了上面几种常见模型外,还有X模型、前置测试模型等问题2在实践中,应当尽可能地运用各个模型中对项目有实用价值的方面,不能强行地为使用模型而使用模型建议采用的方法是以W模型作为框架,及早、全面的开展测试,同时灵活运用H模型独立测试的思想,在达到恰当的就绪点时就应该开展独立的测试工作,同时将测试工作进行迭代,最终保证完成测试目标3.问题1解答根据程序的源代码,容易画出对应的控制流图,如图所示(其中圈中的数字代表的是语句的行号)问题2解答第一步,根据上述控制流图计算该程序的环路复杂性由图可以看出,判定节点数为3,边数为9,节点总数为7,故V(G)=9-7+2=4或V(G)=3+1=4或V(G)=4(上图的区域数)第二步,根据环路复杂度为4,可确定4条基本独立路径Path15-27Path25-8-26-27Path35-8-16-18-26-27Path45-8-16-23-26-27第三步,设计测试用例根据上面4条基本独立路径,可以设计测试用例如下测试用例1输入数据a=0b=1c=1预期输出结果程序结束(这时方程不是二元一次方程)测试用例2输入数据a=1b=3c=2预期输出结果x1=-1x2=-2测试用例3输入数据a=1b=-2c=1预期输出结果x1=1测试用例4输入数据a=1b=1c=1预期输出结果norealsolution答案分析
一、选择题1.分析对程序的测试最好由第三方测试机构来做,对程序的调试最好由程序员来做,故B不对由测试用例的原则程序员应避免测试自己的程序得C说法错误又由测试的目的是找错而不是证明程序正确,故D不正确2.分析软件测试的目的是发现软件中的错误,而非证明软件的正确性3.分析软件缺陷可按软件缺陷类型或严重性进行统计,而软件缺陷类型或严重性可以分为软件系统崩溃、功能失效和容错性问题、用户友好性、性能、文字错误和增强需求等类型4.分析软件测试不仅仅限于程序编码之后,而应该贯穿于软件开发的全过程软件测试并不等于程序测试,因此,需求分析、概要设计、详细设计以及程序编码等各个阶段所得到的文档资料,包括需求规格说明、软件概要设计规格说明、软件详细设计规格说明以及源程序,都应做为软件测试的对象5.分析软件的外部设计是从用户的角度对产品进行描述的,外部设计规格说明是在外部设计期间产生的文档,用户手册是另一种文档,与外部设计规格说明不同的是,它是在需求获取与定义阶段就开始建立,以后要不断细化和完善的文档6.分析桌上检查(DeskChecking)是一种传统的检查方法,由程序员自己检查自己编写的程序程序员在程序通过编译之后,进行单元测试设计之前,对源程序代码进行分析,对照错误列表进行检查,对程序推演测试数据,并补充相关的文档桌上检查的目的就是发现程序中的错误7.分析同行评审的方法很多,基于正式化程度可以分为临时评审、桌上检查、结对评审、走查、小组评审、正式评审六种,其中走查是一种非正式的评审,但在软件企业中被广泛使用走查的方法有两种一种是使用一些样品数据作为测试用例,一步步的执行模块,极为参与评审的一起检查以确保正确的逻辑和行为另一种走查是按照脚本执行,通过脚本描述一个具体的任务或场景,用以说明系统如何在交互中完成预定的功能8.分析条件覆盖就是指设计若干测试用例,运行被测程序,使得每个判定的每个条件的可能取值至少评价一次本题可以取A=8,B=6和A=9,B=9这两组测试用例,这样A=8及B7都能够把真假各取一次,达到100%的条件覆盖率9.分析对于一个软件,其可能的输入数据数量一般是非常惊人的,所以要想全部将其作为测试用例是不现实的,应当选择发现错误可能性大的数据作为测试用例,不能随机选取测试用例,故A正确,B、C错误软件测试贯穿于软件开发的各个阶段,D项错误10.分析在进行数据流测试时,弄清楚各类型结点的含义非常重要输出语句、赋值语句、循环控制语句、条件语句和过程调用,都是定义语句的例子如果执行对应这种语句的结点,就会改变该变量的存储单元的内容输出语句、赋值语句、条件语句、循环控制语句和过程调用,都是使用语句的例子如果执行对应这种语句的结点,不会改变该变量的存储单元内容11.分析一般测试过程中使用的黑盒测试是基于功能的测试,可以看作是穷举输入测试,只有把所有可能的输入都作为测试用例使用,才能查出程序中所有的错误黑盒测试的覆盖率取决于测试用例设计的完备性12.分析软件单元测试的对象是可独立编译或汇编的程序模块或软件构件或面向对象设计中的类而完整的、集成的计算机系统是系统测试和验收测试的测试对象13.分析性能测试的目标是为了提高软件性能对性能测试要判断出哪些模块执行得最多或者占用的机器时间最多,这些模块就将被重新检查、重新编写以便运行的更快性能测试可以通过白盒或黑盒测试方法来测试,但在大多数实际情况下,人们都是使用黑盒测试方法来实现性能测试14.分析对于性能测试来说,分析性能下降曲线往往可以从中获得很多重要信息,所谓性能下降曲线,就是指性能指标(比如响应时间和吞吐量)随用户数的增加而变化的曲线通常分析性能下降曲线时,会首先将其分为几个区间性能平坦区、性能轻微下降区、性能急剧下降区其中性能平坦区是软件运行的正常状态,因此人们往往希望该区间越长越好;性能轻微下降区是软件承受高负载的缓冲区,该区间也是越长越好;性能急剧下降区不是软件的正常运行区间,这一阶段响应时间会急剧增加至用户不能忍受,吞吐量会急剧下降甚至低于单用户时的吞吐量,但该区间对于分析性能瓶颈却有很大作用,通常说来,性能急剧下降区的起始点(也称性能拐点)就是性能瓶颈出现的地方,此时进一步分析资源利用率就可以找到性能瓶颈的原因15.分析对系统测试分析时,通常从用户层、应用层、子系统层、协议等几个层次入手因为用户层面向的最终使用者是用户,因此用户层的测试主要围绕着用户界面的规范性、友好性、可操作性、系统对用户的支持,以及数据的安全性等方面展开另外,用户层的测试通常还应注意可维护性测试和安全性测试选项C并发性能测试属于应用层测试所关注的16.分析由于系统测试的主要目标是测试开发出来的软件是否是问题空间的一个合理解,因此对于系统测试而言,面向对象软件与传统结构化软件并没有本质区别17.分析面向对象设计与面向对象分析有很多的区别,不能将它们混淆18.分析表示层的测试主要集中在客户端包括四个方面排版结构的测试、链接结构的测试、客户端程序的测试、浏览器兼容性测试19.分析Web应用软件的安全性不仅仅与Web应用软件本身的开发相关系统的安全漏洞其实也算是系统的缺陷,所以安全漏洞的检测也属于测试的范畴对于黑客来说,攻击更主要是利用系统的已知漏洞进行,而不是黑客本身发现的新漏洞狭义的入侵是指黑客进入或试图进入一个系统,而广义的入侵是指以任何违反安全规定的方式使用一个系统20.分析软件易用性测试主要包括三个方面易安装性测试、功能易用性测试和用户界面测试,其中用户界面是用户与软件打交道的唯一渠道,用户界面是否友好在很大程度上决定了软件的易用性,因此用户界面测试是软件易用性测试最重要的一项内容,选项A说法正确对软件功能的关联包括静态关联和动态关联两方面,其中对于静态关联的测试可以通过检查菜单完成,而对于动态关联的测试需要针对各项任务设计测试用例,以检查软件能否合理引导用户使用下一步的功能,故选项B说法不正确使用软件的目的就是能够减少重复输入,保证数据的一致性,减轻人工劳动,提高工作效率,故选项C说法正确软件的安装通常需要在安装手册的指导下完成,因此检查和评估软件安装手册的正确性和易用性是安装性测试的重要内容,选项D说法正确21.分析测试总结是测试过程的最后一个活动,在测试报告中的内容包括
①测试项目概述,
②测试用例执行情况总结,
③软件缺陷报告总结,
④被测软件评价22.分析测试计划的要点有
①目标和范围包括产品特性、质量目标、各个阶段的测试对象、目标范围和限制,
②项目估算根据历史数据和采用恰当的评估技术,对测试工作量、所需资源作出合理估算,
③风险计划测试可能存在的风险分析、识别以及风险的回避监控和管理,
④日程项目工作分解结构,并采用时限图、甘特图等方法制定时间和资源表,
⑤项目资源人员、硬件和软件等资源的组织和分配,人力资源是重点,
⑥跟踪和控制机制质量保证和控制、变更管理和控制23.分析自动化测试不是万能的,它所能够完成的功能也是有限的,不可能也不要期望将所有的测试活动自动化根据经验,自动测试只能发现20%的缺陷,而手工测试可以发现80%,A项说法错误很多情况下,例如软件不稳定、测试结果易于人工验证但难于自动化、涉及物理交互的测试,不适合用自动化测试,C项说法错误软件测试的目的是发现缺陷,D错误24.分析为独立的配置管理而设计的并且能满足最终用户功能的一组软件称为是软件配置项软件配置项测试的测试工作要求被测软件已通过单元测试和集成测试,对需要固化运行的软件提供固件25.分析软件配置项测试是由软件的供方组织,由独立于软件开发人员实施,而系统测试是由软件的需方组织,由独立于软件开发人员实施二者都可以委托国家认可的第三方测试机构来实施在二者的测试工作中都满足对需要固化的软件提供固件
二、论述题1.分析首先分析程序的规则说明和被测程序的功能,将其输入情况划分为有效等价类和无效等价类,然后按照等价类设计测试用例的方法设计有效的测试用例和无效的测试用例2.分析软件测试过程是一种抽象的模型,用于定义软件测试的流程和方法软件开发过程质量决定软件的质量,软件测试过程质量直接影响测试结果的准确性和有效性3.分析首先根据程序的源代码,画出控制流图然后通过控制流图可以计算出该程序的复杂度,找出所有的独立路径,根据基本路径测试法设计测试用例全国计算机等级考试四级软件测试工程师笔试试卷
(七)
一、选择题(每小题2分,共50分下列各题A、B、C、D四个选项中,只有一个选项是正确的请将正确选项填涂在答题卡相应位置上,答在试卷上不得分1.20世纪,70年代,1979年GlenfordMyers出版的《theArtofSoftwareTesting》一书出了介绍众多的测试经典方法之外,还向人们揭示了测试的目的是___B_____(A)证真,而非证伪(B)证伪,而非证真(C)证真,且证伪(D)验证程序的正确性2.测试时软件生存期中费用消耗最大的环节,能够决定需要做多少测试的影响因素有___D_____(A)系统的目标和信息的价值(B)开发组织和测试的时机(C)潜在的用户数量(D)以上全部3.软件生存周期的正确顺序是__D_____(A)软件设计、系统与软件需求定义、制定计划、编码和单元测试、集成和系统测试、运行和维护(B)系统与软件需求定义、软件设计、制定计划、编码和单元测试、集成和系统测试、运行和维护(C)制定计划、软件设计、系统与软件需求定义、编码和单元测试、集成和系统测试、运行和维护(D)制定计划、系统与软件需求定义、软件设计、编码和单元测试、集成和系统测试、运行和维护4.白盒测试最常用的一种测试用例技术为___A_____(A)逻辑覆盖(B)等价分类法(C)错误猜测法(D)使用综合测试策略5.下列逻辑覆盖测试中,最强的是__C______(A)语句覆盖(B)条件覆盖(C)路径覆盖(D)条件组合覆盖6.如果一个判定中的复合条件表达式为(A1)or(B=3),则为了达到100%的判定覆盖率,至少需要设计____B____个测试用例(A)1个(B)2个(C)3个(D)4个7.下列选项中不属于覆盖率对软件测试作用的是___B_____(A)得知测试是否充分(B)协助找出代码中的语法错误(C)指导设计能够增加覆盖率的测试用例(D)了解测试的弱点在哪里8.下图所示的多情况分支型流程图,采用路径覆盖法进行测试,则至少需要几个测试用例可以覆盖所有可能的路径____D____(A)n/2(B)2n(C)n(D)n+19.软件测试首先进行的测试是____B____(A)集成测试(B)单元测试(C)系统测试(D)验收测试10.用于代替被测模块调用的子模块的模块被称作___A_____(A)桩模块(B)数据模块(C)接口模块(D)驱动模块11.安全性测试,其目标是__B_____(A)测试各种资源在超负荷的情况下的运行情况(B)系统的保护机制能否抵御入侵者的攻击(C)度量系统的性能和预先定义的目标有多大差距(D)验证系统从软件或者硬件失效中恢复的能力12.软件可靠性预测的目的是_____A__(A)根据软件在可靠性与测试揭示的故障情况来预测软件在正在运行时的故障和实效情况(B)通过受控的软件测试过程来预测软件在实际运行中的可靠性(C)通过软件测试揭示软件缺陷并通过修改缺陷来提高软件可靠性(D)关注可能导致失效的事件及其实效概率,并计算出各种事件组合导致失效的概率13.关于做好系统测试的原则,下列说法中错误的是___A_____(A)所有的测试都应追溯到总体设计(B)在测试工作真正开始之前,尽早开始测试计划(C)Pareto原则应用于软件测试(D)系统缺陷应记入文档14.关于面向对象软件开发过程和测试过程的说法,不正确的是___D_____(A)面向对象的软件开发过程通常是一个迭代与渐进的过程(B)面向对象的软件测试过程通常是一个迭代与渐进的过程(C)测试活动之间是一系列相关测试任务的集合,时间上并不一定是连贯的(D)测试活动之间是首尾相接的而非穿插交错的15.由于面向对象软件中可独立被测试的单元通常是一个类族或最小是一个独立的类,所以面向对象的单元测试可以分为几个层次,其中方法层次的测试中常用的测试技术有__C______
(1)等价类划分测试
(2)组合功能测试
(3)递归函数测试
(4)多态消息测试
(5)不变式边界测试
(6)模态类测试
(7)非模态类测试
(8)多态服务测试
(9)展平测试(A)
(2)
(4)
(6)
(8)(B)
(2)
(4)
(5)
(6)(C)
(1)
(2)
(3)
(4)(D)
(5)
(6)
(7)16.在面向对象软件的集成测试中,高频集成有三个主要步骤,其正确顺序是___C_____
(1)开发人员完成要提供大骂的增量构件,同时测试人员完成相关的测试包
(2)评价结果
(3)集成测试人员将开发人员新增或修改的构件集中起来形成一个新的集成体(A)
(1)
(2)
(3)(B)
(2)
(1)
(3)(C)
(1)
(3)
(2)(D)
(3)
(1)
(2)17.下列选项当中,不是应用服务器的主要功能的是____D____(A)构建运行环境(B)公共服务(C)互操作机制(D)内容驱动18.Web应用软件的安全性主要通过以下哪个手段实现_B___(A)安全管理控制(B)接口检测(C)漏洞扫描(D)安全策略19.下列不属于兼容性测试考虑的范畴的为___D_____(A)硬件兼容性(B)软件兼容性(C)数据兼容性(D)操作兼容性20.关于极限测试过程中验收测试,说法不妥当的为___D_____(A)验收测试主要由用户完成(B)编码人员也必须在场参与验收测试,以便与用户交流(C)极限编程强调验收测试的目的在于加强用户参与软件开发的力度(D)由于极限编程的特殊性,反而增大了用户需求的和用户与开发人员交流的复杂性21.关于V模型内容的陈述,表达不正确的是___B_____(A)V模型反映出测试活动与分析设计活动的关系(B)V模型指出单元测试和集成测试应检测程序的执行是否满足软件设计的要求(C)系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标(D)文档测试确定软件的实现是否咱去用户需求和合同的要求22.依据《GB/T15532-2008计算机软件测试规范》软件测试应由相对独立的人员进行以下选项中不属于测试设计员具体职责的是___A_____(A)管理监督测试项目或测试组(B)设计测试用例(C)确定测试用例的优先级(D)建立测试环境23.制定测试计划,要达到的目标有____D____(A)确定测试所需要的时间和资源(B)确立每个测试阶段的测试完成及测试成功的标准和要实现的目标(C)识别出测试活动的各种风险,对风险进行消除或者降低风险带来的损失影响(D)以上全都是24.被测系统处在不完善状态,运行脚本过程中容易中断;测试脚本可移植差,需要在脚本的结构、模块化参数传递和基础函数方面做好设计这些是测试步骤中哪一过程的主要问题___A_____(A)测试开发(B)测试用例(C)测试设计(D)测试执行25.测试环境的五要素不包括_____D___(A)硬件和软件(B)网络环境、数据准备(C)测试工具(D)测试风险、测试方法
二、论述题3题,共50分1.以下是班级成绩处理平台的程序流程图,请仔细阅读程序并完成要求该平台允许最多输入100个学生的成绩,以-1作为输入结束标志N2存放输入的学生成绩个数,N1存放输入成绩中有效成绩的个数,sum存放成绩总和初始化N2=N1=0,sum=0计算其中有效的学生分数的个数、总分数和平均值请针对该程序流程图进行基本路径覆盖测试用例设计
(1)导出过程的控制流图答
(2)确定基本测试路径集合答该过程控制流图的圈复杂性度量G(V)为4(区域数,或者G(V)=E-N+2)所以基本路径集合包含4条独立的路径1-2-6-7-91-2-6-8-21-2-3-4-5-2-6-7-91-2-3-4-10-2-6-9
(3)设计满足基本路径覆盖的测试用例答为每一条独立路径设计一组测试用例,以便强迫程序沿着该路径至少执行一次scorei=-13;-59;88100;89-2;2.以下是某C程序段,其功能是计算出某一天是一年中的第几天,请仔细阅读程序并完成要求#includestructdays{intyear;intmonth;intdate;}day;voidmain{structdays*p;intnum=0i;intm
[13]={0312831303130313130313031};p=day;printfpleaseinputtheday:\n;scanf%d%d%dp-yearp-monthp-date;fori=0;ip-month;i++num+=m[i];num+=p-date;ifp-year%4==0p-year%100!=0||p-year%400==0ifp-month2num++;printfThisdayis%ddayintheyear.\nnum;}
(1)画出此程序主函数的控制流程图答
(2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%如果认为该程序的语句或分支覆盖率无法达到100%,需说明为什么答为了达到100%的语句覆盖率,要设计测试用例,使其为闰年且月份大于2,另外不满足此条件由于此程序不包含输入出错处理,所以我们特意定义一个month小于0的情况3.以下是QESuiteWebVersion
1.0用户手册的相关内容,请按要求回答问题(12分)
(1)下图是测试过程管理流程图QESuiteWebVersion
1.0测试过程管理流程如下图所示,用户可以依据该流程来完成一个基本的测试过程管理在测试状态,执行文档共有几种状态,每种状态代表什么含义答执行文档是记录测试结果的重要文档它可以显示许多有用的测试信息和记录历次测试结果在执行测试视图中可以显示执行结果、测试级别、测试任务、功能分类、状态、用例标题等基本信息,如需查看详细的执行文档信息,可点击状态图标进入查看执行文档的状态显示执行文档当前所处的测试状态未测表示执行文档尚未被测试;通过表示执行文档已被测试且通过测试;失败表示执行文档已被测试但未通过测试;测试受阻表示执行文档试图被测试,但由于其他的测试用例未能通过测试,导致该测试用例无法测试;
(2)在问题报告管理阶段,简述修改问题报告追踪的步骤答修改问题追踪报告步骤在问题报告视图中,点击欲修改的问题报告标题,进入问题报告查看页面,点击修改,进入修改问题报告页面,按上述方法修改问题报告保存即可你可以通过上传操作放入一些与问题相关的文件例如,当你很难描述所看到的问题时,你可以把你看到的问题拷贝并存储到图形文件中再放入[与该问题相关的文件]域;又或者当你发现了一个造成系统崩溃的问题,你可以把系统崩溃跟踪文件放入[与该问题相关的文件]域中12678934510。