当前位置:文档之家› 软件测试课后习题

软件测试课后习题

第一章软件测试概述1. 名词解释软件缺陷:即计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵。

缺陷会导致软件产品在某种程度上不能满足用户的需要。

软件缺陷的准确定义,通常有以下5 条描述:(1)软件未实现产品说明书要求的功能。

(2)软件出现了产品说明书指明不会出现的错误。

(3)软件超出实现了产品说明书提到的功能。

(4)软件实现了产品说明书虽未明确指出但应该实现的目标。

(5)软件难以理解,不易使用,运行缓慢或者终端用户认为不好软件测试:软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。

通常对软件测试的定义有如下描述:软件测试是为了发现错误而执行程序的过程。

静态测试:静态测试就是通过对被测程序的静态审查,发现代码中潜在的错误。

动态测试:动态测试的对象必须是能够由计算机真正运行的被测试的程序黑盒测试:黑盒测试是一种从用户观点出发的测试,又称为功能测试,数据驱动测试和基于规格说明的测试。

白盒测试:白盒测试基于产品的内部结构来进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分利用。

单元测试:单元测试是针对每个单元的测试,是软件测试的最小单位。

集成测试:集成测试是对已测试过的模块进行组装,进行集成测试的目的主要在于检验与软件设计相关的程序结构问题。

确认测试: 是检验所开发的软件能否满足所有功能和性能需求的最后手段,通常采用黑盒测试方法。

系统测试:系统测试的主要任务是检测被测软件与系统的其他部分的协调性。

验收测试:验收测试是软件产品质量的最后一关。

这一环节,测试主要从用户的角度着手,其参与者主要是用户和少量的程序开发人员。

2. 简述软件测试发展的历史及软件测试的现状软件测试的现状:在我国,软件测试可能算不上一个真正的产业,软件开发企业对软件测试认识淡薄,软件测试人员与软件开发人员往往比例失调,而在发达国家和地区软件测试已经成了一个产业。

我们在软件测试实现方面并不比国外差,国际上优秀的测试工具,我们基本都有,这些工具所体现的思想我们也有深刻的理解,很多大型系统在国内都得到了很好的测试。

3. 谈谈你对软件测试的重要性的理解4. 简述软件测试的目标及标准软件测试的目的包括以下三点:(1) 测试是程序的执行过程,目的在于发现错误,不能证明程序的正确性,仅限于处理有限种的情况。

(2) 检查系统是否满足需求,这也是测试的期望目标。

(3) 一个好的测试用例在于发现还未曾发现的错误;成功的测试是发现了错误的测试。

软件测试标准如下:(1) 软件测试的目标在于揭示错误。

测试人员要始终站在用户的角度去看问题,系统中最严重的错误的是那些导致程序无法满足用户需求的错误。

(2) 软件测试必须基于“质量第一”的思想去开展各项工作。

(3) 事先定义好产品的质量标准。

只有建立了质量标准,才能根据测试的结果,对产品的质量进行分析和评估。

(4) 软件项目一启动,软件测试也就开始,而不是等程序写完,才开始进行测试。

(5) 测试用例是设计出来的,不是写出来的,所以要根据测试的目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多的发现错误,提高程序的可靠性。

(6) 对发现错误较多的程序段,应进行更深入的测试。

5. 简述软件测试的原则应当把尽早地和不断地进行软件测试作为软件开发者的座右铭。

坚持在软件开发的各个阶段的技术评审,这样才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期,杜绝某些隐患,提高软件质量。

测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。

如果对测试输入数据没有给出预期的程序输出结果,那么就缺少了检验实测结果的基准,就有可能把一个似是而非的错误结果当成正确结果。

程序员应避免检查自己的程序。

如果由别人来测试程序员编写的程序,可能会更客观,更有效,并更容易取得成功在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。

充分注意测试中的群集现象。

测试时不要以为找到了几个错误问题就已解决,不需继续测试了。

应当对错误群集的程序段进行重点测试,以提高测试投资的效益。

严格执行测试计划,排除测试的随意性。

对于测试计划,要明确规定,不要随意解释。

应当对每一个测试结果做全面检查。

这是一条最明显的原则,但常常被忽视。

必须对预期的输出结果明确定义,对实测的结果仔细分析检查,抓住关键,暴露错误。

妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。

6. 简述软件测试与软件开发的关系.测试与软件开发各阶段的关系软件开发过程是一个自顶向下,逐步细化的过程,首先在软件计划阶段定义了软件的作用域,然后进行软件需求分析,建立软件的数据域、功能和性能需求、约束和一些有效性准则。

接着进入软件开发,首先是软件设计,然后再把设计用某种程序设计语言转换成程序代码。

而测试过程则是依相反的顺序安排的自底向上,逐步集成的过程,低一级测试为上一级测试准备条件.测试与开发的并行性在软件的需求得到确认并通过评审后,概要设计工作和测试计划制定设计工作就要并行进行。

如果系统模块已经建立,对各个模块的详细设计、编码、单元测试等工作又可并行。

待每个模块完成后,可以进行集成测试、系统测试。

.测试与开发模型软件测试不仅仅是执行测试,而是一个包含很多复杂活动的过程,并且这些过程应该贯穿于整个软件开发过程。

第二章软件测试过程与策略1.对软件的经济性进行总结分析。

