软件测试部分课后答案。doc

合集下载

软件测试技术基础教程[第2版]_习题答案解析

软件测试技术基础教程[第2版]_习题答案解析

第一章软件测试理论一、选择题1、C2、A3、D4、B5、D6、D7、B8、B二、简答题1.参考答案:软件测试是伴随着软件的产生而产生的。

在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。

到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。

在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA 或者SQA部门。

后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。

到了20世纪80年代初期,一些软件测试的基础理论和实用技术开始形成,软件测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容。

软件测试已有了行业标准(IEEE/ANSI )。

在我国,软件测试目前还没有形成一个真正的产业,尚处于起步阶段。

但是,在国内,现在在软件测试行业中各种软件测试的方法、技术和标准都还在探索阶段。

总之,国内软件测试行业与一些发达国家相比还存在一定的差距。

2.参考答案:软件缺陷造成的修复费用随着时间的推移呈指数级地增长,如下图所示。

3.参考答案:软件测试的复杂性体现在:不可能对程序实现完全测试。

杀虫剂现象,即为了克服被测试软件的免疫力,软件测试员必须不断编写新的测试程序,对程序的各个部分进行不断测试,以避免被测试软件对单一的测试程序具有免疫力而使软件缺陷不被发现。

软件测试的代价不容易掌握,因为随着测试量的增加,测试成本将呈几何数级上升,而软件缺陷数量降低到某一数值之后将没有明显的变化,寻求最优测试点,掌握好测试工作量是至关重要的。

在实际操作过程中,测试人员要进行正确的判断,合理的取舍,根据风险分析来决定哪些故障需要修复,哪些故障可以不修复,即并不是所有的软件缺陷都需要被修复。

4.参考答案:软件测试是软件生命期中费用消耗最大的环节。

软件测试课后参考答案

软件测试课后参考答案

软件测试课后参考答案软件测试课后参考答案软件测试是软件开发过程中至关重要的一环。

通过对软件进行全面、系统的测试,可以发现并修复潜在的缺陷,确保软件的质量和可靠性。

以下是一些常见的软件测试问题及其参考答案,希望对大家的学习和理解有所帮助。

1. 什么是软件测试?答:软件测试是指通过运行软件系统或应用程序,以验证其是否满足预期的需求和功能,同时发现并报告任何可能存在的缺陷或错误的过程。

2. 软件测试的目的是什么?答:软件测试的主要目的是确保软件的质量和可靠性。

通过测试,可以发现并修复潜在的缺陷,提高软件的稳定性和性能,减少用户在使用过程中的不便和风险。

3. 软件测试的分类有哪些?答:软件测试可以分为功能测试、性能测试、安全测试、兼容性测试等多个方面。

功能测试主要验证软件是否按照需求规格说明书的要求正常工作;性能测试主要测试软件在不同负载下的性能表现;安全测试主要测试软件的安全性和防护能力;兼容性测试主要测试软件在不同操作系统、浏览器等环境下的兼容性。

4. 软件测试的流程是什么?答:软件测试的一般流程包括需求分析、测试计划制定、测试用例设计、测试环境搭建、测试执行、缺陷报告、缺陷修复和再测试等多个阶段。

其中,需求分析和测试计划制定是测试的前期准备工作,测试用例设计和测试环境搭建是测试的核心内容,测试执行和缺陷报告是测试的主要工作,缺陷修复和再测试是测试的后续工作。

5. 软件测试的常用技术有哪些?答:软件测试的常用技术包括黑盒测试、白盒测试、灰盒测试、自动化测试等。

黑盒测试主要关注软件的功能和接口,不考虑内部实现细节;白盒测试主要关注软件的内部结构和代码,通过检查代码覆盖率等指标来评估测试的完整性;灰盒测试结合了黑盒测试和白盒测试的特点,既关注功能和接口,又关注内部结构和代码;自动化测试利用工具和脚本自动执行测试用例,提高测试效率和准确性。

6. 软件测试的常见问题有哪些?答:软件测试中常见的问题包括测试用例设计不全面、测试环境搭建不完善、测试执行不规范、缺陷报告不清晰等。

软件测试课后答案

软件测试课后答案

资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载软件测试课后答案地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容第一章引论3、软件测试与开发的关系是怎样的?为什么这么说?答:软件测试和软件开发构成一个全过程的交互、协作之关系,两者自始至终一起工作,共同致力于同一个目标:按时、高质量的完成项目。

【补充题】补1、软件测试要在编程完成后才能开始,这种观点对吗?说明原因。

答:P11补2、V模型,测试阶段与开发阶段的对应关系。

答:P11第二章软件测试的基本概念2、如何理解软件质量和软件缺陷的对立统一关系?答:P14缺陷是质量的对立面,要了解什么是缺陷(defect),就必须清楚“质量(Quality)”概念,因为缺陷是相对质量而存在的,违背了质量、违背了客户的意愿,不能满足客户的要求,就会引起缺陷或产生缺陷。

5、需求分析、系统设计所存在的问题在软件缺陷中占有较大比例,对软件开发和测试工作有何启发?答:P21要尽早发现需求工程、软件设计等各个方面的问题,减少大量的后期返工,将质量成本从昂贵的后期返工转化为前期的缺陷发现。

【补充题】补1、根据统计数据,缺陷发现越早,修复缺陷的代价越小,这种现象对于软件测试有什么启示?(P20)第三章软件测试方法3、针对国内18位身份证号验证,通过等价类划分法设计测试用例。

解:(1)等价类划分表(2)测试用例:1)输入410203************,覆盖(1)(7)(9)(12);2)输入410203************,覆盖(2)(7)(9)(12);3)输入41020319880808009,覆盖(3);4)输入4102031988080800999,覆盖(4);5)输入AB020319880808009C,覆盖(5)(6);6)输入000000198808080099,覆盖(8);7)输入410203198818080099,覆盖(10);8)输入410203************,覆盖(11);9)输入410203************,覆盖(13)。

软件测试(第2版 慕课版)课后习题答案

软件测试(第2版 慕课版)课后习题答案

第一章软件测试基础课后习题答案1.什么是软件测试?软件测试发现一个应用从开始到结束时的错误,测试是一个过程。

(Glenford J.Myers 提出对软件测试的定义)测试是发现错误而执行的一个程序或系统的过程测试以发现故障为目的,是为了发现故障而执行程序过程2.软件测试涉及哪几个关键问题?软件测试的经济性原则谁来测试(who)测试什么(what)什么时候测试(when)怎样进行测试(how)测试的停止标准是什么(which)3.为什么说软件需求说明是软件故障的最大来源?软件需求是描述了系统有哪些功能,功能操作,性能如何等问题,是开发阶段的重要文档,也是后期软件开发的重要依据。

如果软件需求一开始就错了,在后面处理过程则会把错误放大,这样使得修复起来成本就是提升。

4.简述软件测试的复杂性和经济性。

复杂性1.完全测试是不现实的2.软件测试是有风险的3.杀虫剂现象4.缺陷的不确定性经济性软件测试是软件生命期中费用消耗最大的环节。

测试费用除了测试的直接消耗外,还包括其他的相关费用5.分析最近发生的软件质量事故,并简要分析产生的原因。

