软件测试.docx
《软件测试.docx》由会员分享,可在线阅读,更多相关《软件测试.docx(20页珍藏版)》请在冰豆网上搜索。
软件测试
软件测试
一.填空题
1.完整的测试应包括(制定测试计划)(设计测试方案)(测试准备和测试环境的搭建)(执行测试)(测试评估)。
2.设计测试用例时应包括(输入数据)和(预期结果)。
3.对面向过程的系统采用的集成策略有自顶向下集成.自底向上集成两种。
4.软件测试主要分为__单元测试.集成测试.系统测试.验收测试四类测试。
5.黑盒测试用例设计方法包括等价类划分.边界值分析.以及因果图,错误推测法等。
6.测试工作就是进行输入.接受输出.检验结果,不深入代码细节,这样的测试方法称为________黑盒测试________,
7.白盒测试是根据程序的(内部逻辑)来设计测试用例
8.在测试执行结束后应该提交的文档有:
测试问题报告.测试记录报告.阶段问题统计报告。
9.在测试总结后应该提交的文档有:
测试问题分析报告.测试总结报告。
10.RAD方法中由于根本的需求没有被冻结,所以用户在设计的过程中是迭代的。
11.在RAD环境的测试是基于开发过程中的用户改进迭代。
12.在RAD方法中由于设计.编码和集成的反复循环性,导致了测试的设计.执行等的循环性。
13.测试项目的流程中一般有测试策划.测试设计.测试准备.测试执行.测试总结五个阶段。
14.在测试规划过程中,应对测试内容.测试需求的资源.测试通过的标准.测试进度和风险进行计划。
15.在测试设计过程中,应做出测试计划.测试用例,并要经过评审。
16.在执行测试的过程中应该注重用例执行时系统的实际动作和输出的真实准确记录。
17.所有的测试都应追溯到用户需求。
18.在集成测试的过程中,由于采用的测试策略不同,需要集成测试人员自己去编写驱动器和桩模块。
19.软件=程序+数据+文档+服务。
20.代码评审主要做代码审查工作。
21.软件测试主要分为单元,集成,系统,验收四类测试。
22.测试人员A在测试中发现系统20个缺陷,测试人员B在系统中发现了30缺陷,他们有5个缺陷是一样的,从理论上分析,系统大概存在120个缺陷?
测试员A发现n个缺陷,B发现m个缺陷,共同缺陷m1个,理论上总的缺陷
N=m/m1*n
23.网络通讯三个要素,包括协议.IP.端口。
24.在32位的系统中,inta,charb分别占用4.1字节。
25.软件验收测试包括:
正式验收测试,alpha测试,beta测试。
26.系统测试的策略有:
功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试
27.设计系统测试计划需要参考的项目文挡有:
软件测试计划,软件需求工件和迭代计划。
28.对面向过程的系统采用的集成策略有:
自顶向下,自底向上两种。
29.通过画因果图来写测试用例的步骤为:
(1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?
根据这些关系,画出因果图。
(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。
为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。
(4)把因果图转换成判定表。
(5)把判定表的每一列拿出来作为依据,设计测试用例。
30.代码评审主要做检查代码编码是否规范工作。
31.单元测试中,自底向上需要__驱动__模块,自顶向下需要_桩___模块。
二.判断题
1.好的测试员不懈追求完美。
(×)
2.测试程序仅仅按预期方式运行就行了。
(×)
3.不存在质量很高但可靠性很差的产品。
(√)
4.在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。
(√)
5.静态白盒测试可以找出遗漏之处和问题。
(√)
6测试错误提示信息不属于文档测试范围。
(×)
7.单元测试能发现约80%的软件缺陷。
(√)
8.代码评审是检查源代码是否达到模块设计的要求。
(√)
9.自顶向下集成需要测试员编写驱动程序。
(×)
10总是首先设计黑盒测试用例。
(√)
11.软件需求是度量软件质量的基础。
不符合需求的软件就不具备质量。
(T)
12.全面质量管理的定义是:
一个组织以质量为中心,以全员参与为基础,目的在于通过让顾客满意和本组织所有成员及社会受益而达到长期成功的管理途径。
(T)
13.发现错误是软件测试的唯一目的。
(F)
14.白盒测试可以找出软件遗漏功能和代码错误问题。
(F)
15.软件的质量有测试组决定。
(F)
16.在设计测试用例时,应包括合理的输入条件和不合理的输入条件。
(T)
17.测试从不可知内部条件开始,结果是不可预见的。
(F)
18.软件缺陷一定是由编码所引起的.。
(F)
19.软件测试等于程序测试。
(F)
20.Beta测试是软件的多个用户在实际使用环境下进行的测试。
(T)
21.经验表明,测试后程序残存的错误数目与该程序中以发现的错误数目或检错率成正比。
(T)
22.验收测试比较适合采用软件自动化测试工具进行测试。
(F)
24.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。
(∨)
25.软件质量保证和软件测试是同一层次的概念。
(x)
26.我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没有缺陷。
(x)
27.程序员兼任测试员可以提高工作效率。
(x)
28.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。
∨
29.软件测试的生命周期包括测试计划.测试设计.测试执行.缺陷跟踪.测试评估。
(∨)
30.调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的条件开始,结束的过程不可预计。
(x)
31.在边界值方法中,对于一个有n个变量的函数作最坏情况测试,生成的测试用例个数是7n个。
(x)
32.软件生存周期是从软件开始开发到开发结束的整个时期。
(x)
33.在所有的黑盒测试方法中,基于决策表的测试是最为严格.最具有逻辑性的测试方法。
(∨)
34.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。
(∨)
35.测试用例的数目越多,测试的效果越好。
(x)
36.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。
(x)
37.单元测试属于动态测试。
(∨)
38.验收测试是以最终用户为主的测试。
(∨)
39.没有发现错误的测试是没有价值的。
(∨)
40.可以把不合格的开发人员安排做测试。
(x)
41.一个程序中所含有的路径数与程序的复杂程度有着直接的关系。
(∨)
42.结构性测试是根据软件的规格说明来设计测试用例。
(x)
43.错误推测法是根据输出对输入的依赖关系来设计测试用例的。
(x)
44.软件缺陷属性包括缺陷标识.缺陷类型.缺陷严重程度.缺陷产生可能性.缺陷优先级.缺陷状态.缺陷起源.缺陷来源.缺陷原因。
(∨)
45.对于一个含有n个变量的程序,采用边界值健壮性测试方法来测试程序会产生6n+1个测试用例。
(∨)
46.数据流测试是主要用作路径测试的真实性检查。
两种形式分别为定义/使用测试.基于程序片的测试。
(∨)
47.软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。
(x)
48.测试用例应由测试输入数据和对应的实际输出结果这两部分组成。
(x)
49.测试是可以穷尽的。
(x)
50.测试自动化是万能的。
(x)
61.每一个软件项目都有一个最优的测试量。
(∨)
62.黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。
(∨)
63.代码审查工作属于静态测试。
(∨)
64.软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一。
(∨)
65.回归测试是在软件修改后再次运行以前为查找错误而执行程序曾用过的测试用例.∨
66.集成测试是为确定软件系统是否满足验收标准以及使客户决定是否接受而进行的正式测试.(x)
67.测试按照测试层次可以划分成为单元测试.集成测试和系统测试。
(∨)
68.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。
(x)
69.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。
(∨)
三.选择题
1.某次程序调试没有出现预计的结果,下列(B)不可能是导致出错的原因。
A.变量没有初始化B.编写的语句书写格式不规范
C.循环控制出错D.代码输入有误
15.集成测试计划应该在(b)阶段末提交。
A.需求分析B.概要设计
C.详细设计D.单元测试完成
16.下列关于程序效率的描述错误的是(c)。
A.提高程序的执行速度可以提高程序的效率
B.降低程序占用的存储空间可以提高程序的效率
C.源程序的效率与详细设计阶段确定的算法的效率无关
D.好的程序设计可以提高效率
17.下列(b)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。
A.DD-路径图B.控制流图
C.MM-路径图D.模块调用图
2.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?
(B)
A预防软件发生错误 B发现改正程序错误 C提供诊断错误信息D.都是
3.下面的哪一项测试步骤中需要进行局部数据结构测试:
(A)
A.单元测试B.集成测试C.确认测试D.系统测试
4.白盒测试是根据程序的(C)来设计测试用例
功能B.性能C.内部逻辑D.内部数据
5.(C)方法根据输出对输入的依赖关系设计测试用例。
A.路径测试B.等价类C.因果图D.归纳测试
6.有一组测试用例,它使被测程序中的每一个分支至少执行一次,它满足的覆盖标准是:
(B)
A.语句覆盖B.判定覆盖C.条件覆盖D.路径覆盖
7.软件测试按照测试层次可以分为(c)
A.黑盒测试.白盒测试
B.功能性测试和结构性测试
C.单元测试.集成测试和系统测试
D.动态测试和静态测试
D.都是
8.导致软件缺陷的最大原因是:
(a)
A.软件需求说明书B.设计方案
C.编码D.维护
9.测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括(a)
A.测试输入.执行条件和预期的结果。
B.测试目标.测试工具
C.测试环境D.测试配置
10.对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于(b)
A.测试B.调试
C.回归测试D.单元测试
11.需求规格说明书的内容不应当包括(b)。
A对重要功能的描述B对算法的详细过程性描述(详细说明书)
C软件确认准则D软件的性能
12.需求分析是由分析员经过了解用户的要求,认真细致地调研.分析,最终应建立目标系统的逻辑模型,并写出(B)。
(A)模块说明书(B)软件规格说明书(C)项目开发计划(D)合同文档
13.软件动态测试方法分为白盒法和(B)。
(A)白盒法(B)黑盒法(C)动态测试(D)灰盒法
14.软件测试方法按照测试过程是否执行程序分为动态测试和(C)。
15..下列(b)是关于软件缺陷的描述。
A.导致软件包含故障的人的行为
B.产品的异常情况
C.引起一个功能部件不能完成所要求的功能的一种意外情况
D.功能部件执行其规定功能的能力丧失
D.决策表法
16.功能性测试是根据(a)来设计测试用例。
A.软件的规格说明
B.设计文档
C.程序的内部逻辑
D.维护手册
17.在软件修改之后,再次运行以前为发现错误而执行程序曾用过的测试用例,这种测试称之为(c)
A.单元测试
B.集成测试
C.回归测试
D.验收测试
18.(c)方法是根据输出对输入的依赖关系来设计测试用例的。
A.边界值分析B.等价类
C.因果图法D.错误推测法
19.测试工程师的工作范围会包括检视代码.评审开发文档,这属于(b)
A.动态测试B.静态测试
C.黑盒测试D.白盒测试
20.以下关于测试用例特征的描述错误的是(b)
A.最有可能抓住错误的;
B.一定会有重复的.多余的;
C.一组相似测试用例中最有效的;
D.既不是太简单,也不是太复杂。
21.软件测试的目的:
(c)
A.避免软件开发中出现的错误
B.发现软件开发中出现的错误
C.尽可能发现并排除软件中潜藏的错误,提高软件的可靠性
D.修改软件中出现的错误
22.软件测试是采用(a)执行软件的活动。
A.测试用例
B.输入数据
C.测试环境
D.输入条件
23.在下列描述中,关于一个软件缺陷状态完整变化的错误描述是(d)
A.打开——修复——关闭
B.打开——关闭
C.打开——保留
D.激活——修复——重新打开
24.在下列描述中,关于测试与调试的说法错误的是(d)
A.测试是显示错误的行为;而调试是推理的过程;
B.测试显示开发人员的错误。
调试是开发人员为自己辩护;
C.测试能预期和可控。
调试需要想象.经验和思考;
D.测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。
25.软件缺陷修复的代价最高的阶段为(a)
A.发布阶段B.需求阶段
C.设计阶段D.编码阶段
26.(d)是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。
A.条件覆盖B.组合覆盖
C.判定覆盖D.语句覆盖
27.(a)是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
A.判定-条件覆盖B.组合覆盖
C.判定覆盖D.条件覆盖
28.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?
(b)
A.功能测试
B.单元测试
C.结构测试
D.验收测试
29.单元测试的主要任务不包括(b)。
A.出错处理B.全局数据结构
C.独立路径D.模块接口
30.单元测试中用来模拟实现被测模块需调用的其他功能模块的是(b)。
A.驱动模块B.桩模块
C.主控模块D.真实的被调用模块
31.测试后程序中残存的错误数目与该程序中已发现的错误数目成(d)。
A.未知B.反比
C.相等D.正比
32.在软件开发的各种资源中,(D)是最重要的资源。
A开发工具B方法C硬件环境D人员
33.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(D)。
A.程序.数据B.程序.文档C.程序D.程序.数据.文档
34.一个项目是否开发,从经济上来说是否可行,归根结底是取决于对(A)
A.成本的估算B.项目计划
C.工程管理D.工程网络图
35.软件项目计划一般不包括以下哪项内容(D)
(A)培训计划(B)人员安排
(C)进度安排(D)软件开发标准的选择和制定(可行性)
36.下列哪个模型没有采用迭代的思想(A)
A.瀑布模型B.渐增模型
C.螺旋模型D.RUP模型
(A)白盒法(B)黑盒法(C)静态测试(D)灰盒法
37.用不同的方法可将软件测试分为白盒法和黑盒法,或者(C)和静态测试。
(A)白盒法(B)黑盒法(C)动态测试(D)灰盒法
38.软件测试的过程,不包括(D)
(A)单元测试(B)集成测试(C)确认测试(D)测试计划
39.单元测试中使用的辅助模块分为驱动模块和(C)
(A)传入模块(B)主模块(C)桩模块(D)传出模块
40.集成测试分为渐增组装测试和(A)
(A)非渐增组装测试(B)确认测试(C)单元测试(D)测试计划
41.软件测试的目的是(A)
(A)发现软件中隐藏的错误
(B)解决软件中隐藏的错误
(C)尽量不发现错误以便早日提交软件
(D)证明软件的正确性
42.软件调试的目的是(B)
(A)发现软件中隐藏的错误
(B)解决测试中发现的错误
(C)尽量不发现错误以便早日提交软件
(D)证明软件的正确性
43.单元测试的测试用例主要根据(D)的结果来设计。
A.需求分析B.源程序C.概要设计D.详细设计
44.从测试的要求来讲,如果想让测试完成的效果更好,测试部门与开发部门的关系最好是下面四种中的(D)。
A.测试组织与开发组织为同一公司同一部门同一小组,并且测试人员与开发人员为同一组人员,即开发人员测试自己的程序。
B.测试组织与开发组织为同一公司同一部门同一小组,但测试人员与开发人员为不同人员。
C.测试组织与开发组织为同一公司,但不在同一部门。
D.测试组织与开发组织为不同公司。
45.严重的软件缺陷的产生主要源自(B )。
A)需求
B)设计
C)编码
D)测试
46.可作为测试停止的标准是(d)
A.当时间用光时
B.执行了所有的测试用例,但没有发现故障
C.当所有缺陷都已经清除时
D.当达到所要求的覆盖时
47.下列描述错误的是(a)
A.软件发布后如果发现质量问题,那是软件测试人员的错
B.穷尽测试实际上在一般情况下是不可行的
C.软件测试自动化不是万能的
D.测试能由非开发人员进行,调试必须由开发人员进行。
48.下列(c)方法设计出的测试用例发现程序错误的能力最强。
A.等价类划分法
B.场景法
C.边界值分析法
49关于软件测试的目的,下列说法哪个是错误的(D)。
A.测试是程序的运行过程,目的在于发现错误。
B.一个好的测试用例在于能够发现至今未发现的错误。
C.一个成功的测试是发现了至今未发现的错误的测试。
D.测试的目标是以最少的时间和人力改正软件中潜在的所有错误和缺陷。
50黑盒测试用例设计方法包括(B)等
A.等价类划分法.因果图法.正交试验设计法.功能图法.路径覆盖法.语句覆盖法
B.等价类划分法.边界值分析法.判定表驱动法.场景法.错误推测法.因果图法.正交试验设计法.功能图法
C.因果图法.边界值分析法.判定表驱动法.场景法.Z路径覆盖法
D.场景法.错误推测法.因果图法.正交试验设计法.功能图法.域测试法
51(A)是一种黑盒测试方法,它是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例
A.等价类划分法
B.边界值分析法
C.因果图法
D.场景法
52错误推测法的基本想法是:
(D)
A.划分有效等价类和无效等价类
B.划分原因和结果
C.列出所有的可能情况
D.列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例
53.软件测试是采用(a)执行软件的活动。
A.测试用例
B.输入数据
C.测试环境
D.输入条件
54.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?
答案:
(d)
1预防软件发生错误2发现程序错误3提供诊断错误信息
A.只有1
B.只有2
C.只有3
55.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:
-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是(C)
A.条件覆盖法B.等价分类法
C.边界值分析法D.错误推测法
56.集成测试的测试用例是根据(C)的结果来设计。
A.需求分析B.源程序C.概要设计D.详细设计
57.软件测试的对象包括(D)。
A.需求分析.概要设计和详细设计
B.程序源代码
C.需求规格说明
D.以上所有
四.简答题
1:
说明软件测试和调试的目的有何区别?
软件测试的目的是:
用最少的人力和物力在最短的时间内尽可能多的发现系统中潜在的软件缺陷和错误
软件调试的目的是:
尽可能多的解决软件中隐藏的错误
2:
软件缺陷有哪些表现?
(1)软件没有达到产品说明书的要求
(2)软件出现预期结果和实际结果不一致的表现
(3)软件功能超出产品说明书的范围
(4)软件没有达到用户期望的目标
(4)用户
3:
软件过程模型的具体分类是什么?
其典型代表瀑布模型的基本阶段划分是什么?
具体分类:
瀑布模型.螺旋开发模型.大棒开发.快速原型.边写边改.
划分阶段:
4.为什么进行软件测试?
软件测试的目的是什么?
答:
(1)略
(2)目的:
软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望做的事情,另一方面是确认软件以正确的方式来做了这个事情。
第二是提供信息,比如提供给开发人员或程序经理的回馈信息,为风险评估所准备的信息。
第三软件测试不仅是在测试软件软件产品本身,而且还包括软件开发的过程。
如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。
因此,软件测试的第三个目的是保证整个软件开发过程是高质量的。
5.黑盒测试与白盒测试各有哪些优缺点,应该如何结合才能解决漏洞和冗余问题?
答:
(1)黑盒白盒测试的优缺点:
略
(2)功能性测试具有两大优点:
功能性测试与软件如何实现无关;测试用例开发可以与实现并行进行,因此可以压缩总的项目开发时间。
缺点:
测试用例之间可能存在严重的冗余,还会有位测试的软件漏洞。
结构性测试局限于已经完成的代码行为当中,离代码太近。
因此可以结构性测试指标去解决冗余和漏洞问题。
如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷,如果没有达到一定的DD—路径覆盖,则可知在功能性测试用力中存在漏洞。
因此路径测试可以提供作为功能性测试交叉检查的一组指标。
6.有一个程序,要求用户输入三个整数代表三角形的三个边长,回车后软件提示用户输入的三角形属于是那种三角形(),针对这个软件功能请写出测试用例。
答:
相对简单的用例应该包含如下
7.有二元函数f(x,y),其中x∈[1,12],y∈[1,31];请写出该函数采用基本边界值分析法设计的测试用例。
答:
五.设计题:
1.使用基本路径测试方法,为以下程序段设计测试用例。
(1)画出程序的控制流图。
(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。
(3)导出基本路径集,确定程序的独立路径。
(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。
voidDo(intX,intA,intB)
{
1if((A>1)&&(B=0))
2X=X/A;
3if((A=2)||(X>1))
4X=X+1;
5}
由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。
1:
A>1;2:
B=0;3:
X=X/A;4:
A=2;5:
X>1;6:
X=X+1;7:
}
答案:
1.画出控制流图:
如右图所示
计算环形复杂度:
参考教材
导出独立路径(用语句编号表示:
5条基本路径)
路径1:
1→2→3→4→5→6→7
路径2:
1→4→5→6→7
路径3:
路径4:
路径5:
测试用例:
略
2.针对以下问题:
某一种8位计算机,其十六进制常数的定义是以0x或0X开头的十六进制整数,其取值范围为-7f~7f(不区分大小写字母),如0x13.0x6A.-0x3c。
请采用等价类划分的方法设计测试用例。
答案:
等价类划分:
输入条件
有效等价类
无效等价类
开头字符
由0x或0X开头
(1)
以字母开头
以非0数字开头
(2)
(3)
数值字符
数字或A—F的字母
(4)
A—F以外的字母
(5)
数值字符个数
(6)
(7)
数值
(8)
(9)
(10)