您好,欢迎访问三七文档
1本书习题参考答案第1章软件测试概述1.软件具有几个特点,请详细说明。软件具有8个特点:(1)软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性。(2)软件的生产与硬件不同,它没有明显的制造过程。对软件的质量控制,必须着重在软件开发方面下功夫。(3)在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。然而它存在退化问题,必须要对其进行多次的修改与维护。(4)软件的开发和运行常常受到计算机系统的制约,对计算机系统有着不同程度的依赖性。为了解除这种依赖性,在软件开发中提出了软件移植的问题。(5)软件的开发至今尚未完全摆脱人工艺的开发方式。(6)软件本身是复杂的。软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。(7)软件成本相当昂贵。软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本是比较高的。(8)相当多的软件工作涉及到社会因素。许多软件的开发和运行涉及机构、体制及管理方式等问题,它直接影响到项目的成败。2.软件的分类方法都有哪些?软件的分类方法有如下4种:(1)按软件的功能分类(系统软件,支撑软件,应用软件)(2)按软件服务对象的范围分类(项目软件,市场软件)(3)按开发软件所需要的人力、时间以及完成的源程序行数分类。(大型,小型,中型,微型)(4)按软件工作方式分类按软件的工作方式分为:实时处理软件、分时软件、交互式软件、批处理软件。3.软件测试的概念软件测试是软件工程中的一个环节,是开发项目整体的一部分。软件测试是有计划有组织的,是保证软件质量的一种手段,它是软件工程中一个非常重要的环节。因此,可以认为它是伴随软件工程的诞生而诞生的,伴随着软件复杂程度的增加、规模的增大,软件测试作为一种能够保证软件质量的有效手段,越来越受到人们的重视,软件测试最终目的是使产品达到完美。4.软件测试的方法有哪些?软件的测试方法有3种,即用试题测试、用新旧两个系统作平行处理测试和软件测试自动化工具测试。5.请简要说明软件测试阶段的任务。软件测试阶段有以下几方面的任务:(1)制定测试大纲;2(2)制作测试数据;(3)程序测试;(单元测试)(4)功能测试;(5)子系统测试;(性能测试)(6)系统测试;(7)系统接口测试;(验收测试)(8)写出测试报告书;(9)向下阶段工作提交系统运行、维护手册的草案。(10)制定测试大纲。6.说明软件测试人员需要的知识结构。★需要具有懂得计算机的基本理论,又有一定开发经验的人员;★需要具有了解软件开发的基本过程和特征,对软件有良好的理解能力,掌握软件测试相关理论及技术的人员;★需要具有软件业务经验的人员;★需要根据测试计划和方案进行软件测试;针对软件需求开发测试模型,制定测试方案,安排测试计划,搭建测试环境,进行基本测试,设计简单的测试用例;★需要具有规划设计环境;编制测试大纲并设计测试用例;对软件进行全面测试工作的人员;★需要具有编制测试计划;评审测试方案,规范测试流程及测试文档;分析测试结果,管理测试项目;★需要会操作软件测试工具的人员。7.软件测试人员需要的素质都有哪些?请简要说出。①沟通能力②技术能力③自信心④洞察力⑤探索精神⑥不懈努力⑦创造性⑧追求完美⑨判断准确⑩老练稳重和说服力第2章白盒测试的实用技术1.白盒测试有哪两个分类?(1)静态测试静态测试是测试中很重要的方法之一。它不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试。静态测试大约可以找出25%—60%的逻辑错误。(2)动态测试:输入一组预先按照一定的测试准则设计的实例数据驱动运行程序,检查程序功能是否符3合设计要求,发现程序中错误的过程。2.说出白盒测试的4个原则。1)保证一个模块中所有路径至少被测试一次;2)所有逻辑值都要测试真和假两种情况;3)检查程序的内部数据结构是否有效;4)再上、下边界及可操作范围内运行所有循环。3.详细说明白盒测试方法要注意的问题。在白盒测试中,可以使用各种测试方法进行测试。但是,测试要考虑五点问题。(1)测试中,尽量先用自动化工具来进行静态结构分析;(2)测试中建议先从静态测试开始,如:静态结构分析、代码走查和静态质量度量,然后进行动态测试,如:覆盖率测试;(3)利用静态分析的结果作为依据,再使用代码检查和动态测试的方式对静态分析结果进行进一步确认,提高测试效率及准确性;(4)覆盖率测试是白盒测试中的重要手段,在测试报告中可以作为量化指标的依据,对于软件的重点模块,应使用多种覆盖率标准衡量代码的覆盖率;(5)在不同的测试阶段,测试的侧重点不同:★在单元测试阶段,以代码检查、逻辑覆盖为主;★在集成测试阶段:需要增加静态结构分析、静态质量度量;★在系统测试阶段:在黑盒测试的基础上,白盒测试技术配合黑盒测试技术进行系统测试。4.请简要写出白盒测试常用的7类技术。1)逻辑覆盖法2)插桩技术3)基本路径测试法4)域测试法5)符号测试6)Z路径覆盖法7)程序变异测试法5.逻辑覆盖主要测试哪8各方面的覆盖率?(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)条件判定组合覆盖(5)多条件覆盖(6)修正条件判定覆盖(7)组合覆盖(8)路径覆盖第3章黑盒测试的实用技术41.请详细叙述黑盒测试的基本概念。黑盒测试(Black-BoxTesting)又称为数据驱动测试或基于规格说明的测试。黑盒测试就是把程序看作一个不能打开的黑盒子,不考虑程序内部逻辑结构和内部特性的情况下,测试程序的功能,测试者要在软件的接口处进行,它只检查程序功能是否按照规格说明书的规定正常使用,程序是否能接收输入数据而产生正确的输出信息,以及性能是否满足用户的需求,并且保持数据库或外部信息的完整性。通过测试来检测每个功能是否都能正常运行,因此黑盒测试又可称为从用户观点和需求进行出发的测试。2.黑盒测试都有哪些优点?请说明。黑盒测试的优点:★从产品功能角度测试可以最大程度满足用户的需求。★相同动作可重复执行,最枯燥的部分可由机器完成。★依据测试用例针对性地找寻问题,定位更为准确,容易生成测试数据。★将测试直接和程序/系统要完成的操作相关联。3.黑盒测试都有哪些缺点?请说明。黑盒测试的缺点:★代码得不到测试。★如果规格说明设计有误,很难发现。★测试不能充分的进行。★结果取决于测试用例的设计。4.请详细说明黑盒测试的方法。因为黑盒测试是一种基于证明功能需求和用户最终需求的测试方法,所以在选择测试,设计测试方法方面有如下几种。★等价类划分法;★边界值分析法;★因果图法;★判定表驱动测试;★场景法;★功能图法;★错误推测法;★正交试验设计法。在实际测试工作中,往往是综合使用各种方法才能有效提高地提高测试效率和测试覆盖率,这就需要认真掌握这些方法的原理,积累更多的测试经验,以有效地提高测试水平和测试的效率。5.黑盒测试的原则都有哪些?★根据软件规格说明书设计测试用例,规格说明书的正确性是至关重要的。★有针对性的地找问题,并且正确定位等价类★功能是否有缺陷或错误现象?★根据测试的重要性来确定测试等级和测试重点,减少程序可能出现的缺陷。★在接口处,输入的信息是否能正确接受?接受后能否输出正确的结果?5★认真选择测试策略,尽可能发现程序的数据结构错误或外部信息访问错误,站在用户立场上进行测试。第4章测试用例设计方法1.什么是测试用例。测试用例(TestCase)通俗一点来讲就是编写(编制)一组前提条件、输入、执行条件、预期结果以完成对某个特定需求或目标测试的数据,体现测试方案、方法、技术和策略的文档。2.测试用例主要包括哪些内容。完整的测试用例通常包括:★测试用例的编号;★测试日期;★测试用例设计人员和测试人员;★测试用例的优先级;★测试标题;★测试目标;★测试环境;★输入数据/动作;★测试的操作步骤;★测试预期的结果。3.请写出设计测试用例所需的文档资料。设计测试用例所需要的文档资料包括:★软件需求说明书;★软件设计说明书;★软件测试需求说明书;★成熟的测试用例(案例库或财富库)。4.简述白盒测试用例的设计技术和目的。(1)白盒测试用例的设计技术如下:★逻辑覆盖;★基本路径测试。(2)采用白盒测试技术设计用例的目的主要是:★每个模块中的所有独立路径至少被执行一次;★所有的逻辑值必须测试真、假两个分支;★在边界值内和可操作范围至少循环一次;★检查数据的内部结构保证其有效的实现预定功能。5.简述黑盒测试用例的设计技术和目的。(1)黑盒测试用例设计技术如下:6★等价类划分;★边界值分析;★错误推测;★因果图。(2)采用黑盒测试技术设计用例的主要目的是:★检查功能是否实现或遗漏;★检查人机交互界面是否出错;★数据库读取、更新操作出错;★性能特性是否得到满足。第5章对本书测试模型的介绍略第6章单元测试的实用技术1.简述单元测试的目的。单元测试目的主要有以下几点:(1)检查单元模块内部的错误,为软件的评审验收提供依据。(2)单元测试是以程序设计说明书和之前所作的测试数据(正常的和错误的)为指导,测试模块内重要的路径,以检查出错误;(3)检验信息能否正确地流入和流出单元;(4)在单元测试工作过程中,其内部数据能否保持其完整性,包括内部数据的形式、内容及相互关系不发生错误,也包括全局变量在单元中的处理和影响。(5)在为限制数据加工而设置的边界处,能否正确工作。(6)单元的运行能否做到满足特定的逻辑覆盖。(7)单元中发生了错误,其中的出错处理措施是否有效。2.简述单元测试的主要任务。单元测试的主要任务有:程序语法检查、程序逻辑检查、模块接口测试、局部数据结构测试、路径测试、边界条件测试、错误处理测试、代码书写规范检查。3.单元测试主要需要测试哪8点?程序语法检查、程序逻辑检查、模块接口测试、局部数据结构测试、路径测试、边界条件测试、错误处理测试,代码书写规范检查。4.局部数据结构测试主要表现形式是哪6个方面?(1)局部数据结构测试最常见的积累错误;(2)不适合或者不相容的类型说明;(3)变量无初值;(4)变量初始化或者缺省值有错;(5)不正确的变量名或不正确的截断;(6)出现上溢、下溢或地址异常。75.边界条件测试主要测试的是哪3点?(1)程序内有一个n次循环,这个n次循环应该是1~n,而不是0~n;(2)由小于小于等于等于大于大于等于不等于确定的比较值出错;(3)出线上溢、下溢和地址异常问题。第7章功能测试的实用技术1.功能测试的基本概念是什么?请简述之。功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。功能测试一般须在完成单元测试后集成测试前进行,而且是针对应用系统进行各功能测试。一般应用系统有多个功能(子系统),功能测试是基于产品功能说明书,是在已知产品所应具有的功能,从用户角度来进行功能验证,以确认每个功能是否都能正常使用、是否实现了产品规格说明书的要求、是否能适当地接收输入数锯而产生正确的输出结果等。功能测试,包括用户界面测试、各种操作的测试、不同的数据输入、逻辑思路、数据输出和存储等的测试。对于功能测试,针对不同的应用系统,其测试内容的差异很大,但一般都可归为界面、数据、操作、逻辑、接口等几个方面。2.功能测试的基本要求是什么?请简述之。功能测试(Functionaltesting)是基于产品功能说明书并根据产品特征、操作描述和用户方案,来测试产品的每个功能是否都能正常使用、是否达到了产品规格说明书的要求。功能测试只需要考虑它的功能点不需要考虑软件的内部结构及代码等。功能测试包括用户界面测试、各种操作的测试、不同的数据输入、逻辑思路、数据输出和存储等的测试。3.请说明功能测试的重点。功能测试工作一般由程序员担当,测试的结果交系统设计、测试人员审核通过。功能测试的重点应注意如下两大点内容:A整体性(1)符合标准和规范;(2)直观性;(3)一致性;(4)灵活性。B重点性(1)确认每个功能是否都能正常使用,每项功能符合实际要求;(2)是否实现了产品规格说明书的要求;(3)否能适当地接收输入数据而产生正确的输出结果;(4)用户界面测试、是否有相应的提
本文标题:12习题参考答案
链接地址:https://www.777doc.com/doc-3059743 .html