具体案例具体分子6.启动Windows计算器,输入“6,000-6=”(逗号不能少),观察计算结果,这是软件故障吗?为什么?这是软件故障中的界面缺陷。

由于无法输入逗号,无法进行输入,当做一个界面缺陷,因为不符合需求,原本是小数点变成了逗号。

7.软件测试应遵循哪些重要的原则或方针?1.完全测试程序是不可能的2.软件测试是有风险的3.测试无法找到隐藏的软件故障4.存在的故障数量与发现的故障数量成正比5.杀虫剂现象6.并非所有软件故障都能修复7.一般不要丢弃测试用例8.应避免测试自己编写的程序9.软件测试是一项复杂且具有创造性的和需要高度智慧的挑战性任务8.假定无法完全测试某一程序,那么在决定是否应该停止测试时应考虑哪些问题?在工作中,常用的停止测试标准有五类:测试超过了预定时间,停止测试执行了所有测试用例但没有发现故障,停止测试使用特定的测试用例方法作为判断测试停止的基础正面指出测试完成要求,如发现并修改70个软件故障根据单位是见查出故障数量决定是否停止测试9 . 假如星期一测试软件的某一功能时,每小时能发现一个新的软件故障,那么星期二会以什么频率发现软件故障?第一感觉就是与第一天(星期一)的一样,既然前一天发现的频率以每小时都有新的故障,说明软件的缺陷很高,所以第二天也可能有同样的频率。

软件测试习题集及答案详细版word文档良心出品

软件测试习题集及答案详细版word文档良心出品

1.2.3.4.5.6.7.8.9.10.11.12.13.14.15. 一、判断分析题软件测试的目的是尽可能多的找出软件的缺陷。

软件测试的目的是证明软件没有错误。

( N)测试组负责软件质量。

(N )程序的效率与程序的复杂性相关。

(N )Y)软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。

测试程序仅仅按预期方式运行就行了。

(N )好的测试员不懈追求完美。

( Y)不存在质量很高但可靠性很差的产品。

(N )测试是为了验证该软件已正确地实现了用户的要求。

发现错误多的程序模块,残留在模块中的错误也多。

程序效率的提高主要应通过选择高效的算法来实现。

测试人员要坚持原则,缺陷未修复完坚决不予通过。

项目立项前测试人员不需要提交任何工件。

缺陷跟踪系统只针对对测试人员来使用。

从用户软件开发者的角度出发,以考虑是否可接受该产品。

(N )16. 软件项目在进入需求分析阶段,17. 测试是提高产品质量根本手段。

18.代码评审员一般由测试员担任。

19.20.21.22.23.24.25.26.27.28.29.30.31.Y)(N )( N)(Y)( Y)N)(Y )普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,测试人员应该开始介入其中。

( Y)N)代码评审是检查源代码是否达到模块设计的要求。

软件测试员可以对产品说明书进行白盒测试。

静态白盒测试可以找出遗漏之处的问题。

总是首先设计白盒测试用例。

(N)N)(N ) (Y )用黑盒法测试时,测试用例是根据程序内部逻辑设计的。

黑盒测试方法中最有效的是因果图法。

(Y )软件测试按照测试过程分类为黑盒、白盒测试。

(N) 白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。

白盒测试时一般由开发人员兼任测试人员的角色。

黑盒测试是从用户观点出发的测试。

( Y)白盒测试是从用户观点出发的测试。

( N) (N)Y)白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试。

软件测试技术习题参考答案

软件测试技术习题参考答案

第1章软件测试概述1、简述软件缺陷的含义。

答:软件缺陷是软件开发过程中潜在的缺陷,这些缺陷可能在软件运行后出现,因而使软件的性能和可靠性等方面与系统的设计需求不符。

2、说明软件缺陷、软件错误和软件失败的关系。

答:缺陷、缺点、偏差统称为缺陷,是软件故障的根源;错误、谬误、问题、异常、矛盾等统称为错误,软件错误出现的原因是软件缺陷所致;失败、事故、灾难统称失败,失败的直接原因是软件系统存在软件错误。

14、“软件测试是有风险的工作”,试解释这种说法的含义。

答:软件不测试,就会有风险;软件测试,同样也会有风险。

因为,软件是个复杂的系统,其复杂性体现在软件实现的内容复杂性、开发过程的复杂性和组织工作的复杂性等方面。

而软件测试的目的是为了发现故障,并加以排除。

对一个复杂的软件系统来说,故障的排除往往可能又带来新的软件缺陷。

所以,软件测试又会带来一定的风险。

第2章软件测试基础2、条件覆盖是否高于判断覆盖的逻辑覆盖程度?如果不是,请给出反例加以说明。

答:条件覆盖是高于判断覆盖的逻辑覆盖程度。

a、用条件覆盖所设计的测试用例可使得程序中的每一个判断的每一个条件的可能取值至少执行一次。

b、用判断覆盖所设计的测试用例可使被测程序中的每个判断的真分支和假分支至少经历一次。

每个判断语句可能包含多个条件(比如,if(A>3 && B<7)……)。

条件覆盖针对判断语句的每一个条件的所有可能取值编写测试用例;判断覆盖只针对每一个判断语句整体的所有可能取值编写测试用例。

所以,条件覆盖的逻辑覆盖程度高于判断覆盖。

4、已知某种计算机程序设计语言的标识符语法规则规定“标示符是由非数字开头的,有效字符数为32个,最大字符数为128个的任意符号串”。

试用等价类划分法设计测试用例。

答:(1)等价类划分(2)测试用例① VAR abc7*ef: REAL;BEGIN abc7*ef:=10.11; // 覆盖等价类(1)(5)(7)② VAR : REAL; // 覆盖等价类(2)③ VAR a12345678901234567890123456789012:REAL; // 覆盖等价类(3)④ VAR T12345……: REAL; // 覆盖等价类(4)⑤ VAR GOTO: REAL; // 覆盖等价类(6)⑥ VAR 2A: REAL; // 覆盖等价类(8)5、已知一个变量的类型为double,它的取值范围为“-0.2-2.2”。

《软件测试》课后习题答案

《软件测试》课后习题答案

课后习题答案第1章一、单选题1、B2、C3、A4、B5、A二、填空题1、规格说明书检查清单2、①引言②测试概要③测试内容及执行情况④缺陷统计与分析⑤测试结论与建议3、测试是以评价一个程序或者系统属性为目标的任何一种活动。

测试是对软件质量的度量。

4、与整个开发流程融合成一体5、①软件测试过程是为了发现程序中的错误。

②设计出好的测试方案和测试用例才能发现迄今为止尚未发现的错误。

③软件测试中通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。

④软件测试中对错误的分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性。

⑤测试中即使没有发现错误的也是有价值的,完整的测试是评定软件质量的一种方法。

三、简答题1、①评测测试需求②制定测试计划③设计测试用例④执行测试⑤编写测试报告2、测试计划包括:①确定测试内容②制定测试规则③设定测试环境④安排测试任务⑤计划实施⑥风险管理。

主要作用是:测试工作是软件开发过程中不可缺少的组成部分,在软件开发工作的开始阶段就要制定好软件测试计划,作为软件开发保障性的工作。

