计算机四级软件测试工程师64Word文档格式.docx
- 文档编号:16962333
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:17
- 大小:24.92KB
计算机四级软件测试工程师64Word文档格式.docx
《计算机四级软件测试工程师64Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机四级软件测试工程师64Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
4.在面向对象软件的集成测试中,下列关于基干集成的叙述中,错误的是________。
(A)基干测试最大的优点是无须设计桩模块和驱动模块
(B)在嵌入式系统中,基干集成划分为两部分:
内核部分(基干部分)和外围应用部分。
(C)基干集成集中了传统集成的优点,并对缺点进行了控制,更加适合大型复杂项目的集成。
(D)基干集成的缺点是,必须对系统的结构和相互依存性急性分析。
5.对于具有串联型分支结构的程序,如果有七个判断语句串联,则使用正交实验设计法,至少需要的测试用例数应为______。
A)23B)24C)26D)27
[解析]设串联型分支结构中有n个判定语句,计算满足关系式”+1≤2m的最小自然数m;
设t=2m取正交表Lt,并利用它设计测试数据,其中t为最少需要的测试用例数。
6.对下列产品进行测试,要优先考虑自底向上集成策略的是______。
A.采用契约式设计的产品B.高层接口变化极为频繁的产品
C.底层接口比较稳定的产品D.以上全部
D.
7.以下关于面向对象软件测试的说法中,错误的是______。
A)对于面向对象程序集成测试而言,大突击集成可能导致测试不充分
B)面向对象软件只能采用白盒测试,不能采用黑盒测试
C)在存在多态的情况下,为了提高测试的充分性需要对所有可能的绑定都进行测试
D)单个成员方法的测试属于面向对象程序单元测试考虑的范畴
[解析]由于大突击集成面对的是整个软件的所有代码,几乎没有什么方法能够为此生成合适的测试用例集,所以大突击集成可能导致测试不充分,A说法正确。
在面向对象中,一般有少数的方法需要单独进行测试,D说法正确。
8.下列关于测试方法,说法正确的是
A)白盒测试不同于黑盒测试之处是它可以减少测试用例数量
B)覆盖所有独立路径就能够覆盖所有分支
C)在单元测试中不使用黑盒测试技术
D)满足分支覆盖就满足条件覆盖和语句覆盖
[解析]白盒测试与黑盒测试的本质区别是对内部逻辑的理解,与测试用例数量无关。
单元测试是以自盒测试为主,但有时也会用到黑盒测试技术。
满足分支测试不一定满足条件测试。
9.程序的静态错误分析和设计分析共同研究的题目是______。
A.接口一致性B.表达式分析
C.引用分析D.类型和单位分析
10.如果一个判定中的复合条件表达式为(A>10)or(B<=7),则为了达到100%的判定覆盖率,至少
需要设计多少个测试用例______。
A.1个B.2个
C.3个D.4个
[解析]题目要求达到100%的判定覆盖率,即要求所有的判定真假都至少执行一次,故我们取定(A=12,B=7)和(A=7,B=10)两组测试用例,即可满足题目要求。
11.软件问题报告管理的核心功能是
A)对软件问题报告的分类存储
B)软件问题报告生命周期状态转换控制
C)软件问题报告生命周期跟踪机制
D)以上全部
[解析]测试问题报告管理的核心功能是对软件问题报告的分类存储、软件问题报告生命周期状态转换控制和软件问题报告生命周期跟踪机制。
12.下述软件测试过程管理特点的叙述,不正确的是______。
A)软件质量标准定义不准确、任务边界模糊
B)软件测试项目的变化控制和预警分析要求高
C)要求测试人力资源丰富,有快速的变动调整以适应
D)测试任务分配难
C.
[解析]软件测试过程管理的基本内容有:
计划、组织和监控。
软件测试项目具有智力密集、劳动密集的特点,受人力资源影响大。
所以测试要求人力资源稳定。
13.为了提高测试的效率,正确的做法是______。
A)选择发现错误可能性大的数据作为测试用例
B)随机选取测试用例
C)取一切可能的输入数据作为测试用例
D)在完成程序的编码之后再制订软件的测试计划
[解析]对于一个软件,其可能的输入数据数量一般是非常惊人的,所以要想全部将其作为测试用例是不现实的,应当选择发现错误可能性大的数据作为测试用例,不能随机选取测试用例,故A正确,B、C错误。
软件测试贯穿于软件开发的各个阶段,D项错误。
14.软件可靠性的研究很大程度借鉴了硬件可靠性的研究,但二者还是有很多区别,主要体现在
A)软件设计出来后,每份拷贝都完全一样,而硬件设计出来后,每个按照设计生产的都不可能完全相同
B)软件是纯逻辑产品,内部逻辑复杂度高,而硬件的内部逻辑相对简单
C)软件版本更新很频繁,但硬件版本更新通常很慢
[解析]软件可靠性和软件可靠性测试的研究在很大程度上借鉴了硬件可靠性的研究,但由于软件和硬件的不同特点导致软件可靠性和硬件可靠性有很大区别,具体而言,软件可靠性和硬件可靠性的区别有:
①唯一性,软件设计出来后,所有副本就是一模一样的;
硬件设计出来后,每个按照设计生产的硬件都不可能完全相同。
②物理退化,一个正确的硬件器件会因为物理退化在某时刻失效,但正确的软件则不会因为物理退化而发生失效。
③逻辑复杂性,软件是纯逻辑产品,具有复杂的内部逻辑,而硬件的内部逻辑则相对简单。
④版本更新,硬件的版本更新通常很慢,而软件的版本更新比较频繁。
15.同行评审主要分为管理评审、文档评审、过程评审和
A)项目评审B)误差评审
C)技术评审D)组织体系评审
[解析]同行评审是一种通过作者同行来确认缺陷和需要变更区域的检查方法。
它涉及的内容很多,主要可以分为管理评审、技术评审、文档评审和过程评审。
16.在模块测试的过程中,采用自底向上的测试比自顶向下的测试
A)好B)差
C)一样D)不确定
[解析]自底向上测试和自顶向下测试都是增量式的测试方法,在自底向上测试中,首先测试最底层的模块,利用辅助的驱动模块调用,然后测试高层次的模块。
而白顶向下测试则刚好相反,它是首先测试顶层模块,无需编写驱动模块,但要使用桩模块,然后测试下一层模块。
二者各有优缺点,但权衡来看,自底向上测试的方法要优于自顶向下测试方法。
17.下列语句通常不是作为定义结点的是________。
(A)输入语句
(B)过程调用语句
(C)赋值语句
(D)输出语句
18.关于逻辑覆盖,说法错误的是______。
A)DDP覆盖是判定覆盖的一个变体
B)满足条件覆盖一定也满足判定覆盖
C)指令块覆盖属于语句覆盖
D)若判定覆盖率达100%,则语句覆盖率一定也是100%
3.00)
[解析]条件覆盖是指设计若干个测试用例,运行被测程序,使得程序中每个判定的每个条件的可能取值至少评价一次。
而判定覆盖是设计测试用例,使得程序中每个判定的取真分支和取假分支至少评价一次。
二者没有必然的联系,故满足条件覆盖的未必会满足判定覆盖,选项B错误。
而满足判定覆盖一定会满足语句覆盖是容易理解的,因为每个判定的取真分支和取假分支都至少评价一次.必然预示着每个可执行语句至少评价了一次,即满足了语句覆盖。
另外指令块覆盖是语句覆盖的一个变体.而DDP覆盖(判定路径覆盖)是判定覆盖的一个变体。
19.软件开发过程中必须伴有质量保证活动,而软件测试又是软件质量保证的关键因素。
针对下列说法正确的是______。
A)发布出去的软件有质量问题,是软件测试人员的错
B)软件测试技术要求不高,至少比编程容易得多
C)软件测试是测试人员的事,与开发人员无关
D)软件测试阶段发现的错误并不只是在编码阶段产生的,需求和设计极端也会产生错误
[解析]软件测试环节现在已经引起了越来越多人们的注意。
但是相对于软件开发而言,对软件测试还是存在很多误区。
A、B、C均为错误的认识。
而D选项则正确地表明了测试中发现的软件错误的来源,不只在编码阶段,软件开发的各个阶段都会产生错误。
20.下列关于面向对象测试问题的说法中,不正确的是______。
A.在面向对象软件测试时,设计每个类的测试用例时,不仅仅要考虑调用各个成员方法的输入参数,还需要考虑如何设计调用的序列
B.构造抽象类的驱动程序会比构造其他类的驱动程序复杂
C.类B继承自类A,如果对类B进行了严格的测试,就意味着不需再对类A进行测试
D.在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试
[解析]由于面向对象具有封装的特点,在设计类的测试用例时,不仅要考虑各成员方法的输入参数,还要考虑如何设计调用的序列。
若类B继承自类A,如果对类B进行了严格的测试,有些情况也许可以不对类A进行测试,但由于继承的存在,就会导致类A的规格说明可能与类B不一致,此时就必须按照类A的规格说明重新对类A重新进行测试。
多态是指对一个类的引用可以与多个类的实现绑定。
抽象类是指只有一些成员方法而没有其实现的类,甚至有的抽象类中的所有成员方法都没有实现,在测试抽象类时,需要为抽象类构造一个子类,并实现所有抽象类没有实现的成员方法,这也说明构造抽象类的驱动程序显然比构造其他类的驱动程序复杂。
21.下列几种逻辑覆盖标准中,查错能力最强的是______
A.语句覆盖B.条件覆盖
C.判定覆盖D.条件组合覆盖
1.00)
[解析]对于选项中的几种逻辑覆盖,查错能力最强的应该是条件组合测试。
22.问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在,这些缺陷所处的状态是______。
A)激活状态B)非激活状态C)已修正状态D)关闭状态
[解析]缺陷处于激活状态,即是问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在。
23.在面向对象软件的基干集成测试策略中,将基干中的模块形成基干子系统使用的集成方式是______。
A.大突击集成方式B.自底向上集成方式C.自顶向下集成方式D.综合集成方式
[解析]面向对象软件的基干集成测试策略的具体测试步骤为:
①对基干中的每个模块进行孤立的、充分的测试。
②对基干中的所有模块进行一次性集成,形成基干子系统,并使用一个驱动模块检查使用经过一次性集成的基干。
此时采用的是大突击集成方式。
③对应用的控制子系统进行自顶向下的集成。
④集成基干和控制子系统,重新构造控制子系统。
⑤对各应用子系统采用自底向上的集成策略。
⑥集成基干子系统、控制子系统和各应用子系统,形成整个系统。
基干集成的优点是集成了自底向上集成、自顶向下集成和大突击集成三者的优点,而对三者的缺点也进行了控制,更适合于大型复杂项目的集成。
24.关于Web应用软件的特点描述,错误的是________。
(A)基于无连接协议
(B)由内容驱动
(C)开发周期较长,演变较慢
(D)完全性要求较高
25.关于数据库应用系统的需求分析工作,下列说法正确的是________。
(A)通过需求分析过程,需要确定出整个应用系统的目标、任务和系统的范围说明
(B)在需求分析阶段,系统需求分析员要与用户充分沟通,并做出各类用户视图
(C)数据需求分析的主要工作是要辩识出数据处理中的数据数据处理流程
(D)数据操作响应时间、系统吞吐量、最大并发用户数都是性能需求分析的重要指标
二、论述题(总题数:
2,分数:
30.00)
以下是一个自动饮料售货机软件的操作规格说明,请按要求回答问题。
设要对一个自动饮料售货机软件进行黑盒测试。
该软件的规格说明如下:
“有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。
若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。
若投入的是2元硬币,在送出饮料的同时退还5角硬币。
”
12.00)
(1).试利用因果图法,建立该软件的因果图。
6.00)
__________________________________________________________________________________________
正确答案:
(首先分析软件中出现的所有原因和结果,并将其标号。
原因:
1.投入1元5角硬币
2.投入2元硬币
3.按“可乐”按钮
4.按“雪碧”按钮
5.按“红茶”按钮
结果:
21.退还5角硬币
22.送出“可乐”饮料
23.送出“雪碧”饮料
24.送出“红茶”饮料
中间状态:
11.已投币
12.已按钮
然后根据上述原因和结果,以及各状态问的关系,画出因果图,如下图所示。
)
(2).设计测试该软件的全部测试用例。
(将上述因果图转换为判定表,如下表所示,每一列可以作为确定测试用例的依据。
表判定表
1
2
3
4
5
6
7
8
9
10
11
输入
输入1元5角硬币
(1)
输入2元硬币
(2)
按“可乐”按钮
(3)
按“雪碧”按钮
(4)
按“红茶”按钮
(5)
中间结点
已投币
(11)
1
0
已按钮
(12)
输出
退还5角硬币
(21)
送出“可乐”饮料
(22)
送出“雪碧”饮料
(23)
送出“红茶”饮料
(24)
[解析]对自动软件售货机的软件进行基于因果图的黑盒测试,首先根据软件的规格说明,找出所有可能的原因和结果,以及两者之间的联系,画出因果图。
然后根据基于因果图的黑盒测试方法,将因果图转换为判定表,设计测试用例即可。
针对以下C语言程序,请按要求回答问题。
已知link.c源程序如下:
/*link.c程序对单向链表进行操作,首先建立一个单向链表,然后根据用户的选择可以对其进行插入结点、删除结点和链表反转操作*/
#include<stdio.h>
#include<stdlib.h>
typedefstructlist_node*list_pointer;
//定义链表指针
typedefstructlist_node//定义链表结构
intdata;
list_pointerlink;
list_node;
//用到的操作函数
list_pointercreate();
//建立一个单向链表
voidinsert(list_pointer*p_ptr,list_pointernode);
//在node后加入一个新的结点
voiddelete_node(list_pointer*p_ptr,list_pointertrail,list_pointernode);
//删除前一个结点是trail的当前结点node
voidprint(list_pointer*p_ptr);
//打印链表结点中的值
list_pointerinvert(list_pointerlead);
//反转链表
intmain()
list_pointerptr=NULL;
list_pointernode,trail;
list_pointer*P=&ptr;
intchoose,location,i;
printf("
youshouldcreatealinkfirst:
/n"
);
//建立一个单向链表
prt=create();
//ptr指向链表的第一个结点
print(ptr);
//根据用户的不同选择进行相应的操作:
inputnumber0,youcanquittheprogram/n"
inputnumber1,youcaninsertanewnodetolink/n"
):
inputnumber2,youcandeleteanodefromthelink/n"
inputnumber3,youcaninvertthelink/n"
pleaseinputyouchoice/n"
scanf("
%d"
,&choose);
while(choose!
=0)
switch(choose)
case1:
i=1:
while(i<location)
node=node->link;
i++:
insert(p,node);
//p为指向ptr的指针
break;
case2:
youwilldeleteanodefromthelink/n"
pleaseinputthelocationofthenode:
,&
location):
node=ptr;
if(location==1)
trail=NULL;
trail=ptr;
trail=trail->link:
node=trail->link;
delete_node(p,trail,node);
case3:
youwillinvertthelink/n"
ptr=invert(ptr);
default;
return-1;
.&choose):
return0;
//根据用户的输入值建立一个新的单向链表:
list_pointercreate()
inti,current,length;
list_pointerp1,p2,head;
pleaseinputthenodenumberofthelink:
.&length):
thenumberofthelinkis:
,length);
pleaseinputthedataforthelinknode:
i=0;
p1=p2=(list_pointer)malloc(sizeof(list_node));
head=p1;
for(i=1;
i<length;
i++)
,&current);
p1->data=current;
p2->link=p1;
p2=p1;
p1=(list_pointer)malloc(sizeof(list_node));
p2->link=NULL;
returnhead;
18.00)
(1).画出主函数main的控制流程图。
9.00)
_______________________________________________________________________________________
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 软件 测试 工程师 64