软件测试课后习题答案.docx
《软件测试课后习题答案.docx》由会员分享,可在线阅读,更多相关《软件测试课后习题答案.docx(20页珍藏版)》请在冰豆网上搜索。
软件测试课后习题答案
软件测试课后习题答案
【篇一:
软件测试基础习题及答案】
>软件测试是一个过程或者一系列过程,用来确认计算和代码完成了其应该完成的功能,并且不执行其不应该有的操作。
2、软件测试的目标是什么?
是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,降低软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险。
3、简单描述一下软件测试的原则?
所有的软件测试都应追溯到用户需求
应当把“尽早地和不断地进行软件测试”作为测试者的座右铭
goodenough原则
质量第一
充分注意测试中的群集现象
程序员应避免检查自己的程序
有据可依
尽量避免软件测试的随意性,要有预期结果
重视回归测试
妥善保存一切测试过程文档
4、软件测试中验证和确认的区别?
verfication验证:
是保证软件正确实现特定功能的一系列活动和过程。
目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段设定的目标。
validation确认:
是保证软件满足用户需求的一系列的活动和过程。
目的是在软件开发后保证与用户需求符合
5、软件测试按照测试的基本策略可分为哪两种并加以详细说明?
白盒测试:
白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
黑盒测试:
黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。
6、整个软件生命周期中,需要进行哪几项测试?
单元测试、集成测试、系统测试、验收测试
单元测试
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。
它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。
因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。
因此应用系统有一个设计很好的体系结构就显得尤为重要。
一个软件单元的正确性是相对于该单元的规约而言的。
因此,单元测试以被测试单位的规约为基准。
单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。
集成测试
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。
集成测试的策略主要有自顶向下和自底向上两种。
系统测试
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。
因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。
软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。
验收测试
验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。
它的测试数据通常是系统测试的测试数据的子集。
所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。
这是软件在投入使用之前的最后测试。
简述集成测试和系统测试的区别?
1、集成测试的主要依据是概要设计说明书,系统测试的主要依据是需求设计说明书
2、集成测试是系统模块的测试,系统测试是对整个系统的测试,包括相关的软硬件平台,网络及相关的外设的测试
7、系统测试的策略有哪些?
功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,容错性测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试等。
8、文档测试主要包括哪些内容?
联机帮助文档或用户手册
指导和向导
安装、设置指南
示例及模板
错误提示信息
用于演示的图像和声音
授权/注册登记表及用户许可协议
软件的包装、广告宣传材料
9、停止测试的条件?
符合用户的需求
在一段时间内测试不出新缺陷
注:
在企业实际开发过程中,版本发布时会有遗留问题
10、测试的基本文档包括哪些?
?
测试计划》:
指明测试范围、方法、资源,以及相应测试活动的时间进度安
排表的文档。
?
《测试方案》:
指明为完成软件或软件集成特性的测试而进行的设计测试方
法的细节文档。
?
《测试用例》:
指明为完成一个测试项的测试输入,预期结果,测试执行条
件等因素的文档。
?
《测试规程》:
指明执行测试时测试活动序列的文档。
?
《测试报告》:
指明执行测试结果的文档。
11、简要的说明一下软件工程中的v模型?
12、为什么要开展测试工作?
因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比iso质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。
在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况
13、测试团队在项目中的基本责任是什么?
1、发现软件程序、系统或产品中所有的问题
2、尽早地发现问题
3、督促和协助开发人员尽快地解决程序中的缺陷。
4、帮助项目管理人员制定合理的开发计划
5、对缺陷进行跟踪、分析和分类总结,以便让项目的管理人员和相关的负责人能够及时、清楚地了解产品当前的质量状态。
6、帮助改善开发流程、提高产品的开发效率
7、促进程序编写的规范性、易读性、可维护性等。
14、软件缺陷的定义是什么?
从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
因此软件缺陷就是软件产
品中所存在的问题,最终表现为用户所需要的功能没有完全实现,没有满足用户的需求。
15、软件错误的分类有哪些?
软件需求错误
功能和性能错误
软件结构错误
数据错误
实现和编码错误
软件集成错误
操作系统调用错误
测试定义和测试执行错误
16、一个优秀的测试工程师需要具备的素质有哪些?
?
目标:
发现软件缺陷,并尽可能早些。
?
探索精神,软件测试员不害怕进入陌生环境。
?
障碍排除高手,善于发现问题的症结。
?
追求完美,他们力求完美,但是知道无法企及时,不去强求。
?
不懈努力,不停尝试,他们不会心存侥幸,而是尽一切可能去寻找。
?
判断准确,要觉得测试内容,测试时间以及看到的内容是否是真正的软件缺陷。
?
老练稳重,不害怕坏消息,知道怎样和不够老练的程序员合作。
?
具有说服力,善于表达观点。
17、软件质量的定义是什么?
软件质量是软件产品特性的总和,满足明确或隐含要求的能力。
18、质量有哪6个特性?
1)功能性(functionality):
制作的功能,达到设计规范和满足使用者需求的程度。
2)可靠性(reliability):
在规定期限和条件下,仍能维持其性能水平的程度。
3)易使用性(usability):
使用者学习、操作、准备输入、理解输出所作努力的程度。
4)效率(efficiency):
【篇二:
软件测试习题集及答案(详细版)】
.软件测试的目的是尽可能多的找出软件的缺陷。
(y)
2.软件测试的目的是证明软件没有错误。
(n)
3.测试组负责软件质量。
(n)
4.程序的效率与程序的复杂性相关。
(n)
5.软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。
(y)
6.测试程序仅仅按预期方式运行就行了。
(n)
7.好的测试员不懈追求完美。
(y)
8.不存在质量很高但可靠性很差的产品。
(n)
9.测试是为了验证该软件已正确地实现了用户的要求。
(n)
10.发现错误多的程序模块,残留在模块中的错误也多。
(y)
11.程序效率的提高主要应通过选择高效的算法来实现。
(y)
12.测试人员要坚持原则,缺陷未修复完坚决不予通过。
(n)
13.项目立项前测试人员不需要提交任何工件。
(y)
14.缺陷跟踪系统只针对对测试人员来使用。
(n)
15.从用户软件开发者的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。
(n)
16.软件项目在进入需求分析阶段,测试人员应该开始介入其中。
(y)
17.测试是提高产品质量根本手段。
()
18.代码评审员一般由测试员担任。
(n)
19.代码评审是检查源代码是否达到模块设计的要求。
(n)
20.软件测试员可以对产品说明书进行白盒测试。
(n)
21.静态白盒测试可以找出遗漏之处的问题。
(y)
22.总是首先设计白盒测试用例。
(n)
23.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
(n)
24.黑盒测试方法中最有效的是因果图法。
(y)
25.软件测试按照测试过程分类为黑盒、白盒测试。
(n)
26.白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。
(y)
27.白盒测试时一般由开发人员兼任测试人员的角色。
(y)
28.黑盒测试是从用户观点出发的测试。
(y)
29.白盒测试是从用户观点出发的测试。
(n)
30.白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试。
(n)
31.程序通过了全面的白盒测试,就不需要再进行黑盒测试了。
(n)
32.对于同一个测试对象,等价类的测试用例数多于边界值的测试用例数。
()
33.如果输入条件规定了取值范围,则可定义一个有效等价类和两个无效等价类。
(y)
34.不能对输出值域进行健壮性测试。
()
35.有n个变量的函数的健壮最坏情况测试用例的个数为:
5的n次方。
(y)
36.有n个变量的函数的健壮最坏情况测试用例的个数为:
7的n次方。
(n)
37.有n个变量的函数的健壮性测试用例的个数为:
5n+1。
(n)
38.有n个变量的函数的最坏情况测试会产生5的n次方个测试用例。
(y)
39.有n个变量的函数的边界值分析会产生4n+1个测试用例(y)
40.边界值分析的假设是“多缺陷”假设。
(n)
41.健壮性测试的主要价值是观察例外情况的处理。
(y)
42.在设计测试用例时,应包括合理的输入条件和不合理的输入条件。
(y)
43.弱健壮等价类测试基于多缺陷假设。
(n)
44.强健壮等价类测试是基于多缺陷假设,并考虑了无效值。
(y)
45.强一般等价类测试考虑了无效值。
(y)
46.弱一般等价类是基于单缺陷假设。
(y)
47.弱健壮等价类测试基于单缺陷假设并考虑了无效值。
(y)
48.等价类测试的弱形式不如对应的强形式的测试全面(y)
49.语句覆盖是最弱的逻辑覆盖。
(y)
50.语句覆盖是最强的逻辑覆盖。
(n)
51.判定覆盖不一定包含条件覆盖。
(y)
52.条件覆盖不一定包含判定覆盖。
(y)
53.判定/条件覆盖能同时满足判定、条件两种覆盖标准。
(y)
54.判定/条件覆盖指满足判定覆盖标准或条件覆盖标准。
(n)
55.dd-路径图是一种压缩图。
(y)
56.详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。
(y)
57.尽量用公共过程或子程序去代替重复的代码段。
(n)
58.对于连锁型分支结构,若有n个判定语句,则有2n条路径。
(y)
59.尽量采用复合的条件测试,以避免嵌套的分支结构。
(y)
60.goto语句概念简单,使用方便,在某些情况下,保留goto语句反能使写出的程序更加简洁。
(y)
61.单元测试能发现约80%的软件缺陷。
(y)
62.单元测试属于动态测试。
(n)
63.单元测试多采用白盒测试(结构性测试)技术。
(y)
64.单元测试需要从程序的内部结构出发设计测试用例。
(y)
65.单元测试需要为每个基本单元开发驱动模块或桩模块。
(y)
66.在面向对象语言语言中,单元测试是函数或子过程。
()
67.单元测试又称为模块测试,是针对软件测试的最小单位-程序模块进行正确性检验的测试工作。
(y)
68.集成测试计划在需求分析阶段末提交。
(n)
69.自底向上集成需要测试员编写驱动程序。
(y)
70.进行自底向上集成测试,需要为所测模块或子系统编制相应的驱动模块。
(y)
71.进行自底向上集成测试,需要为所测模块或子系统编制相应的桩模块。
(n)
72.进行自顶向下集成测试,需要为所测模块或子系统编制相应的驱动模块。
(n)
73.进行自顶向下集成测试,需要为所测模块或子系统编制相应的桩模块。
(y)
74.mm-路径是可执行路径。
(y)
75.非渐增式集成方式,发现错误难以诊断定位。
(y)
76.集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统。
(y)
77.系统测试多采用白盒测试(结构性测试)技术。
(n)(黑盒测试)
78.验收测试是由最终用户来实施的。
(n)
79.负载测试是验证要检验的系统的能力最高能达到什么程度。
(n)
80.我们可以人为的使得软件不存在配置问题。
(n)
81.可以发布具有配置缺陷的软件产品。
(y)
82.所有软件必须进行某种程度的兼容性测试。
(y)
83.所有软件都有一个用户界面,因此必须测试易用性。
(n)
85.系统测试是在真实或模拟系统运行环境下,检查完整的程序系统能否和相关硬件、外设、网络、系统软件和支持平台等正确配置与连接,并满足用户需求。
(y)
86.beta测试是验收测试的一种。
(y)
二、简答题
1.什么是软件测试?
软件测试的目的和作用是什么?
答:
利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。
软件测试是在受控制的条件下对系统或应用程序进行操作并评价操作的结果。
软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。
测试是为了证明程序有错,而不是证明程序无错。
一个成功的测试是发现了至今未发现的错误的测试。
软件测试的原则包括:
所有的测试都应追溯到用户的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例。
2.简述软件测试的目的和原则。
答:
软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。
测试是为了证明程序有错,而不是证明程序无错。
一个成功的测试是发现了至今未发现的错误的测试。
软件测试的原则包括:
所有的测试都应追溯到用户的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例。
3.软件缺陷产生的原因?
答:
a.软件需求说明书编写的不全面,不完整,不准确,而且经常更改b.软件设计说明书c.软件操作人员的水平d.开发人员不能很好的理解需求明书和沟通不足
4.什么是软件测试,以及软件测试的意义?
答:
软件测试是为了发现错误而执行程序的过程。
软件测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及预期的输出结果),并利用这些测试用例去运行程序,以发现错误的过程。
意义:
1.对产品质量完成全面的评估,为软件产品发布(如验收测试)、软件系统部
署(如性能规划测试)、软件产品鉴定(第三方独立测试)委托方和被委托
方纠纷仲裁(第三方独立测试)和其它决策提供信息;
2.通过持续的测试(包括需求评审、设计评审、代码评审等)可以对产品质量
提供持续的、快速的反馈,从而在整个开发过程中不断地、及时地改进产品
的质量,并减少各种返工,降低软件开发的成本;
3.通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重的缺陷,
降低或消除产品质量风险,提高客户的满意度,扩大市场份额,提高客户的
忠诚度。
4.通过对缺陷进行分析,找出缺陷发生的根本原因(软件过程中的问题,包括
错误的行为方式)或总结出软件产品的缺陷模式,避免将来犯同样的错误或
产生类似的产品问题,达到缺陷预防的目的
5.什么是软件测试?
什么是测试用例,测试用例必须包括那几部分?
答:
狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一
组数据。
这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据。
6.简述你对测试工作的认识过程、在以后的工作的一些建议。
7.请辨析软件的质量是“设计出来的”还是“测试出来的”观点。
8.软件测试与软件开发的关系?
答:
软件开发是一个系统的工程。
包括需求分析,设计,编码,测试,维护等等几个环节。
测试是整个软件开发流程中的一个环节。
9.在测试生命周期中,测试过程分为几个阶段?
各个阶段的含义?
以及各阶段的测试依据
是什么?
答:
软件测试是一个规则的过程,包括测试设计、测试执行以及测试结果比较等。
①测试设计:
根据软件开发各阶段的文档资料和程序的内部结构,利用各种设计测试用例技术精心设计测试用例。
②测试执行:
利用这些测试用例执行程序,得到测试结果。
③测试结果比较:
将预期的结果与实际测试结果进行比较,如果二者不符合,对于出现的错误进行纠错,并修改相应文档。
修改后的程序还要进行再次测试,直到满意为止。
如果测试发现不了错误,可能由于测试配置考虑不周到,应考虑重新制定测试方案,设计测试用例。
按照开发阶段划分,软件测试可分为单元测试、集成测试,系统测试和验收测试。
单元测试:
针对每个单元的测试,以确保每个模块能正常工作为目标。
集成测试:
对已测试过的模块进行组装,进行集成测试。
系统测试:
检验软件产品能否与系统的其他部分协调工作。
验收测试:
检验软件产品质量的最后一道工序。
10.一名优秀的软件测试工程师应具备哪些素质?
答:
一个优秀的测试工程师应该具备的基本素质有:
责任心、沟通能力、团队精神、自信心、耐心、怀疑精神、洞察力、幽默感等。
应具备的专业素质有:
有竞争力的测试人员要具有三方面的技能:
计算机专业技能、测试专业技能、软件编程技能。
11.如何做一名合格的测试人员?
测试人员应具备素质如下:
(1)沟通能力。
(2)移情能力。
(3)技术能力。
(4)自信心。
(5)外交能力。
(6)幽默感。
【篇三:
软件测试工程师笔试题以及答案汇总】
件测试的目的是尽可能多的找出软件的缺陷。
(y)
2.beta测试是验收测试的一种。
(y)
3.验收测试是由最终用户来实施的。
(n)
4.项目立项前测试人员不需要提交任何工件。
(y)
5.单元测试能发现约80%的软件缺陷。
(y)
6.代码评审是检查源代码是否达到模块设计的要求。
(n)
7.自底向上集成需要测试员编写驱动程序。
(y)
8.负载测试是验证要检验的系统的能力最高能达到什么程度。
(n)
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。
(n)
10.代码评审员一般由测试员担任。
(n)
11.我们可以人为的使得软件不存在配置问题。
(n)
12.集成测试计划在需求分析阶段末提交。
(n)
二、选择题
1.软件验收测试的合格通过准则是:
(abcd)
a.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
b.所有测试项没有残余一级、二级和三级错误。
c.立项审批表、需求分析文档、设计文档和编码实现一致。
d.验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?
(abcd)
a.项目经理
b.sqa负责人
c.配置负责人
d.测试组
3.下列关于alpha测试的描述中正确的是:
(ad)
a.alpha测试需要用户代表参加
b.alpha测试不需要用户代表参加
c.alpha测试是系统测试的一种
d.alpha测试是验收测试的一种
4.测试设计员的职责有:
(bc)
a.制定测试计划
b.设计测试用例
c.设计测试过程、脚本
d.评估测试活动
5.软件实施活动的进入准则是:
(abc)
a.需求工件已经被基线化
b.详细设计工件已经被基线化
c.构架工件已经被基线化
d.项目阶段成果已经被基线化
6、为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括_a_____
a.配置项标识、配置项控制、配置状态报告、配置审计
b.配置基线确立、配置项控制、配置报告、配置审计
c.配置项标识、配置项变更、配置审计、配置跟踪
d.配置项标识、配置项控制、配置状态报告、配置跟踪
7、__b____方法根据输出对输入的依赖关系设计测试用例。
a.路径测试b.等价类c.因果图d.边界值
8、在c++语言中,若类c中定义了一个方法intf(inta,intb),那么方法___a___不能与该方法同时存在于类c中
a.intf(intx,inty)b.intf(floata,intb)
c.floatf(intx,floaty)d.intf(intx,floaty)
9、下列关于软件验收测试的合格通过准则错误的是:
__c____
a.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求;
b.所有测试项没有残余一级、二级和三级错误;
c.立项审批表、需求分析文档、设计文档和编码实现不一致;
d.验收测试工件齐全
三、填空题
1.软件验收测试包括:
正式验收测试,alpha测试,beta测试。
2.系统测试的策略有:
功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满