第2章一、填空题1、包括等价类划分法、边界值分析法、因果图与决策法、正交试验设计法。

2、等价类。

3、区分有效等价类与无效等价类两种情况。

4、边界值分析法。

5、恒等、非、与。

二、单选题1、D2、C3、B三、简答题1、等价类要区分有效等价类与无效等价类两种情况。

在划分等价类时需要遵守以下原则:(1)按区间划分(2)按限制条件或规则划分(3)按数值划分(4)细分等价类。

2、它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交实验设计是一种高效率、快速、经济的实验设计方法。

3、分析出原因和结果原因:1、年薪制2、非年薪制3、严重违规4、一般过失结果:11、扣当月5%12、扣年终2%13、扣当月8%14、扣年终5%画出决策图:阴影部分表示因违反约束条件(2~3、5、14~15违反年薪制约束,4、8、9、12违反惩罚约束,1、16同时违反前面两种约束)而不可能出现的情况因此删去。

软件测试 课后习题答案

软件测试 课后习题答案

软件测试课后习题答案软件测试课后习题答案在软件开发过程中,软件测试是一个至关重要的环节。

通过测试,开发人员可以发现并修复软件中的错误,确保软件的质量和稳定性。

然而,软件测试并非一项简单的任务,需要测试人员具备一定的技能和知识。

下面是一些关于软件测试的课后习题及其答案,希望对大家有所帮助。

习题一:什么是软件测试?为什么软件测试如此重要?答案:软件测试是指通过运行软件系统或应用程序,以发现并评估其功能、性能、安全性等方面的问题的过程。

软件测试的目的是确保软件的质量和稳定性,以满足用户的需求和期望。

软件测试之所以重要,主要有以下几个原因:1. 发现错误:软件中可能存在各种错误和缺陷,通过测试可以发现并修复这些问题,提高软件的质量。

2. 提高可靠性:软件测试可以验证软件的可靠性和稳定性,确保软件在各种条件下都能正常运行。

3. 保证用户满意度:通过软件测试,可以确保软件符合用户的需求和期望,提高用户的满意度。

4. 节省成本和时间:及早发现和修复软件中的问题,可以避免后期修复的成本和时间浪费。

5. 增强竞争力:软件测试可以提高软件的质量和稳定性,增强企业的竞争力。

习题二:软件测试的基本原则是什么?答案:软件测试的基本原则包括以下几点:1. 全面性:测试应该覆盖软件的各个功能和模块,以确保所有可能的错误都能被发现。

2. 独立性:测试应该独立于开发过程,以确保测试结果的客观性和准确性。

3. 可重复性:测试应该能够被重复执行,以验证软件在不同环境和条件下的稳定性和可靠性。

4. 及早测试:测试应该尽早开始,以便在软件开发过程中及时发现和修复问题。

5. 风险导向:测试应该根据软件的重要性和风险程度进行优先级排序,以确保关键功能的测试覆盖率。

习题三:软件测试的常用方法有哪些?答案:软件测试的常用方法包括以下几种:1. 黑盒测试:测试人员只关注软件的输入和输出,不考虑内部实现细节,以验证软件的功能是否符合需求。

2. 白盒测试:测试人员了解软件的内部实现细节,以验证软件的逻辑正确性和代码覆盖率。

软件测试技术 课后习题答案

软件测试技术 课后习题答案

软件测试技术课后习题答案1. 什么是软件测试?软件测试是指在软件开发过程中,通过执行软件系统或组件,来评估其是否满足特定的需求和预期的质量标准的过程。

其目的是发现软件中的错误、缺陷和风险,从而提高软件的可靠性和质量。

2. 为什么需要进行软件测试?软件测试的目的是为了确保软件的可靠性和质量。

软件开发过程中难免会出现错误和缺陷,而这些错误和缺陷如果没有被及时发现和纠正,可能会导致软件运行时出现错误,甚至导致系统崩溃。

软件测试的目的是发现这些错误和缺陷,从而在软件发布之前将其修复,确保软件能够按照预期功能和质量要求运行。

3. 软件测试的基本原则有哪些?软件测试的基本原则包括:•完整性:测试应该尽可能覆盖软件的所有功能和执行路径。

•相互独立性:各个测试用例之间应该相互独立,一个测试用例的执行不应该影响到其他测试用例。

•可追踪性:每个测试用例都应该能够追溯到一个需求或一个特定的功能点,以确保测试的覆盖程度。

•可重复性:测试用例应该能够重复执行,以确保测试结果的一致性。

•及时性:测试应该在合适的时间进行,例如在开发过程中及时进行单元测试,而不是等到软件开发完成再进行集成测试或系统测试。

•客观性:测试应该客观地评估软件的质量,不受个人主观因素的影响。

4. 软件测试的基本步骤是什么?软件测试的基本步骤包括:1.需求分析:分析软件的需求,明确软件的功能和质量要求。

2.测试计划:制定测试计划,明确测试的目标、范围、方法和进度。

3.测试设计:设计测试用例,覆盖软件的各个功能和执行路径。

4.测试执行:执行测试用例,记录测试结果和错误信息。

5.错误修复:开发团队根据测试结果修复错误和缺陷。

6.重复测试:重新执行经过修复的测试用例,确认错误是否被修复。

7.测试报告:根据测试结果生成测试报告,评估软件的质量。

8.测试完成:经过多轮测试和修复后,确认软件达到预期的质量要求。

5. 什么是黑盒测试和白盒测试?黑盒测试是一种测试方法,测试人员只关注软件的输入和输出,而不考虑软件的内部结构和实现细节。

软件测试课后答案

软件测试课后答案

第一章引论3、软件测试与开发的关系是怎样的为什么这么说答:软件测试和软件开发构成一个全过程的交互、协作之关系,两者自始至终一起工作,共同致力于同一个目标:按时、高质量的完成项目。

【补充题】补1、软件测试要在编程完成后才能开始,这种观点对吗说明原因。

答:P11补2、V模型,测试阶段与开发阶段的对应关系。

答:P11第二章软件测试的基本概念2、如何理解软件质量和软件缺陷的对立统一关系答:P14缺陷是质量的对立面,要了解什么是缺陷(defect),就必须清楚“质量(Quality)”概念,因为缺陷是相对质量而存在的,违背了质量、违背了客户的意愿,不能满足客户的要求,就会引起缺陷或产生缺陷。

5、需求分析、系统设计所存在的问题在软件缺陷中占有较大比例,对软件开发和测试工作有何启发答:P21要尽早发现需求工程、软件设计等各个方面的问题,减少大量的后期返工,将质量成本从昂贵的后期返工转化为前期的缺陷发现。

【补充题】补1、根据统计数据,缺陷发现越早,修复缺陷的代价越小,这种现象对于软件测试有什么启示(P20)第三章软件测试方法3、针对国内18位身份证号验证,通过等价类划分法设计测试用例。

解:(1)等价类划分表(1)输入40088,覆盖(1)(7)(9)(12);2)输入4009X,覆盖(2)(7)(9)(12);3)输入4009,覆盖(3);4)输入400999,覆盖(4);5)输入AB0203C,覆盖(5)(6);6)输入000000,覆盖(8);7)输入40099,覆盖(10);8)输入40099,覆盖(11);9)输入40099,覆盖(13)。

