12习题参考答案解析.docx
- 文档编号:10021136
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:63
- 大小:53.98KB
12习题参考答案解析.docx
《12习题参考答案解析.docx》由会员分享,可在线阅读,更多相关《12习题参考答案解析.docx(63页珍藏版)》请在冰豆网上搜索。
12习题参考答案解析
本书习题参考答案
第1章软件测试概述
1.软件具有几个特点,请详细说明。
软件具有8个特点:
(1)软件是一种逻辑实体,而不是具体的物理实体。
因而它具有抽象性。
(2)软件的生产与硬件不同,它没有明显的制造过程。
对软件的质量控制,必须着重在软件开发方面下功夫。
(3)在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
然而它存在退化问题,必须要对其进行多次的修改与维护。
(4)软件的开发和运行常常受到计算机系统的制约,对计算机系统有着不同程度的依赖性。
为了解除这种依赖性,在软件开发中提出了软件移植的问题。
(5)软件的开发至今尚未完全摆脱人工艺的开发方式。
(6)软件本身是复杂的。
软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。
(7)软件成本相当昂贵。
软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本是比较高的。
(8)相当多的软件工作涉及到社会因素。
许多软件的开发和运行涉及机构、体制及管理方式等问题,它直接影响到项目的成败。
2.软件的分类方法都有哪些?
软件的分类方法有如下4种:
(1)按软件的功能分类(系统软件,支撑软件,应用软件)
(2)按软件服务对象的范围分类(项目软件,市场软件)
(3)按开发软件所需要的人力、时间以及完成的源程序行数分类。
(大型,小型,中型,微型)
(4)按软件工作方式分类
按软件的工作方式分为:
实时处理软件、分时软件、交互式软件、批处理软件。
3.软件测试的概念
软件测试是软件工程中的一个环节,是开发项目整体的一部分。
软件测试是有计划有组织的,是保证软件质量的一种手段,它是软件工程中一个非常重要的环节。
因此,可以认为它是伴随软件工程的诞生而诞生的,伴随着软件复杂程度的增加、规模的增大,软件测试作为一种能够保证软件质量的有效手段,越来越受到人们的重视,软件测试最终目的是使产品达到完美。
4.软件测试的方法有哪些?
软件的测试方法有3种,即用试题测试、用新旧两个系统作平行处理测试和软件测试自动化工具测试。
5.请简要说明软件测试阶段的任务。
软件测试阶段有以下几方面的任务:
(1)制定测试大纲;
(2)制作测试数据;
(3)程序测试;(单元测试)
(4)功能测试;
(5)子系统测试;(性能测试)
(6)系统测试;
(7)系统接口测试;(验收测试)
(8)写出测试报告书;
(9)向下阶段工作提交系统运行、维护手册的草案。
(10)制定测试大纲。
6.说明软件测试人员需要的知识结构。
★需要具有懂得计算机的基本理论,又有一定开发经验的人员;
★需要具有了解软件开发的基本过程和特征,对软件有良好的理解能力,掌握软件测试相关理论及技术的人员;
★需要具有软件业务经验的人员;
★需要根据测试计划和方案进行软件测试;针对软件需求开发测试模型,制定测试方案,安排测试计划,搭建测试环境,进行基本测试,设计简单的测试用例;
★需要具有规划设计环境;编制测试大纲并设计测试用例;对软件进行全面测试工作的人员;
★需要具有编制测试计划;评审测试方案,规范测试流程及测试文档;分析测试结果,管理测试项目;
★需要会操作软件测试工具的人员。
7.软件测试人员需要的素质都有哪些?
请简要说出。
①沟通能力
②技术能力
③自信心
④洞察力
⑤探索精神
⑥不懈努力
⑦创造性
⑧追求完美
⑨判断准确
⑩老练稳重和说服力
第2章白盒测试的实用技术
1.白盒测试有哪两个分类?
(1)静态测试
静态测试是测试中很重要的方法之一。
它不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试。
静态测试大约可以找出25%—60%的逻辑错误。
(2)动态测试:
输入一组预先按照一定的测试准则设计的实例数据驱动运行程序,检查程序功能是否符合设计要求,发现程序中错误的过程。
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章黑盒测试的实用技术
1.请详细叙述黑盒测试的基本概念。
黑盒测试(Black-BoxTesting)又称为数据驱动测试或基于规格说明的测试。
黑盒测试就是把程序看作一个不能打开的黑盒子,不考虑程序内部逻辑结构和内部特性的情况下,测试程序的功能,测试者要在软件的接口处进行,它只检查程序功能是否按照规格说明书的规定正常使用,程序是否能接收输入数据而产生正确的输出信息,以及性能是否满足用户的需求,并且保持数据库或外部信息的完整性。
通过测试来检测每个功能是否都能正常运行,因此黑盒测试又可称为从用户观点和需求进行出发的测试。
2.黑盒测试都有哪些优点?
请说明。
黑盒测试的优点:
★从产品功能角度测试可以最大程度满足用户的需求。
★相同动作可重复执行,最枯燥的部分可由机器完成。
★依据测试用例针对性地找寻问题,定位更为准确,容易生成测试数据。
★将测试直接和程序/系统要完成的操作相关联。
3.黑盒测试都有哪些缺点?
请说明。
黑盒测试的缺点:
★代码得不到测试。
★如果规格说明设计有误,很难发现。
★测试不能充分的进行。
★结果取决于测试用例的设计。
4.请详细说明黑盒测试的方法。
因为黑盒测试是一种基于证明功能需求和用户最终需求的测试方法,所以在选择测试,设计测试方法方面有如下几种。
★等价类划分法;
★边界值分析法;
★因果图法;
★判定表驱动测试;
★场景法;
★功能图法;
★错误推测法;
★正交试验设计法。
在实际测试工作中,往往是综合使用各种方法才能有效提高地提高测试效率和测试覆盖率,这就需要认真掌握这些方法的原理,积累更多的测试经验,以有效地提高测试水平和测试的效率。
5.黑盒测试的原则都有哪些?
★根据软件规格说明书设计测试用例,规格说明书的正确性是至关重要的。
★有针对性的地找问题,并且正确定位等价类
★功能是否有缺陷或错误现象?
★根据测试的重要性来确定测试等级和测试重点,减少程序可能出现的缺陷。
★在接口处,输入的信息是否能正确接受?
接受后能否输出正确的结果?
★认真选择测试策略,尽可能发现程序的数据结构错误或外部信息访问错误,站在用户立场上进行测试。
第4章测试用例设计方法
1.什么是测试用例。
测试用例(TestCase)通俗一点来讲就是编写(编制)一组前提条件、输入、执行条件、预期结果以完成对某个特定需求或目标测试的数据,体现测试方案、方法、技术和策略的文档。
2.测试用例主要包括哪些内容。
完整的测试用例通常包括:
★测试用例的编号;
★测试日期;
★测试用例设计人员和测试人员;
★测试用例的优先级;
★测试标题;
★测试目标;
★测试环境;
★输入数据/动作;
★测试的操作步骤;
★测试预期的结果。
3.请写出设计测试用例所需的文档资料。
设计测试用例所需要的文档资料包括:
★软件需求说明书;
★软件设计说明书;
★软件测试需求说明书;
★成熟的测试用例(案例库或财富库)。
4.简述白盒测试用例的设计技术和目的。
(1)白盒测试用例的设计技术如下:
★逻辑覆盖;
★基本路径测试。
(2)采用白盒测试技术设计用例的目的主要是:
★每个模块中的所有独立路径至少被执行一次;
★所有的逻辑值必须测试真、假两个分支;
★在边界值内和可操作范围至少循环一次;
★检查数据的内部结构保证其有效的实现预定功能。
5.简述黑盒测试用例的设计技术和目的。
(1)黑盒测试用例设计技术如下:
★等价类划分;
★边界值分析;
★错误推测;
★因果图。
(2)采用黑盒测试技术设计用例的主要目的是:
★检查功能是否实现或遗漏;
★检查人机交互界面是否出错;
★数据库读取、更新操作出错;
★性能特性是否得到满足。
第5章对本书测试模型的介绍
略
第6章单元测试的实用技术
1.简述单元测试的目的。
单元测试目的主要有以下几点:
(1)检查单元模块内部的错误,为软件的评审验收提供依据。
(2)单元测试是以程序设计说明书和之前所作的测试数据(正常的和错误的)为指导,测试模块内重要的路径,以检查出错误;
(3)检验信息能否正确地流入和流出单元;
(4)在单元测试工作过程中,其内部数据能否保持其完整性,包括内部数据的形式、内容及相互关系不发生错误,也包括全局变量在单元中的处理和影响。
(5)在为限制数据加工而设置的边界处,能否正确工作。
(6)单元的运行能否做到满足特定的逻辑覆盖。
(7)单元中发生了错误,其中的出错处理措施是否有效。
2.简述单元测试的主要任务。
单元测试的主要任务有:
程序语法检查、程序逻辑检查、模块接口测试、局部数据结构测试、路径测试、边界条件测试、错误处理测试、代码书写规范检查。
3.单元测试主要需要测试哪8点?
程序语法检查、程序逻辑检查、模块接口测试、局部数据结构测试、路径测试、边界条件测试、错误处理测试,代码书写规范检查。
4.局部数据结构测试主要表现形式是哪6个方面?
(1)局部数据结构测试最常见的积累错误;
(2)不适合或者不相容的类型说明;
(3)变量无初值;
(4)变量初始化或者缺省值有错;
(5)不正确的变量名或不正确的截断;
(6)出现上溢、下溢或地址异常。
5.边界条件测试主要测试的是哪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)用户界面测试、是否有相应的提示框、适当的错误提示;
(5)系统的界面是否清晰、美观;
(6)菜单、按钮操作正常、灵活,能处理一些异常操作;
(7)是否能接受不同的数据输入(能接受正确的数据输入,对异常数据的输入可以进行提示、容错处理);
(8)数据的输出结果准确,格式清晰,可以保存和读取;
(9)功能逻辑清楚,符合使用者习惯;
(10)系统的各种状态按照业务流程而变化,并保持稳定;
(11)支持各种应用的环境,能配合多种硬件周边设备,与外部应用系统的接口有效;
(12)软件升级后,能继续支持旧版本的数据。
4.请详细说明Web功能测试的方法主要包括的内容。
Web功能测试通常又称为网站(网页)测试。
测试的方法主要有如下几点:
1.页面链接检查:
每一个链接都要有对应的页面,并且页面之间切要正确。
2.相关性检查:
检查删除/增加其中每一项是否会对其他项产生影响,如果产生影响,这些影响是否都正确。
3.检查按钮的功能是否正确,如Add,delete,save,update功能键.
4.字符串长度检查:
输入超出所要求的字符串长度的内容,看系统检查字符串长度时会不会出错。
5.字符类型检查:
在应该输入指定类型的地方输入其他类型的内容,例如在应该输入浮点型的地方输入其他字符类型,看系统是否检查字符类型时是否报错。
6.标点符号检查:
输入内容包括各种标点符号,特别是逗号、句号、空格、回车键、回格键。
看系统处理是否正确。
7.中文字符处理:
在可以输入中文的地方输入中文,看是否出现乱码或出现错误。
8.检查带出信息的完整性:
在查看信息和更新信息时,查看所填写的信息是否全部带出以及带出和添加的信息是否一致。
9.信息重复:
在一些需要命名并且名字是唯一的信息中输入重复的名字,看系统是否处理、报错;重名包括是否区分大小写;以及在输入内容的前后输入空格,系统是否作出正确处理。
10.检查删除功能:
在一些可以一次删除多个信息的地方,不选择任何信息,按“delete”键,看系统如何处理,是否出错;然后选择一个和多个信息,进行删除,看是否正确处理。
11.检查添加和修改是否一致:
检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为浮点型的项,修改也必须为浮点型。
12.检查修改重名:
修改时把不能重名的项改为已存在的内容,看能否处理、报错。
同时也要注意,会不会报和自己重名的错。
13.重复提交表单:
一条已经成功提交的纪录,回格后再提交,看看系统是否做了处理。
14.检查多次使用回格键的情况:
在有回格的地方回格,回到原来页面,再回格,重复多次,看会否出错。
15.Search检查:
在有search功能的地方输入系统存在和不存在的内容,看搜索结果是否正确。
如果可以输入多个搜索条件,可以同时添加合理和不合理的条件,看系统处理是否正确。
16.输入信息位置:
注意在光标停留的地方输入信息时,光标和所输入的信息会否会跳动。
17.上传下载文件检查:
上传下载文件的功能是否实现,上传文件能否打开。
对上传文件的格式有何规定,系统是否有解释信息,并检查系统能否做到。
18.必填项检查:
应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息。
19.快捷键检查:
是否支持常用快捷键,如Ctrl+C,Ctrl+V等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。
20.回车键检查:
在输入结束后直接按回车键,看系统处理如何,是否报错。
5.请详细说明Web翻页功能测试的方法主要包括的内容。
A.首页、上一页、下一页、尾页。
★有无数据时控件的显示情况;
★在首页时,首页和上一页是否能点击;
★在尾页时,下一页和尾页是否能点击;
★在非首页和非尾页时,四个按钮功能是否正确;
★翻页后,列表中的记录是否仍按照指定的排序列进行了排序。
B.总页数,当前页数
★总页数是否等于总的记录数/指定每页条数;
★当前页数是否正确。
C.指定跳转页
★是否能正常跳转到指定的页数;
★输入的跳转页数非法时的处理。
D.指定每页显示条数
★是否有默认的指定每页显示条数;
★指定每页的条数后,列表显示的记录数,页数是否正确;
★输入的每页条数非法时的处理。
6.请详细说明搜索功能测试的方法主要包括的内容。
对于搜索功能,主要通过以下八点测试:
1.页面检查;
2.默认条件搜索;
3.修改可选条件搜索;
4.修改输入条件搜索;
5.修改区间条件搜索;
6.组合可选、输入条件搜索;
7.操作后检查搜索条件及查询结果;
8.错误、空记录搜索。
第8章集成测试技术
1.请详细说明集成测试的内容。
集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。
它的最简单的形式是:
两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。
从这一层意义上讲,组件是指多个单元的集成聚合。
在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。
方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。
最后,将构成进程的所有模块一起测试。
此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有进程。
2.请说明集成测试的过程,可以用图表表示。
集成测试的过程包括:
制定集成测试计划,设计集成测试,实施集成测试,执行集成测试,评估集成测试。
如下图所示。
3.简述集成测试的五个步骤。
1.首先确定子系统有哪些模块组成,保证这些模块都进行过单元测试。
2.有开发人员组装这些模块,生成一个子系统,并保证在此子系统中,各个模块的功能尽可能发挥出来。
3.测试前,要设计测试用例,所以一个关键的模块为核心展开,以功能和性能为两条主线,注意模块间接口。
4.搭建必要的测试环境,按照所写测试用例,进行模块连接的充分测试。
5.记录测试结果,总结测试问题。
4.请详细说明集成测试过程中要注意的事项。
1.测试中问题的处理
(1)问题的定位,由谁定位,定位的时间
在测试过程中发现与测试计划中测试项预期结果有所不同,既是问题。
如果测试人员有能力定位问题,需明确程序代码中出错的地方,并记录下来;否则找开发人员到现场来定位。
定位的时间最好是在问题产生之前,这样有利于保护现场和问题重现,但时间不能太长,否则影响测试进度,原则上说,集成测试中发现的问题都应该定位到语句,除非涉及到方案设计上的错误。
(2)环境问题的处理
集成测试的环境可以是单机、双机或机架。
测试过程中需要有独立的、稳定的和良好的实验环境。
但在实际中由于条件限制,测试环境是大家共享的,为保证本次测试不影响下次测试工作或其他人测试工作的开展,所以测试人员需要做以下的工作:
★测试环境的申请;
★测试环境的维护;
★测试环境的移交。
(3)测出问题的记录与提交
测试过程中发现的现象和问题由测试人员做详细记录,测出的问题最好先由开发人员确认,然后以内部问题报告单的形式提交,这样防止测试人员提交的问题并非是程序的问题,(可能是环境因素或其他因素造成),同时保证发现的问题能够被跟踪到回归测试,即被彻底解决为止。
2.测试过程记录
测试人员在测试过程中完成必要的测试记录,记录的内容包括:
测试版本;测试任务;使用环境;测试项目;测试结果;问题描述;产生原因。
每一阶段性的测试任务结束后,应向测试负责人提交测试记录,测试负责人做存档处理。
3.测试人员在测试过程中应不断地与开发人员进行经验交流,讨论程序中的疑问以及问题的解决,加深程序的理解,以积极合作的方式来完成测试工作。
4.测试用例、CHECKLIST、测试进度的适当修正
随着集成测试的进一步进行,对程序代码的理解不断加深,会发现以前的测试集不够理想,这就需要及时更新测试用例,以提高测试覆盖率和达到需要的异常测试,相应也要修改CHECKLIST和调整测试进度。
5.判断集成测试过程完成与否,需要注意哪些方面?
★成功地执行了测试计划中规定的所有集成测试;
★修正了所发现的错误;
★测试结果通过了专门小组的评审。
第9章性能测试的实用技术
1.请详细说明性能测试的目的。
性能测试主要是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈及问题,找到软件的可扩展点,优化软件,最后起到优化系统的目的。
性能测试的目的主要有以下几点:
(1)评估系统的能力
性能测试主要考查系统的能力,它对系统的负荷和响应时间是相当重要的,也是验证系统能力的依据之一。
(2)识别体系中的弱点
性能测试考查系统受控的负荷还存在有哪些缺陷,并为解决这些缺陷提供路径。
(3)系统调优
性能测试的系统调优就是重复运行测试,验证系统的活动是否得到了预期的结果,从而改进系统性能。
检测软件中的问题:
长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中隐含的问题或冲突。
(4)验证稳定性及可靠性
验证稳定性及可靠性是在一个生产负荷下,执行一定时间的测试,是评估系统稳定性和可靠性是否满足要求的唯一方法。
2.请列举性能测试的先决条件。
性能测试的先决条件包括:
(1)针对性能测试对象的技术要成熟;
(2)性能测试的测试环境要稳定;
(3)进行性能测试的准备要充分;
(4)性能测试的目标要明确;
(5)性能测试的计划要详细;
(6)性能测试的数据要精确以及要有代表性;
(7)性能测试的描述要精练。
满足了这些之后我们才能够进入测试阶段。
3.请说明性能测试的主要分类,并简介之。
性能测试主要分为三类:
(1)应用在客户端性能的测试
应用在客户端性能测试的目的是考察客户端应用的性能,测试的入口是客户端。
它主要包括并发性能测试、疲劳强度测试、大数据量测试和速度测试等,其中并发性能测试是重点。
(2)应用在网络上性能的测试
应用在网络上性能的测试重点是利用成熟先进的自动化技术进行网络应用性能监控、网络应用性能分析和网络预测。
(3)应用在服务器端性能的测试
对于应用在服务器上性能的测试,可以采用工具监控,也可以使用系统本身的监控命令,例如Tuxedo中可以使用Top命令监控资源使用情况。
实施测试的目的是实现服务器设备、服务器操作系统、数据库系统、应用在服务器上性能的全面监控。
4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 习题 参考答案 解析