1、计算机四级软件测试工程师-123 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:25,分数:50.00)1.下面有关测试原则的说法中正确的是_。 A.测试用例应由测试的输入数据和预期的输出结果两部分组成 B.对程序的调试最好由第三方测试机构来做 C.程序最好由编写该程序的程序员自己来测试 D.使用测试用例进行测试是为了检查程序是否做了它该做的事 (分数:2.00)A.B.C.D.2.软件测试的目的是_。 A.评价软件的质量 B.发现软件的错误 C.找出软件中所有的错误 D.证明软件的正确性 (分数:2.00)A.B.C.D.3.软件缺陷类型或严重性的类型包括_
2、。 A.软件系统崩溃、功能失效和容错性问题 B.用户友好性 C.性能、文字错误和增强需求 D.以上全部 (分数:2.00)A.B.C.D.4.下列可以做为软件测试对象的是_。 A.需求规格说明 B.软件设计规格说明 C.源程序 D.以上全部 (分数:2.00)A.B.C.D.5.在需求获取与定义阶段就开始建立,以后要不断细化和完善的文档是_。 A.用户手册 B.外部设计规格说明 C.内部设计规格说明 D.测试计划手册 (分数:2.00)A.B.C.D.6.桌上检查(Desk Checking)是一种_的检查方法。 A.程序员自己检查自己编写的程序 B.由同行帮忙检查自己编写的程序 C.几个同行
3、自行组成小组,以小组为单位检查编写的程序 D.程序员在桌子上检查编写程序的活动 (分数:2.00)A.B.C.D.7.在软件企业中,应用最广泛的评审方法是_。 A.走查 B.结对评审 C.正式评审 D.小组评审 (分数:2.00)A.B.C.D.8.对于复合条件表达式为(A=8) or (B7),则为了达到 100%的条件覆盖率,至少需要设计_个测试用例。 A.1 个 B.2 个 C.3 个 D.4 个 (分数:2.00)A.B.C.D.9.为了提高测试的效率,正确的做法是_。 A.选择发现错误可能性大的数据作为测试用例 B.随机选取测试用例 C.取一切可能的输入数据作为测试用例 D.在完成程
4、序的编码之后再制定软件的测试计划 (分数:2.00)A.B.C.D.10.对于一段程序,下列语句中既可以作为定义结点,同时还可以作为使用结点的是_。 A.输入语句 B.输出语句 C.赋值语句 D.条件语句 (分数:2.00)A.B.C.D.11.一般测试过程中使用的黑盒测试是基于_的测试。 A.功能 B.性能 C.可靠性 D.正确性 (分数:2.00)A.B.C.D.12.下列不属于单元测试对象的是_。 A.软件构件 B.计算机系统 C.类 D.可独立编译的程序模块 (分数:2.00)A.B.C.D.13.大多数实际情况下,性能测试的实现方法是_。 A.黑盒测试 B.白盒测试 C.静态分析 D
5、.可靠性测试 (分数:2.00)A.B.C.D.14.分析性能下降曲线时会把曲线划分为几个区间,那么对于分析性能瓶颈有很大作用的是哪一个区间_。 A.性能平坦区 B.性能轻微下降区 C.性能急剧下降区 D.其他区 (分数:2.00)A.B.C.D.15.下列测试不是系统测试用户层关注的是_。 A.数据安全性测试 B.可维护性测试 C.并发性能测试 D.可操作性测试 (分数:2.00)A.B.C.D.16.在面向对象测试中,系统测试的目的是_。 A.揭示软件中存在的故障 B.修改软件中已经发现的缺陷与故障 C.检查软件功能符合需求规格说明书 D.确认用户是否能够接受该软件 (分数:2.00)A.
6、B.C.D.17.在面向对象的软件开发中,面向对象设计与面向对象分析的区别是_。 A.在面向对象设计中需要考虑与实现相关的内容,而在面向对象分析中不需要 B.在面向对象设计中要检查设计结果对编程时将要使用的类库的支持,而在面向对象分析中不需要 C.在面向对象设计中对提供足够细节的部分,要检查是否符合预期,而在面向对象分析中不考虑 D.以上全部 (分数:2.00)A.B.C.D.18.对 Web 应用软件表示层的测试重点是_。 A.服务器端的程序 B.数据的完整性 C.HTML 文档的结构与客户端的程序 D.数据库操作的性能测试 (分数:2.00)A.B.C.D.19.关于 Web 应用软件系统
7、安全,说法正确的是_。 A.Web 应用软件的安全性仅仅与 Web 应用软件本身的开发有关 B.系统的安全漏洞属于系统的缺陷,但安全漏洞的检测不属于测试的范畴 C.黑客的攻击主要是利用黑客本身发现的新漏洞 D.以任何违反安全规定的方式使用系统都属于入侵 (分数:2.00)A.B.C.D.20.关于易用性测试,说法错误的是_。 A.用户界面测试是软件易用性测试最重要的一项内容 B.对软件功能的动态关联进行测试可以通过检查菜单完成 C.使用软件的目的就是减少重复输入,减轻人工劳动,提高工作效率 D.检查和评估软件安装手册的正确性和易用性是安装性测试的重要内容 (分数:2.00)A.B.C.D.21
8、.不属于测试总结报告的内容的是_。 A.测试项目概述 B.测试用例执行情况总结 C.测试用例设计情况总结 D.软件缺陷报告总结 (分数:2.00)A.B.C.D.22.不属于测试计划要点的是_。 A.错误和缺陷管理 B.项目估算 C.产品目标和范围 D.跟踪和控制机制 (分数:2.00)A.B.C.D.23.关于自动化测试,下面说法正确的是_。 A.通常自动化测试会比手工测试发现更多的缺陷 B.手工测试时,测试者可以运用其想象力和创造力对测试进行改进,但自动化测试工具不具备想象力,只能按原计划的测试方法指令进行 C.运行相同的测试,自动化测试一定会比手工测试更加有效 D.在自动化测试中,测试的
9、艰巨任务是验证期望输出的正确性 (分数:2.00)A.B.C.D.24.测试工作要求被测软件已通过单元测试和集成测试,对需要固化运行的软件提供固件,这种测试方法是_。 A.回归测试 B.系统测试 C.配置项测试 D.验收测试 (分数:2.00)A.B.C.D.25.关于系统测试和配置项测试,下列说法错误的是_。 A.二者的测试过程都是由独立于软件开发人员实施 B.二者的测试过程都是由软件的供方组织 C.二者的测试工作都满足对需要固化的软件提供固件 D.二者都可以委托国家认可的第三方测试机构来实施(分数:2.00)A.B.C.D.二、B论述题/B(总题数:3,分数:50.00)以下是一软件规格说
10、明,请按照要求回答问题软件规格说明:某学校的学生公寓有 14 栋楼,用 AN 这 14 个大写字母的其中一个代表楼号。每栋楼的层数为六层,代号为 16。每层楼有 40 个房间,编号为 0140。具体表示一个宿舍房间时,用一个字母加三位数字表示,例如:“C527”表示 C 楼第 5 层的 27 室。软件运行时,如果输入的房间号不在上述范围内,将不予接受,并显示输入无效。(分数:20.00)(1).请根据规格说明,划分等价类。(分数:10.00)_(2).使用等价类划分方法为该软件设计测试用例。(分数:10.00)_关于软件测试过程,请回答以下问题(分数:12.00)(1).软件测试过程模型主要有
11、哪些?各有何特点?(分数:6.00)_(2).应当如何正确选取过程模型?(分数:6.00)_针对以下 C 语言程序,请按要求回答问题以下是一个用来求解一元二次方程的 C 语言程序:1 main()2 3 float a,b,c,x1,x2,delta;4 scanf(“%f%f%f“,a, b, c);5 if (a!=0)6 7 delta=b*b-4*a*c;8 if (delta0)9 10 x1=(-b+sqrt(delta)/(2*a);11 x2=(-b-sqrt(delta)/(2*a);12 printf(“x1=%f,x2=%f/n“,x1,x2);13 14 else15
12、16 if (delta=0)17 18 x1=-b/(2*a);19 printf(“x1=%f/n“,x1);20 21 else22 23 printf(“no real solution/n“);24 25 26 27 (分数:18.00)(1).画出 main()函数的控制流图。(分数:9.00)_(2).采用基本路径测试法设计一组测试用例,保证,每个基本独立路径都至少执行一次。(分数:9.00)_计算机四级软件测试工程师-123 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:25,分数:50.00)1.下面有关测试原则的说法中正确的是_。 A.测试用
13、例应由测试的输入数据和预期的输出结果两部分组成 B.对程序的调试最好由第三方测试机构来做 C.程序最好由编写该程序的程序员自己来测试 D.使用测试用例进行测试是为了检查程序是否做了它该做的事 (分数:2.00)A. B.C.D.解析:解析 对程序的测试最好由第三方测试机构来做,对程序的调试最好由程序员来做,故 B 不对。由测试用例的原则:程序员应避免测试自己的程序得 C 说法错误。又由测试的目的是找错而不是证明程序正确,故 D 不正确。2.软件测试的目的是_。 A.评价软件的质量 B.发现软件的错误 C.找出软件中所有的错误 D.证明软件的正确性 (分数:2.00)A.B.C. D.解析:解析
14、 软件测试的目的是发现软件中的错误,而非证明软件的正确性。3.软件缺陷类型或严重性的类型包括_。 A.软件系统崩溃、功能失效和容错性问题 B.用户友好性 C.性能、文字错误和增强需求 D.以上全部 (分数:2.00)A.B.C.D. 解析:解析 软件缺陷可按软件缺陷类型或严重性进行统计,而软件缺陷类型或严重性可以分为软件系统崩溃、功能失效和容错性问题、用户友好性、性能、文字错误和增强需求等类型。4.下列可以做为软件测试对象的是_。 A.需求规格说明 B.软件设计规格说明 C.源程序 D.以上全部 (分数:2.00)A.B.C.D. 解析:解析 软件测试不仅仅限于程序编码之后,而应该贯穿于软件开
15、发的全过程。软件测试并不等于程序测试,因此,需求分析、概要设计、详细设计以及程序编码等各个阶段所得到的文档资料,包括需求规格说明、软件概要设计规格说明、软件详细设计规格说明以及源程序,都应做为软件测试的对象。5.在需求获取与定义阶段就开始建立,以后要不断细化和完善的文档是_。 A.用户手册 B.外部设计规格说明 C.内部设计规格说明 D.测试计划手册 (分数:2.00)A. B.C.D.解析:解析 软件的外部设计是从用户的角度对产品进行描述的,外部设计规格说明是在外部设计期间产生的文档,用户手册是另一种文档,与外部设计规格说明不同的是,它是在需求获取与定义阶段就开始建立,以后要不断细化和完善的
16、文档。6.桌上检查(Desk Checking)是一种_的检查方法。 A.程序员自己检查自己编写的程序 B.由同行帮忙检查自己编写的程序 C.几个同行自行组成小组,以小组为单位检查编写的程序 D.程序员在桌子上检查编写程序的活动 (分数:2.00)A. B.C.D.解析:解析 桌上检查(Desk Checking)是一种传统的检查方法,由程序员自己检查自己编写的程序。程序员在程序通过编译之后,进行单元测试设计之前,对源程序代码进行分析,对照错误列表进行检查,对程序推演测试数据,并补充相关的文档。桌上检查的目的就是发现程序中的错误。7.在软件企业中,应用最广泛的评审方法是_。 A.走查 B.结对
17、评审 C.正式评审 D.小组评审 (分数:2.00)A. B.C.D.解析:解析 同行评审的方法很多,基于正式化程度可以分为临时评审、桌上检查、结对评审、走查、小组评审、正式评审六种,其中走查是一种非正式的评审,但在软件企业中被广泛使用。走查的方法有两种:一种是使用一些样品数据作为测试用例,一步步的执行模块,极为参与评审的一起检查以确保正确的逻辑和行为。另一种走查是按照脚本执行,通过脚本描述一个具体的任务或场景,用以说明系统如何在交互中完成预定的功能。8.对于复合条件表达式为(A=8) or (B7),则为了达到 100%的条件覆盖率,至少需要设计_个测试用例。 A.1 个 B.2 个 C.3
18、 个 D.4 个 (分数:2.00)A.B. C.D.解析:解析 条件覆盖就是指设计若干测试用例,运行被测程序,使得每个判定的每个条件的可能取值至少评价一次。本题可以取(A=8,B=6)和(A=9,B=9)这两组测试用例,这样 A=8 及 B7 都能够把真假各取一次,达到 100%的条件覆盖率。9.为了提高测试的效率,正确的做法是_。 A.选择发现错误可能性大的数据作为测试用例 B.随机选取测试用例 C.取一切可能的输入数据作为测试用例 D.在完成程序的编码之后再制定软件的测试计划 (分数:2.00)A. B.C.D.解析:解析 对于一个软件,其可能的输入数据数量一般是非常惊人的,所以要想全部
19、将其作为测试用例是不现实的,应当选择发现错误可能性大的数据作为测试用例,不能随机选取测试用例,故 A 正确,B、C 错误。软件测试贯穿于软件开发的各个阶段,D 项错误。10.对于一段程序,下列语句中既可以作为定义结点,同时还可以作为使用结点的是_。 A.输入语句 B.输出语句 C.赋值语句 D.条件语句 (分数:2.00)A.B.C. D.解析:解析 在进行数据流测试时,弄清楚各类型结点的含义非常重要。输出语句、赋值语句、循环控制语句、条件语句和过程调用,都是定义语句的例子。如果执行对应这种语句的结点,就会改变该变量的存储单元的内容。输出语句、赋值语句、条件语句、循环控制语句和过程调用,都是使
20、用语句的例子。如果执行对应这种语句的结点,不会改变该变量的存储单元内容。11.一般测试过程中使用的黑盒测试是基于_的测试。 A.功能 B.性能 C.可靠性 D.正确性 (分数:2.00)A. B.C.D.解析:解析 一般测试过程中使用的黑盒测试是基于功能的测试,可以看作是穷举输入测试,只有把所有可能的输入都作为测试用例使用,才能查出程序中所有的错误。黑盒测试的覆盖率取决于测试用例设计的完备性。12.下列不属于单元测试对象的是_。 A.软件构件 B.计算机系统 C.类 D.可独立编译的程序模块 (分数:2.00)A.B. C.D.解析:解析 软件单元测试的对象是可独立编译或汇编的程序模块或软件构
21、件或面向对象设计中的类。而完整的、集成的计算机系统是系统测试和验收测试的测试对象。13.大多数实际情况下,性能测试的实现方法是_。 A.黑盒测试 B.白盒测试 C.静态分析 D.可靠性测试 (分数:2.00)A. B.C.D.解析:解析 性能测试的目标是为了提高软件性能。对性能测试要判断出哪些模块执行得最多或者占用的机器时间最多,这些模块就将被重新检查、重新编写以便运行的更快。性能测试可以通过白盒或黑盒测试方法来测试,但在大多数实际情况下,人们都是使用黑盒测试方法来实现性能测试。14.分析性能下降曲线时会把曲线划分为几个区间,那么对于分析性能瓶颈有很大作用的是哪一个区间_。 A.性能平坦区 B
22、.性能轻微下降区 C.性能急剧下降区 D.其他区 (分数:2.00)A.B.C. D.解析:解析 对于性能测试来说,分析性能下降曲线往往可以从中获得很多重要信息,所谓性能下降曲线,就是指性能指标(比如响应时间和吞吐量)随用户数的增加而变化的曲线。通常分析性能下降曲线时,会首先将其分为几个区间:性能平坦区、性能轻微下降区、性能急剧下降区。其中性能平坦区是软件运行的正常状态,因此人们往往希望该区间越长越好;性能轻微下降区是软件承受高负载的缓冲区,该区间也是越长越好;性能急剧下降区不是软件的正常运行区间,这一阶段响应时间会急剧增加至用户不能忍受,吞吐量会急剧下降甚至低于单用户时的吞吐量,但该区间对于
23、分析性能瓶颈却有很大作用,通常说来,性能急剧下降区的起始点(也称性能拐点)就是性能瓶颈出现的地方,此时进一步分析资源利用率就可以找到性能瓶颈的原因。15.下列测试不是系统测试用户层关注的是_。 A.数据安全性测试 B.可维护性测试 C.并发性能测试 D.可操作性测试 (分数:2.00)A.B.C. D.解析:解析 对系统测试分析时,通常从用户层、应用层、子系统层、协议等几个层次入手。因为用户层面向的最终使用者是用户,因此用户层的测试主要围绕着用户界面的规范性、友好性、可操作性、系统对用户的支持,以及数据的安全性等方面展开。另外,用户层的测试通常还应注意可维护性测试和安全性测试。选项 C 并发性
24、能测试属于应用层测试所关注的。16.在面向对象测试中,系统测试的目的是_。 A.揭示软件中存在的故障 B.修改软件中已经发现的缺陷与故障 C.检查软件功能符合需求规格说明书 D.确认用户是否能够接受该软件 (分数:2.00)A.B.C.D. 解析:解析 由于系统测试的主要目标是测试开发出来的软件是否是问题空间的一个合理解,因此对于系统测试而言,面向对象软件与传统结构化软件并没有本质区别。17.在面向对象的软件开发中,面向对象设计与面向对象分析的区别是_。 A.在面向对象设计中需要考虑与实现相关的内容,而在面向对象分析中不需要 B.在面向对象设计中要检查设计结果对编程时将要使用的类库的支持,而在
25、面向对象分析中不需要 C.在面向对象设计中对提供足够细节的部分,要检查是否符合预期,而在面向对象分析中不考虑 D.以上全部 (分数:2.00)A.B.C.D. 解析:解析 面向对象设计与面向对象分析有很多的区别,不能将它们混淆。18.对 Web 应用软件表示层的测试重点是_。 A.服务器端的程序 B.数据的完整性 C.HTML 文档的结构与客户端的程序 D.数据库操作的性能测试 (分数:2.00)A.B.C. D.解析:解析 表示层的测试主要集中在客户端。包括四个方面:排版结构的测试、链接结构的测试、客户端程序的测试、浏览器兼容性测试。19.关于 Web 应用软件系统安全,说法正确的是_。 A
26、.Web 应用软件的安全性仅仅与 Web 应用软件本身的开发有关 B.系统的安全漏洞属于系统的缺陷,但安全漏洞的检测不属于测试的范畴 C.黑客的攻击主要是利用黑客本身发现的新漏洞 D.以任何违反安全规定的方式使用系统都属于入侵 (分数:2.00)A.B.C.D. 解析:解析 Web 应用软件的安全性不仅仅与 Web 应用软件本身的开发相关。系统的安全漏洞其实也算是系统的缺陷,所以安全漏洞的检测也属于测试的范畴。对于黑客来说,攻击更主要是利用系统的已知漏洞进行,而不是黑客本身发现的新漏洞。狭义的入侵是指黑客进入或试图进入一个系统,而广义的入侵是指以任何违反安全规定的方式使用一个系统20.关于易用
27、性测试,说法错误的是_。 A.用户界面测试是软件易用性测试最重要的一项内容 B.对软件功能的动态关联进行测试可以通过检查菜单完成 C.使用软件的目的就是减少重复输入,减轻人工劳动,提高工作效率 D.检查和评估软件安装手册的正确性和易用性是安装性测试的重要内容 (分数:2.00)A.B. C.D.解析:解析 软件易用性测试主要包括三个方面:易安装性测试、功能易用性测试和用户界面测试,其中用户界面是用户与软件打交道的唯一渠道,用户界面是否友好在很大程度上决定了软件的易用性,因此用户界面测试是软件易用性测试最重要的一项内容,选项 A 说法正确。对软件功能的关联包括静态关联和动态关联两方面,其中对于静
28、态关联的测试可以通过检查菜单完成,而对于动态关联的测试需要针对各项任务设计测试用例,以检查软件能否合理引导用户使用下一步的功能,故选项 B 说法不正确。使用软件的目的就是能够减少重复输入,保证数据的一致性,减轻人工劳动,提高工作效率,故选项 C 说法正确。软件的安装通常需要在安装手册的指导下完成,因此检查和评估软件安装手册的正确性和易用性是安装性测试的重要内容,选项 D 说法正确。21.不属于测试总结报告的内容的是_。 A.测试项目概述 B.测试用例执行情况总结 C.测试用例设计情况总结 D.软件缺陷报告总结 (分数:2.00)A.B.C. D.解析:解析 测试总结是测试过程的最后一个活动,在
29、测试报告中的内容包括:测试项目概述,测试用例执行情况总结,软件缺陷报告总结,被测软件评价。22.不属于测试计划要点的是_。 A.错误和缺陷管理 B.项目估算 C.产品目标和范围 D.跟踪和控制机制 (分数:2.00)A. B.C.D.解析:解析 测试计划的要点有:目标和范围:包括产品特性、质量目标、各个阶段的测试对象、目标范围和限制,项目估算:根据历史数据和采用恰当的评估技术,对测试工作量、所需资源作出合理估算,风险计划:测试可能存在的风险分析、识别以及风险的回避监控和管理,日程:项目工作分解结构,并采用时限图、甘特图等方法制定时间和资源表,项目资源:人员、硬件和软件等资源的组织和分配,人力资
30、源是重点,跟踪和控制机制:质量保证和控制、变更管理和控制。23.关于自动化测试,下面说法正确的是_。 A.通常自动化测试会比手工测试发现更多的缺陷 B.手工测试时,测试者可以运用其想象力和创造力对测试进行改进,但自动化测试工具不具备想象力,只能按原计划的测试方法指令进行 C.运行相同的测试,自动化测试一定会比手工测试更加有效 D.在自动化测试中,测试的艰巨任务是验证期望输出的正确性 (分数:2.00)A.B. C.D.解析:解析 自动化测试不是万能的,它所能够完成的功能也是有限的,不可能也不要期望将所有的测试活动自动化。根据经验,自动测试只能发现 20%的缺陷,而手工测试可以发现 80%,A
31、项说法错误。很多情况下,例如软件不稳定、测试结果易于人工验证但难于自动化、涉及物理交互的测试,不适合用自动化测试,C 项说法错误。软件测试的目的是发现缺陷,D 错误。24.测试工作要求被测软件已通过单元测试和集成测试,对需要固化运行的软件提供固件,这种测试方法是_。 A.回归测试 B.系统测试 C.配置项测试 D.验收测试 (分数:2.00)A.B.C. D.解析:解析 为独立的配置管理而设计的并且能满足最终用户功能的一组软件称为是软件配置项。软件配置项测试的测试工作要求被测软件已通过单元测试和集成测试,对需要固化运行的软件提供固件。25.关于系统测试和配置项测试,下列说法错误的是_。 A.二
32、者的测试过程都是由独立于软件开发人员实施 B.二者的测试过程都是由软件的供方组织 C.二者的测试工作都满足对需要固化的软件提供固件 D.二者都可以委托国家认可的第三方测试机构来实施(分数:2.00)A.B. C.D.解析:解析 软件配置项测试是由软件的供方组织,由独立于软件开发人员实施,而系统测试是由软件的需方组织,由独立于软件开发人员实施。二者都可以委托国家认可的第三方测试机构来实施。在二者的测试工作中都满足对需要固化的软件提供固件。二、B论述题/B(总题数:3,分数:50.00)以下是一软件规格说明,请按照要求回答问题软件规格说明:某学校的学生公寓有 14 栋楼,用 AN 这 14 个大写
33、字母的其中一个代表楼号。每栋楼的层数为六层,代号为 16。每层楼有 40 个房间,编号为 0140。具体表示一个宿舍房间时,用一个字母加三位数字表示,例如:“C527”表示 C 楼第 5 层的 27 室。软件运行时,如果输入的房间号不在上述范围内,将不予接受,并显示输入无效。(分数:20.00)(1).请根据规格说明,划分等价类。(分数:10.00)_正确答案:(根据题意,划分等价类。根据题中宿舍号的表示方法及范围,可以将输入划分为 4 个有效等价类和 10 个无效等价类。具体如下:有效等价类:输入条件 有效等价类 无效等价类宿舍号字符数 四位(1) 4 位(2),4 位(3)楼号(首字符)
34、AN(4) OZ(5),非大写字母字符(6)层号(第 2 个字符) 16(7) 0(8),79(9),非数字字符(10)房间编号(后两个字符) 0140(11) 00(12),4199(13),非数字字符(14)解析:(2).使用等价类划分方法为该软件设计测试用例。(分数:10.00)_正确答案:(根据上述等价类划分,设计测试用例。有效等价类的测试用例,如表所示:测试数据 期望结果 覆盖范围H437 显示有效输入 (1)、(4)、(7)、(11)无效等价类的测试用例,如下表所示: 测试数据 期望结果 覆盖范围34 显示无效输入 (2)C2354 显示无效输入 (3)T521 显示无效输入 (5
35、)8435 显示无效输入 (6)E015 显示无效输入 (8)J822 显示无效输入 (9)KB34 显示无效输入 (10)A100 显示无效输入 (12)D398 显示无效输入 (13)F6Y2 显示无效输入 (14)解析:解析 首先分析程序的规则说明和被测程序的功能,将其输入情况划分为有效等价类和无效等价类,然后按照等价类设计测试用例的方法设计有效的测试用例和无效的测试用例。关于软件测试过程,请回答以下问题(分数:12.00)(1).软件测试过程模型主要有哪些?各有何特点?(分数:6.00)_正确答案:(V 模型 V 模型反映出测试活动与分析设计活动的关系。指出单元测试和集成测试应检测程序
36、的执行 是否满足软件设计的要求。系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标。验收测试确定软件的实现是否满足用户需要或合同的要求。 W 模型 W 模型指出软件各开发阶段中应同步进行的验证和确认活动,即测试与开发也应是同步进行的。W 模型有利于尽早和全面的发现问题。 H 模型 V 模型与 W 模型有不妥,即它们都把软件的开发视为需求、设计和编码等一系列串行的活动,而事实上,这些活动可以交叉进行的。H 模型揭示一点:软件测试是一个独立的流程,贯穿于产品的整个生命周期中,与其他流程并发进行。 其他模型 除了上面几种常见模型外,还有 X 模型、前置测试模型等。)解析:(2).应当如何正
37、确选取过程模型?(分数:6.00)_正确答案:(在实践中,应当尽可能地运用各个模型中对项目有实用价值的方面,不能强行地为使用模型而使用模型。建议采用的方法是:以 W 模型作为框架,及早、全面的开展测试,同时灵活运用 H 模型独立测试的思想,在达到恰当的就绪点时就应该开展独立的测试工作,同时将测试工作进行迭代,最终保证完成测试目标。)解析:解析 软件测试过程是一种抽象的模型,用于定义软件测试的流程和方法。软件开发过程质量决定软件的质量,软件测试过程质量直接影响测试结果的准确性和有效性。针对以下 C 语言程序,请按要求回答问题以下是一个用来求解一元二次方程的 C 语言程序:1 main()2 3
38、float a,b,c,x1,x2,delta;4 scanf(“%f%f%f“,a, b, c);5 if (a!=0)6 7 delta=b*b-4*a*c;8 if (delta0)9 10 x1=(-b+sqrt(delta)/(2*a);11 x2=(-b-sqrt(delta)/(2*a);12 printf(“x1=%f,x2=%f/n“,x1,x2);13 14 else15 16 if (delta=0)17 18 x1=-b/(2*a);19 printf(“x1=%f/n“,x1);20 21 else22 23 printf(“no real solution/n“);
39、24 25 26 27 (分数:18.00)(1).画出 main()函数的控制流图。(分数:9.00)_正确答案:(根据程序的源代码,容易画出对应的控制流图,如图所示: (其中圈中的数字代表的是语句的行号) *)解析:(2).采用基本路径测试法设计一组测试用例,保证,每个基本独立路径都至少执行一次。(分数:9.00)_正确答案:(第一步,根据上述控制流图计算该程序的环路复杂性。 由图可以看出,判定节点数为3,边数为 9,节点总数为 7,故 V(G)=9-7+2=4 或 V(G)=3+1=4 或 V(G)=4(上图的区域数) 第二步,根据环路复杂度为 4,可确定 4 条基本独立路径。 Path
40、1:5-27 Path2:5-8-26-27 Path3:5-8-16-18-26-27 Path4:5-8-16-23-26-27 第三步,设计测试用例 根据上面 4 条基本独立路径,可以设计测试用例如下: 测试用例 1: 输入数据:a=0, b=1, c=1 预期输出结果:程序结束(这时方程不是二元一次方程) 测试用例 2: 输入数据:a=1, b=3, c=2 预期输出结果:x1=-1, x2=-2 测试用例 3: 输入数据:a=1, b=-2, c=1 预期输出结果:x1=1 测试用例 4: 输入数据:a=1, b=1, c=1 预期输出结果:no real solution)解析:解析 首先根据程序的源代码,画出控制流图。然后通过控制流图可以计算出该程序的复杂度,找出所有的独立路径,根据基本路径测试法设计测试用例。