6、针对程序流程图(图略),用最少的测试用例完成各种逻辑覆盖和路径覆盖的测试设计。

解题要点:分别回答语句覆盖、判定覆盖、条件覆盖、路径覆盖。

其中:前三种逻辑覆盖可以用同样的两个测试用例覆盖(假设图中向右分支为True分支;如果标注向右分支为False分支,语句覆盖可以用一个用例);路径覆盖需要三个用例(两个判定均为True的路径不可能覆盖)。

软件测试理论习题与答案完整版

软件测试理论习题与答案完整版

一、选择题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)程序内部逻辑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.发现错误能力最弱的是( ).A)语句覆盖B)判定覆盖C)条件覆盖D)路径覆盖24.实际的逻辑覆盖测试中,一般以( )为主设计测试用例.A)条件覆盖B)判定覆盖C)条件组合覆盖D)路径覆盖25.下面( )方法能够有效地检测输入条件的各种组合可能引起的错误.A)等价类划分B)边界值分析C)错误推测D)因果图26.与确认测试阶段有关的文档是( ).A)需求规格说明书B)概要设计说明书C)详细设计说明书D)源程序27.超出软件工程范围的测试是( ).A)单元测试B)集成测试C)确认测试D)系统测试28.软件测试不需要了解软件设计的( ).A)功能B)内部结构C)处理过程D)条件29.( )方法需要考察模块间的接口和各模块之间的联系.A)单元测试B)集成测试C)确认测试D)系统测试30.调试应该由( )完成.A)与源程序无关的程序员B)编制该源程序的程序员C)不了解软件设计的机构D)设计该软件的机构31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的( )上.A)配置项B)程序C)基线D)过程32.版本管理是对系统不同版本进行的( )过程A)标识与跟踪B)标识变更C)发布变更D)控制变更33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是( ).A)异步控制B)同步控制C)存取控制D)基线控制34. 在配置管理中,"登入"和"检出"处理实现了两个重要的变更控制要素,即同步控制和( ).A)异步控制B)同步控制C)基线控制D)存取控制35. 按照软件配置管理的原始指导思想,受控制的对象应是( ).A)软件元素B)软件配置项C)软件项目D)软件过程36. 软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的( ).A)接口B)软件环境C)信息项D)版本37.在变更控制中,可用来确保由不同用户所执行的并发控制是( ).A)异步控制B)同步控制C)存取控制D)基线控制38.以下说法错误的是( ).A)软件配置管理简称SCIB)软件配置项是配置管理的基本单位C)软件配置实际上是一动态的概念D)软件工程过程中某一阶段的变更均要引起软件配置的变更39.在设计人机界面时,应主要考虑的因素有( ).系统响应时间B)错误处理C)用户求助机制D)以上都是40.人机界面的风格大致经过了( )代的演变A)一B)二C)三D) 四二、填空题1.软件测试的目的是尽可能多地发现软件中存在的(),将()作为纠错的依据.2.测试阶段的基本任务是根据软件开发各阶段的()和程序的(),精心设计一组(),利用这些实例执行(),找出软种()和().3.测试用例由()和预期的()两部分组成.4.软件测试方法一般分为两大类:()方法和()方法.5.动态测试通过()发现错误.根据()的设计方法不同,动态测试又分为()与()两类.6.静态测试采用()和()的手段对程序进行检测.7.人工审查程序偏重于()的检验,而软件审查除了审查()还要对各阶段()进行检验.8.计算机辅助静态分析利用()工具对测试程序进行()分析.9.黑盒法只在软件的()处进行测试,依据()说明书,检查程序是否满足()要求.10.白盒法必须考虑程序的()和(),以检查()的细节为基础,对程序中尽可能多的逻辑路径进行().11.白盒测试是()测试,被测对象是(),以程序的()为基础设计测试用例.12.逻辑覆盖是对程序内部有()存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为(),(),()()6种覆盖技术.13.实际的逻辑覆盖测试中,一般以()覆盖为主设计测试用例,然后再补充部分用例,以达到()覆盖测试标准.14.循环覆盖是对程序内部有()存在的逻辑结构设计测试用例,它通过限制()来测试.15.基本路径测试是在程序()基础上,通过分析控制构造的()复杂性,导出()集合,从而设计测试用例.16.黑盒测试是()测试,用黑盒技术设计测试用例有4种方法:(),(),()和().17.等价类划分从程序的()说明,找出一个输入条件通常是()或(),然后将每个输入条件划分成两个或多个()18.边界值分析是将测试()情况作为重点目标,选取正好等于,刚刚大于或刚刚小于()的测试数据.如果输入或输出域是则应选取集合的()元素和()元素作为测试用例.19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为().20.因果图的基本原理是通过画()图,把用自然语言描述的()转换为(),最后为()每一列设计一个测试用例.21.测试的综合策略是在测试中,联合使用各种()方法.通常先用()法设计基本的测试用例,再用()法补充一些必要22.软件测试过程中需要3类信息:(),()和().23.软件测试一般经过4个测试: (), (), ()和().24. 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错和()的文档.25.单元测试主要测试的5个基本特征: (), (), (), ()和().26.在单元测试中,需要为被测模块设计()模块和()模块. ()用来模拟被测模块的上级调用模块, ()用来代替被的模块.27.集成测试指在()测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试.也称()测试或()测28.集成测试的方法有两种: ()和().29.渐增式测试有两种不同的组装模块的方法: ()和().30.自顶向下渐增式测试不需要编写()模块,只需要编写()模块,其步骤是从()模块开始,沿着被测程序的()步向下测试,它有两种组合策略: ()和().31.自底向上渐增式测试不需要编写()模块,只需要编写()模块.32.确认测试指检查软件的()与()是否与()说明书中确定的指标相符合,又称()测试.33.确认测试在模拟环境下运用()测试方法,由()和()参加的测试.34.确认测试开始前需要制定()计划,结束后要写出()报告.其测试用例要选用()的数据.35.软件配置审查的任务是检查软件的所有文档资料的()和().36.调试也称(),是在成功的测试之后才开始进行,其目的是确定错误的()和(),并改正错误.37.调试技术包括(), (), ()和().38.回溯法调试是从()出发,而归纳法调试是从()入手.39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为()测试.40.用等价类划分法设计一个测试用例时,使其覆盖()尚未被覆盖的合理等价类.41.用等价类划分法设计一个测试用例时,使其覆盖()不合理等价类.42.在单元测试时,需要为被测模块设计().43.在集成测试时有两种测试方法,它们是().44.软件测试是为了()而执行程序的过程.45.运行被测程序的方法称为()测试.46.动态测试中,主要测试软件功能的方法称为()法.47.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为().48.要覆盖含循环结构的所有路径是不可能的,一般通过限制()来测试.49.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等在和().50.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是().51.集成测试中的具体方法是().52.确认测试阶段的两项工作是().53.在单元测试中,测试一个模块时,需要设计().54.软件配置管理,简称SCM,它用于整个软件工程过程.其主要目标是: (), (), (), ().55.SCM是一组管理整个软件生存期各阶段中()的活动.56.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果.因此,基线可以作为项目的一个().三、名词解释1.软件测试2.静态测试3.动态测试4.黑盒测试5.白盒测试6.语句覆盖7.判定覆盖8.条件覆盖9.判定/条件覆盖10.条件组合覆盖11.路径覆盖12.测试用例13.驱动模块14.桩模块15.单元测试16.集成测试17.确认测试18.渐增式测试19.非渐增式测试20.调试21.人的因素的含义22.基线23.软件配置管理24.软件配置项四、简答题1.为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网2.软件测试的目的是什么为什么把软件测试的目的定义为只是发现错误3.软件测试应当遵循什么原则为什么要遵循这些原则4.软件测试的步骤是什么这些测试与软件开发各阶段之间的关系5.软件测试的过程是什么6.单元测试,集成测试和确认测试各自主要目标是什么它们之间有什么不同相互有什么关系7.什么是黑盒测试与白盒测试它们都适应哪些测试8.简述软件测试与软件调试的区别.9.软件配置管理的任务.10.试述第三代界面的优点.11.试述人机界面的设计过程.五、综合题1.变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以英文字母,数字以意组合.请用等价分类法设计测试用例.2.某商场在"五一"期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于标准收费(打7折).测试对象是按以上要求计算顾客收费模块,按照路径覆盖法设计测试用例.3.下面是某程序的流程图:(1)计算它的环路复杂性.(2)为了完成基本路径测试,求它的一组独立的路径.一、选择题1.B2.B3.C4.D5.A6.B7.C8.B9.D 10.D11.A 12.B 13.D 14.A 15.A 16.A 17.B 18.D 19.A 20.D21.C 22.D 23.A 24.C 25.D 26.A 27.D 28.D 29.B 30.B31.C 32.A 33.D 34.B 35.C 36.B 37.B 38.A 39.D 40.D二、填空题1. 错误测试结果2. 文档资料内部结构测试用例程序错误缺陷3. 输入数据输出数据4. 动态测试静态测试5. 运行程序测试用例黑盒测试白盒测试6. 人工检测计算机辅助静态分析7. 编码质量编码软件产品8. 静态分析特性9. 接口需求规格功能10. 内部结构处理过程处理过程测试11. 结构源程序内部逻辑12. 判定语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖13. 条件组合路径14. 循环循环次数15. 控制流程图环路基本路径16. 功能等价类划分边界值分析错误推测因果图17. 功能一句话一个短语等价类18. 边界边界值第一个最后一个19. 错误推测法20. 因果功能说明判定表判定表21. 测试黑盒白盒22. 软件配置测试配置测试工具23. 单元测试集成测试确认测试系统测试24. 单元测试编码详细设计25. 模块模块接口局部数据结构重要的执行路径错误处理边界条件26. 驱动桩驱动模块桩模块27. 单元组装联合28. 非渐增式测试渐增式测试29. 自顶向下结合自底向上结合30. 驱动桩顶层软件结构图深度优先策略宽度优先策略31. 桩驱动32. 功能性能需求规格有效性33. 黑盒专门测试人员用户34. 测试测试分析实际运用35. 完整性正确性36. 纠错原因位置37. 简单调试归纳法调试演绎法调试回溯法调试38. 程序产生错误的地方测试结果发现的线索39.静态40.尽可能多的41.一个42.驱动模块与桩模块43.渐增式和非渐增式44.发现错误45.动态测试46.黑盒法47.判定覆盖48.循环次数49.两个不合理的等价类50.错误推测法51.渐增式和非渐增式测试方法52.进行确认测试和软件配置审查53.驱动模块和桩模块54.标识变更控制变更确保变更正确地实现报告有关变更55.变更56.检查点三、名词解释1. 软件测试指为了发现软件中的错误而执行软件的过程.它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据.2. 静态测试指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测.3. 动态测试指通过运行程序发现错误.4. 黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试.5. 白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致.6. 语句覆盖指设计足够的测试用例,使被测程序中每个语句至少执行一次.7. 判定覆盖指设计足够的测试用例,使被测程序中每个判定表达式至少获得一次"真"值或"假"值,从而使程序的每个分支至少都通过一次,因此判定覆盖又称分支覆盖.8. 条件覆盖指设计足够测试用例,使判定表达式中每个条件的各种可能的值至少出现一次.9. 判定/条件覆盖指设计足够的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次.10. 条件组合覆盖指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次.11. 路径覆盖指设计足够的测试用例,覆盖被测程序中所有可能的路径.12. 测试用例指为寻找程序中的错误而精心设计的一组测试数据.13. 驱动模块指用来模拟被测模块的上级调用模块,其功能比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出.14. 桩模块指用来代替被测试模块所调用的模块,其作用是返回被测试模块所需的信息.15. 单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误.16. 集成测试指在单元测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试.也称组装测试或联合测试.17. 确认测试指检查软件的功能与性能是否与需求规格说明书中确定的指标相符合,又称有效性测试.18. 渐增式测试指逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试.每加入一个新模块进行一次集成测试,重复此过程直到程序组装完毕.19. 非渐增式测试指首先对每个模块分别进行单元测试,然后把所有的模块按设计要求组装在一起进行测试.20. 调试指确定错误的原因和位置,并改正错误的过程,也称纠错.21. 1)人对感知过程的认识,包括视觉,阅读时的认知心理,记忆,归纳与演绎推理等;2)用户已有的技能和行为方式;3)用户所要求的完成的整个任务以及用户对人机交互部分的特殊要求.22. 已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能遵循正式的变化控制过程得到改变.23. 软件配置管理,简称SCM,它用于整个软件工程过程.其主要目标是:标识变更,控制变更,确保变更正确地实现,报告有关变更.SCM是一组管理整个软件生存期各阶段中变更的活动.24. 软件配置项是软件工程中产生的信息项,它是配置管理的基本单位,对已成为基线的SCI,虽然可以修改,但必须按照一个特殊的正确的过程进行评估,确认每一处的修改.四、简答题1. ①软件测试是软件开发中不可缺少的重要一环,原因是:·测试的工作量约占整个项目开发工作量的40%左右,几乎一半.如果是关系到人的生命安全的软件,测试的工作量还要成倍增加.·软件测试代表了需求分析,设计,编码的最终复审.②软件测试不是软件质量保证的安全网,因为软件测试只能发现错误,不能保证没有错误.2. 软件测试的目的有:①软件测试是为了发现错误而执行程序的过程.②一个好的测试用例能够发现至今尚未发现的错误.③一个成功的测试是发现了至今尚未发现的错误.软件测试的目标定义为只是发现错误,原因是软件测试可以有两个目标,一个是预防错误,另一个是发现错误.由于软件开发是人的创造性劳动,人的活动不可能完美无缺,错误可能发生在任何一个阶段,因此预防错误这一目标几乎是不可实现的,所以软件测试的目标定义为只是发现错误.3. 软件测试应当遵循原则如下:①用例由输入数据和预期的输出数据两部分组成,因为这样便于对照检查,做到有的放矢.②用例不仅选用合理的输入数据,还要选择不合理的输入数据.因为当以特殊方式使用程序时,会突然发现程序中有许多错误,故使用预期的不合理的输入数据进行程序测试,比用合理的输入数据收获要大,从而能更多地发现错误,提高程序可靠性.③除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事,因为如果程序做了它不应该做的事,即使程序能做它应该做的事,程序也是错误的.④应制定测试计划并严格执行,因为这样可以排除随意性.⑤长期保留测试用例,因为测试用例的设计耗费很大的工作量,而修改后的程序可能有新的错误,需要进行回归测试,故必须将测试用例作为文档保存,使测试具有可重复性,同时测试用例是将来系统维护测试与确认的依据,保存测试用例也为以后的维护提供方便.⑥对发现错误较多的程序段,应进行更深入的测试,因为发现错误较多的程序段,其质量较差,同时在修改错误过程中又容易引入新的错误.⑦程序员避免测试自己设计的程序,因为测试目的是找错.从心理学角度讲,程序员大多对自己的程序存有偏见,总认为没有错误或错误不大,另外程序员对需求规格说明的理解而引入的错误则更难发现,应该由别人或另外的机构来测试会更客观,更有效.4. ①软件测试的步骤如图7-3所示.图7-3 软件测试的步骤②这些测试与软件开发各阶段之间的关系如图7-2所示.因为系统测试已经超出了软件工程的范围,所以图7-2中的系统测试不包括在内.5. 软件测试是一个规则的过程,包括测试设计,测试执行以及测试结果比较等.①测试设计:根据软件开发各阶段的文档资料和程序的内部结构,利用各种设计测试用例技术精心设计测试用例.②测试执行:利用这些测试用例执行程序,得到测试结果.③测试结果比较:将预期的结果与实际测试结果进行比较,如果二者不符合,对于出现的错误进行纠错,并修改相应文档.修改后的程序还要进行再次测试,直到满意为止.如果测试发现不了错误,可能由于测试配置考虑不周到,应考虑重新制定测试方案,设计测试用例.6. 单元测试,集成测试和确认测试各自主要目标是:①单元测试的主要目标是检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误.②集成测试的主要目标是检查与设计相关的软件体系结构的有关问题.③确认测试的主要目标是检查已实现的软件是否满足需求规格说明书中确定的各种需求.单元测试,集成测试和确认测试之间的不同如下:①测试内容不同:单元测试集中于单个模块的功能和结构检验,其测试内容主要包括模块接口,局部数据结构,重要的执行路径,错误处理和边界测试;集成测试集中于模块组合的功能和软件结构检验,其测试内容主要包括模块组装中可能出现的问题,即数据穿过接口可能丢失,一个模块可能破坏另一个模块的内容,子功能组装可能不等于主功能,全程数据结构问题,误差累积问题;确认测试集中于论证软件需求的可追溯性,主要包括测试软件功能和性能是否与软件需求一致,测试软件配置的所有程序与文档是否正确完整而且一致.②测试的方法不同:单元测试总是使用白盒测试法,为被测模块设计驱动模块和桩模块;集成测试使用渐增式测试和非渐增式测试,渐增式测试又有分为自顶向下结合法和自底向上结合法;确认测试总是使用黑盒测试法.③发现的错误不同:单元测试发现的错误主要是在编码阶段产生的错误,集成测试发现的错误主要是在设计阶段产生的错误,确认测试发现的错误主要是在需求分析阶段产生的错误.④涉及的文档不同:单元测试涉及编码和详细设计文档,集成测试涉及详细设计文档和概要设计文档,确认测试涉及软件需求规格说明书和用户手册.三者相互关系是:单元测试,集成测试和确认测试是顺序实现的.首先单元测试对各个模块进行测试,然后集成测试以单元测试为基础,将所有已测模块按照设计要求组装成一个完整的系统,对模块组合的功能和软件结构检验进行测试,最后确认测试是以集成测试为基础,测试集成的软件是否满足需求规格说明书中确定的各种需求.7. ①黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试.②白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致.③白盒测试适应的测试有单元测试,逻辑覆盖(按逻辑覆盖程度不同,有语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖和路径覆盖.),循环覆盖(限制循环次数,有单循环和嵌套循环)和基本路径测试.④黑盒测试适应的测试有:确认测试,等价类划分,边界值分析,错误推测和因果图.8. 软件测试与软件调试在目的,技术和方法等方面存在很大的区别,主要表现在:①测试从一个侧面证明程序员的失败,而调试是为了证明程序员的正确.②测试从已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的只是程序是否通过测试.调试一般以不可知的内部条件开始,除统计性调试外,结果是不可预见的.③测试是有计划的,并要进行测试设计,而调试是不受时间约束的.④测试是一个发现错误,改正错误,重新测试的过程,而调试是一个推理过程.⑤测试的执行是有规程的,而调试的执行往往要求程序员进行必要的推理及知觉的飞跃.⑥测试经常由独立的测试组在不了解软件设计的前提下完成,而调试必须由了解详细设计的程序员完成.⑦大多数测试的执行和设计可由工具支持,而调试时,程序员能利用的工具主要是调试器.五、综合题1.①划分等价类下表.等价类划分表。