2. 阐述软件测试的充分性准则。

3. 如何描述测试流程整体框架。

4. 简述单元测试的目标。

单元测试的主要目标是确保各单元模块被正确地编码。

单元测试除了保证测试代码的功能性,还需要保证代码在结构上具有可靠性和健全性,并且能够在所有条件下正确响应。

进行全面的单元测试,可以减少应用级别所需的工作量,并且彻底减少系统产生错误的可能性。

如果手动执行,单元测试可能需要大量的工作,自动化测试会提高测试效率。

5. 解释驱动模块简述软件测试的复杂性。

6. 和桩模块概念。

助模块可分为两种:(1) 驱动模块(driver ):相当于被测模块的主程序。

它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。

(2) 桩模块(stub):用以代替被测模块调用的子模块。

桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么事情也不做。

7. 简述集成测试的层次划分。

模块内集成测试;子系统内集成测试;子系统间集成测试。

对于面向对象的应用系统来说,可以把集成测试分为两个阶段:类内集成测试;类间集成测试。

8•归纳确认测试阶段的工作。

9. 简述系统测试的流程。

审批审执迭代10. 归纳验收测试常用的策略。

常用策略有三种,它们分别是:(1)正式验收(2)非正式验收或Alpha测试⑶Beta 测试11. 简述验收测试的流程。

•应”丸訓IT 仇的i(5u12. 简述静态测试和动态测试的区别。

13. 比较阐述黑盒测试和白盒测试的优缺点。

黑盒测试白盒测试优点① 适用于各个测试阶段;② 从产品功能角度进行测试;③ 容易入手生成测试数据。

④ 可构成测试数据使特定 程序部分得到测试; ⑤ 有一定充分性度里手段; ⑥ 可获较多工具支持。

缺点① 某些代码得不到测试;② 如果规则说明有误,无法 发现;③ 不易进行充分行测试。

④不易生成测试数据;②无法对未实现规格说明的部分 进行测试;工作量大,通常只用 于单元测试,有应用局限性。

黑盒测试白盒测试性质—种确认技术,目的是确认设 计的系统是否正确。

一种验证技术,目的是验证系 统的设计是否正确”。

•号和r ffHUvit 忤品 雄F 亍换曰才旧冬•庄和fh ・I'texU 粧洩111 i 我tK f±r 卄换仔讦审fS .士駅i|久性11试 畑吿日*自■ 4•毗*戌川H 试 y-股虽庭K 汕则■占心冷冲目K 強*十-tt iPIHWn 住iri ■弋IJ ■主毎!1洌I 咸扶亦 鈕战-册祖K 初粕軌!1试设叶 i 上囲曲JJWW 试工j 来!!心寧rra-r第三章黑盒测试及其实例设计1. 叙述黑盒测试技术的实质及要点。

黑盒测试方法着重测试软件的功能需求,是在程序接口上进行测试,主要是为了发现以下错误:是否有不正确的功能,是否有遗漏的功能;在接口上,是否能够正确地接收输入数据并产生正确的输出结果;是否有数据结构错误或外部信息访问错误;性能上是否能够满足要求;是否有程序初始化和终止方面的错误。

2. 常用的黑盒测试用例设计方法有哪些各有什么优缺点等价类划分法、边界值分析法、决策表法和因果图法。

决策表最突出的优点是,能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。

因此,利用决策表能够设计出完整的测试用例集合。

运用决策表设计测试用例,可以将条件理解为输入,将动作理解为输出。

3. 使用等价类划分法设计三角形问题的测试用例。

R1={〈a, b, c>:边为a,b, c的等边三角形} R2={〈 a, b, c >:边为a, b, c的等腰三角形}R3={〈 a, b, c>:边为a, b, c的一般三角形} R4={〈 a, b, c>:边为a, b, c不能构成三角形}4. 程序要求某个输入为6位正整数,试用不同的测试方法设计所有的测试用例。

5. 测试银行提款机上的提款功能,要求用户输入的提款金额的有效数值是50-2000 ,并以50为最小单位(即取款金额为50的倍数),且小数点后为00,除小数点外,不可以出现数字以外的任何符号和文字。

试用等价类划分法和边界值分析法设计测试用例。

6. 某程序要求输入日期,规定变量month、day、year的取值范围为:1 < month w 12,1 w day w 31, 1958 w year w 2058,试用边界值分析法设计测试用例。

第四章白盒测试及其实例设计1. 阐述白盒测试的各种方法,进行分析总结。

语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖和路径覆盖六种覆盖测策略。

2. 分析归纳逻辑覆盖测试的6种覆盖策略的各自特点。

语句覆盖:每个语句至少执行一次。

判定覆盖:在语句覆盖的基础上,每个判定的每个分支至少执行一次。

条件覆盖:在语句覆盖的基础上,使每个判定表达式的每个条件都取到各种可能的结果。

判定/条件覆盖:即判定覆盖和条件覆盖的交集。

条件组合覆盖:每个判定表达式中条件的各种可能组合都至少出现一次。

路径覆盖:每条可能的路径都至少执行一次,若图中有环,则每个环至少经过一次3. 简述独立路径测试的基本步骤。

独立路径测试的步骤包括3个方面:导出程序控制流图求出程序环形复杂度设计测试用例(Test Case )4. 对下列C语言程序设计逻辑覆盖测试用例。

相关主题