软件测试技术 课后习题答案

软件测试技术 课后习题答案

软件测试技术课后习题答案1. 什么是软件测试?软件测试是指用于评估软件质量、发现缺陷并提供有关软件产品的信息的过程。

它涉及检查和验证软件系统的各个方面,以确保其符合预期的功能需求、性能要求和可靠性要求。

2. 为什么软件测试至关重要?软件测试是确保软件质量的重要环节,它可以帮助我们:•发现和纠正软件中的缺陷和错误。

•提高软件的可靠性、效率和稳定性。

•减少软件开发过程中的成本和风险。

•增强用户对软件的信任和满意度。

3. 软件测试的主要原则有哪些?软件测试的主要原则包括:•早期测试:测试应尽早开始,并与开发过程的各个阶段相结合。

•全面测试:测试应涵盖软件的所有功能、性能和边界条件。

•自动化测试:利用合适的测试工具和脚本自动执行测试过程。

•追溯性:测试案例应与需求文档相对应,并追踪测试的进展和覆盖范围。

•重复性:测试应能够重复执行,并提供一致的结果。

4. 软件测试的主要类型有哪些?软件测试的主要类型包括:•功能测试:验证软件的各项功能是否符合需求。

•性能测试:评估软件在不同负载条件下的性能表现。

•安全测试:检查软件的安全漏洞和弱点,以保护数据和用户隐私。

•兼容性测试:测试软件在不同平台、操作系统和浏览器上的兼容性。

•用户界面测试:验证软件的用户界面是否易用和符合设计规范。

5. 软件测试的基本步骤是什么?软件测试的基本步骤包括:1.测试计划:制定测试目标、范围、资源和时间计划。

2.测试设计:根据需求文档制定测试策略和测试案例。

3.测试实施:执行测试案例,记录测试结果和发现的缺陷。

4.缺陷跟踪:跟踪和管理发现的缺陷,确保及时修复。

5.测试评估:评估软件的测试覆盖率和质量,制定测试报告。

6.测试闭环:根据评估结果进行改进,并重复以上步骤。

6. 什么是黑盒测试和白盒测试?•黑盒测试:基于需求规格说明书,通过输入和输出来测试软件的功能是否符合预期。

测试人员不需要了解系统的内部工作原理。

•白盒测试:测试人员需要了解系统的内部结构和代码来设计测试用例,以确保软件在各个代码路径上的正确性。

软件测试习题库+答案

软件测试习题库+答案

软件测试习题库+答案一、单选题(共100题,每题1分,共100分)1.以下不属于测试计划设计的工具的是()A、WordB、ExcelC、ProjectD、PPT正确答案:D2.模块是组成软件结构的基本元素,它是( )的集合。

A、变量定义和功能实现B、变量和函数C、数据说明和算法D、软件描述和实现正确答案:C3.软件管理按时间可划分为( )和使用维护管理。

A、开发进度管理B、生产管理C、技术管理D、软件设计管理正确答案:B4.著作权亦称( ),是指著作权人对其作品享有的专有权利。

A、版权B、许可权C、产权D、专利权正确答案:A5.面向对象测试中测试类定义的每种方法,基本上相当于传统软件测试中的( )。

A、验证测试B、单元测试C、系统测试D、模块测试正确答案:B6.十进制数(307)10转换为十六进制数的结果是( )。

A、(226)16B、(133)16C、(281)16D、(186)16正确答案:B7.下列选项中关于软件测试叙述错误的是()A、软件测试可以作为度量软件与用户需求间差距的手段B、软件测试的根本目的是尽可能多地发现问题并排除潜在的错误,最终把一个高质量的软件系统交给用户使用。

C、没有发现错误的测试也是有价值的D、软件测试的目的是暴露问题正确答案:B8.虚拟机好似通用的计算机,有自己的指令系统,但本身没有( )。

A、翻译程序B、实际的硬件C、翻译指令D、操作系统正确答案:B9.( )是采用人—机对话的方式控制作业的运行。

A、实时作业控制B、脱机作业控制C、联机作业控制D、动态作业控制正确答案:C10.在Bugzilla中,如果一个缺陷的处理状态被开发人员置为Wontfix,则表明()A、这个Bug中描述的B、这个Bug 中描述的是问题,但不修改C、根据这个Bug的描述无法查找问题的原因并解决,需要提供更多的关于这个Bug的信息D、这个Bug描述的是问题,但不能确定是否在这个版本中修改正确答案:B11.为了对我们所设计的系统进行测试,我们使用测试工具模拟上万个用户从终端同时登陆,找出因资源不足而导致的错误,你认为现在最有可能进行的测试活动是()A、负载测试B、安全测试C、容量测试D、压力测试正确答案:A12.( )方法的主要优点包括:与人类习惯的思维方法一致、稳定性好、可重用性好、可维护性好。

软件测试课后习题答案

软件测试课后习题答案

软件测试课后习题答案软件测试课后习题答案软件测试是软件开发过程中至关重要的环节,它确保软件的质量和稳定性。

在软件测试课程中,学生通常会接触到一系列的习题,以加深对软件测试理论和实践的理解。

本文将为大家提供一些常见软件测试课后习题的答案,帮助学生更好地掌握软件测试的知识。

一、选择题1. 软件测试的目的是什么?答案:C。

软件测试的目的是发现软件中的错误和缺陷,以提高软件的质量和可靠性。

2. 下列哪种测试方法是黑盒测试?答案:B。

黑盒测试是基于软件规格说明的测试方法,不需要了解软件内部的实现细节。

3. 下列哪种测试方法是白盒测试?答案:A。

白盒测试是基于软件内部结构的测试方法,需要了解软件的实现细节。

4. 下列哪种测试方法是灰盒测试?答案:D。

灰盒测试是综合黑盒测试和白盒测试的一种测试方法。

5. 什么是单元测试?答案:C。

单元测试是对软件中最小的可测试单元进行测试,如函数或模块。

二、简答题1. 请简要解释软件测试的生命周期。

答案:软件测试的生命周期包括测试计划、测试设计、测试执行和测试评估四个阶段。

在测试计划阶段,测试团队确定测试的目标、范围和资源,并制定测试计划。

在测试设计阶段,测试团队根据软件需求和设计文档,设计测试用例和测试数据。

在测试执行阶段,测试团队执行测试用例,并记录测试结果。

在测试评估阶段,测试团队分析测试结果,评估软件的质量和稳定性。

2. 请简要解释静态测试和动态测试的区别。

答案:静态测试是在软件运行之前进行的测试,主要是通过检查源代码、文档和设计来发现潜在的问题。

动态测试是在软件运行时进行的测试,主要是通过执行软件来发现错误和缺陷。

3. 请简要解释黑盒测试和白盒测试的区别。

答案:黑盒测试是基于软件规格说明的测试方法,测试人员不需要了解软件内部的实现细节,只关注软件的输入和输出。

白盒测试是基于软件内部结构的测试方法,测试人员需要了解软件的实现细节,以设计测试用例和测试数据。

4. 请简要解释回归测试的目的和过程。

软件测试习题参考答案

软件测试习题参考答案

本书习题参考答案第1章软件测试概述1. 软件具有几个特点,请详细说明。

软件具有8个特点:(1) 软件是一种逻辑实体,而不是具体的物理实体。

因而它具有抽象性。

(2) 软件的生产与硬件不同,它没有明显的制造过程。

对软件的质量控制,必须着重在软件开发方面下功夫。

(3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。

然而它存在退化问题,必须要对其进行多次的修改与维护。

(4) 软件的开发和运行常常受到计算机系统的制约,对计算机系统有着不同程度的依赖性。

为了解除这种依赖性,在软件开发中提出了软件移植的问题。

(5) 软件的开发至今尚未完全摆脱人工艺的开发方式。

(6) 软件本身是复杂的。

软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。

(7) 软件成本相当昂贵。

软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本是比较高的。

(8) 相当多的软件工作涉及到社会因素。

许多软件的开发和运行涉及机构、体制及管理方式等问题,它直接影响到项目的成败。

2.软件的分类方法都有哪些?软件的分类方法有如下 4种:(1)按软件的功能分类(系统软件,支撑软件,应用软件)(2)按软件服务对象的范围分类(项目软件,市场软件)(3)按开发软件所需要的人力、时间以及完成的源程序行数分类。

(大型,小型,中型,微型)(4)按软件工作方式分类按软件的工作方式分为:实时处理软件、分时软件、交互式软件、批处理软件。

3. 软件测试的概念软件测试是软件工程中的一个环节,是开发项目整体的一部分。

软件测试是有计划有组织的,是保证软件质量的一种手段,它是软件工程中一个非常重要的环节。

因此,可以认为它是伴随软件工程的诞生而诞生的,伴随着软件复杂程度的增加、规模的增大,软件测试作为一种能够保证软件质量的有效手段,越来越受到人们的重视,软件测试最终目的是使产品达到完美。

4. 软件测试的方法有哪些?软件的测试方法有3种,即用试题测试、用新旧两个系统作平行处理测试和软件测试自动化工具测试。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.软件测试的定义和测试的意义?
答:定义1:软件测试是为了发现错误而执行程序的过程。

定义2:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。

测试:所谓测试的意义,首先是一项活动,在这项活动中某个系统或组成的部分将在特定的条件下运行,结果将被观察和记录,并对系统或组成部分进行评价。

测试活动有两种结果,找出缺陷和故障,或显示软件执行正确。

测试是一个或多个测试用例的集合。

2.软件质量的概念和意义?
答:定义:与软件产品满足规定的隐含的需求的能力有关的特征或特征的全体。

具体体现在3个方面①:软件需求是度量软件质量的基础
②:在各种标准的定义开发准则,用来指导软件开发人员采用工程化的方法来开发软件。

③:软件质量是软件产品的特性可以满足用户的功能、性能需求的能力。

3.软件开发和软件测试的关系?
答:CMM的五级结构
初始级:其特点是软件过程无秩序,又是甚至是混乱。

软件过程定义几乎没有章法和步骤可循,软件产品所取得的成功往往依赖极个别人的努力和机遇。

可重复级:已建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。

对类相似的应用项目。

有章可循并能重复以往所取得成功的经验与结果。

已定义级:用于管理、工程的软件工程均已实现文档化、标准化。

并形成了整个软件组织的标准软件过程。

全部项目均已采用与实际情况相吻合的、适当的修改的标准软件过程来进行。

已管理级:软件过程和产品质量与详细的度量标准。

软件过程和产品质量得到了定量的认证和控制。

优化级:通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续性的对过程进行改进。

4.软件测试的方法和策略?
⑴:若按照软件测试用例的设计方法和是否分析程序的内部结构而论,软件测试可分为白盒测试法和黑盒测试法。

⑵:若按照软件测试针对是否运行软件和执行程序而进行的测试过程,软件测试可分为静态测试和动态测试两类。

⑶:若按照软件测试在具体测试时是否运用测试工具,或依赖程度不同而采用的模式而论,软件测试可分为手工测试,自动化测试或混合模式,实际上混合模式运用最多。

⑷若按照软件架构与与设计时候采用了面向对象技术而论,软件测试可分为传统的面向过程的测试方法和面向对象的测试方法两种方式。

⑸若按照将一个软件产品(项目或系统)按照局部与整体的组成关系和功能而论,软件测试分为了单元测试、集成测试、系统测试(功能测试、性能测试、安全性测试、回归测试、确认性测试)以及验收测试等。

⑹:若按照软件系统的架构或设计是否在网络环境下运行,还是在单机环境下运行,或是一个特定环境下的应用,软件测试则由分别针对单机模式测试,特定的应用系统测试(包括网络性能测试、数据库性能测试、服务器性能测试、客户端性能测试等)与嵌入式系统测试。

实际情况也不能为几种情况不容程度交叉,因此,测试的设计是复杂的,并且必须是测试工
程的第一阶段任务。

⑺若针对软件测试过程管理而论,软件测试还包含着测试管理的各项技术,如测试缺陷的管理,测试用例的管理等。

⑻在软件测试的具体实施技术中,包含着很多细节技术,如针对软件自动话测试中的测试脚本生成和运用技术等。

5.集成测试的两种不同的测试方法?
答:⑴:非增量式测试:采用一步到位的方法来构造测试:对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当做一个整体进行测试。

⑵:增量是测试:它的集成是逐步实现的,集成测试也是逐步完成的。

也可以说它把单元测试与集成测试结合起来进行。

6.自顶向下增量是测试和自底向上增量式测试?
答:自顶向下增量是测试表示逐步集成和逐步测试是按照机构图自上而下进行的,即模块集成的顺序是首先集成主控模块(主程序),然后依照控制层次结构向下进行集成。

从属于主控模块按深度优先方式(纵向),或者广度优先方式(横向)集成到结构中去。

自底向上增量式测试表示逐步集成和逐步测试的工作按结构图自下而上进行的,由于是从最底层开始集成,所以也就不再需要使用桩模块进行辅助测试。

7.简述客户/服务器体系机构应用系统的主要内容?
答:⑴:客户端测试:①客户端测试:对客户端的业务逻辑的流程的应用程序的检测
②操作系统平台测试:需要在各种操作系统下对客户端进行兼容性测试
③;浏览器测试
⑵:客户端与服务器端的集成测试:1.服务器测试①数据库测试②连接速度测试③负载测试④压力测试
2.对应用服务器端测试
⑶整体测试:①事物测试②网络通信测试
8.简述web网站测试的测试范围及采用的方法?
答:⑴web应用系统的软件工功能测试
⑵web系统的软件性能测试
⑶web数据库系统测试
⑷网站的负载测试通过应用模拟的方法实现
⑸可用性测试①整体界面测试(采用调查问卷方法)②导航测试
⑹安全性测试①web应用系统的用户名、密码和登录的限制②web应用系统是否有超时的限制③web系统的安全性问题④当使用了安全套接字时,需要测试加密是否正确,检查信息的完整型⑤服务器端的脚本安全问题
9.面向对象的开发模式与传统软件的开发模式有何不同?
答:⑴传统的面向过程的程序中,通常考虑的是函数的行为特征,而在面向对象的程序中,就需要考虑基类函数、继承函数的行为特征
⑵面对对象的程序结构已不再是传统的功能模块结构(封装的机制在避免对数据的非法操作、防止故障扩散的同时,也给测试数据的生成、测试路径的选取以及测试结构的分析带来了困难)
⑶继承和多态机制是面向对象实现的主要手段。

继承时代码的重用率得到了提高,同时也使故障的传播概率增加
⑷多态增加了系统运行中可能的执行路径,并给面向对象的软件带来了更为严重的不确定性,使得测试的覆盖率的工作带来了困难
⑸面向对象的开发模式中的软件依赖问题比传统的开发模式复杂
10.总结嵌入式软件测试的流程?
答:⑴系统平台的测试:这项测试包括硬件电路测试、操作系统及底层驱动程序的测试等。

该部分测试完成后,系统形成完整的嵌入式系统平台,只待添加应用程序即可完成系统待定任务
⑵单元模块测试:单个模块的测试在宿主机上进行,此阶段主要为白盒测试,对每一个函数、每一个分支和每一条才程序语句进行覆盖测试。

单元测试的主要策略死采用等价类和边界值的方法
⑶集成测试;单元模块测试通过之后,应把所有模块集成起来进行测试,集成测试阶段的主要任务是找出各模块之间数据传递错误和系统组成后的逻辑结构的错误。

在宿主机上以黑盒测试和白盒测试相结合的办法进行测试,最大限度的模拟实际的运行环境
⑷系统测试:集成测试完成之后,推出宿主机测试环境,把系统移植到目标机上,已将其应用到现场环境中。

系统测试是从用户角度对系统进行黑河测试,雁阵每一项具体功能是否能实现
⑸确认测试:这是嵌入式系统的软件测试的最后的测试活动,其主要任务是将嵌入式系统软件交付使用,通过使用的方式验证软件的功能、性能、及其它特性,检查是否与用户的要求相符。

这项测试包括有效测试、软件配置检查、验收测试、阿尔法和贝塔测试。

相关文档
最新文档