软件测试复习提纲及复习资料

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

《软件测试》复习提纲用答案

1.什么是软件测试?为何要进行软件测试?

软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程。

确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付前发现并改正。2.什么是软件缺陷?请举例。哪里出现的缺陷最多?

软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,未满足用户的需求。

术语:缺点(defect)异常(anomaly)偏差(variance)失败(failure)缺陷(bug)故障(fault)问题(problt)错误(error)

规格说明书出现的最多。

3.软件测试是否就是程序测试?哪些可以作为软件测试的对象?

不是。对象:程序、数据(库)、文档、服务

4.软件测试的目的是什么?软件测试的目标是什么?软件测试的原则是什么?目的:测试的目的就是发现软件中的各种错误和缺陷;测试只能证明软件存在缺陷,不能证明软件不存在缺陷;测试可以使软件中缺陷降低到一定程度,而不是彻底消灭;以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。

目标:确保软件完成了它所承诺或公布的功能;为软件的质量评估提供依据;确保软件满足性能的要求;确保软件是健壮的和适应用户环境,为软件质量改进和管理提供帮助

原则:所有的测试都应追溯到用户需求;保证测试的覆盖程度,但穷举测试是不可能的;越早测试越好,测试过程与开发过程应是相结合的;Pareto原则:测试中发现的80%的错误可能来自于20%的程序代码;测试的规模由小而大,从单元测试到系统测试;为了尽可能地发现错误,应该由独立的第三方来测试;不能为了便于测试擅自修改程序;既应该测试软件该做什么也应该测试软件不该做什么

5.软件测试如何分类?

按照程序是否执行:静态测试(审查、评审和走查)、动态测试

按照测试用例的设计方法:白盒测试、黑盒测试

按照开发阶段划分:单元测试、集成测试、系统测试、验收测试

按照测试实施的组织划分:开发方测试、用户测试(β测试)、第三方测试

按照是否使用工具:手工测试、自动化测试

6.常见的软件测试模型有哪些?各有什么优缺点?

V模型从左到右,描述了基本的开发过程和测试行为,明确地标明了测试工程中存在的不同级别,清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。

优点:明确地标明了测试工程中存在的不同级别,清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系缺点:没有明确地说明早期的测试,不能体现“尽早地”和“不断地”进行软件测试原则。

W模型优点:测试与开发是同步进行的,可以显著的节约总体测试时间缺点:需要有严格的指令表示上一阶段完全结束才可以开始下一个阶段

H模型、X模型等

7.一个软件测试包含哪些基本过程?

制定测试计划

测试设计与开发1测试环境设计2测试用例设计与开发3辅助工具开发

测试执行与管理1准备测试环境2实施测试

生成测试总结与报告

8.什么是测试用例?它包含哪些内容?通常对测试用例有哪些要求?

测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求

内容:包括测试编号,测试环境,测试目的,测试操作步骤,测试预期结果

测试用例要求:对需求覆盖的完整性有效性清晰性可理解性可维护性

9.静态测试分析包含哪些方法以及各自的含义?动态测试包含哪些方法?

静态测试分析指以人工的、非形式化的方法对程序进行分析和测试。主要形式:审查、评审和走查。

评审是由若干开发人员、项目经理、测试人员、用户或领域专家等组成一个会审小组,通过阅读、讨论和争议,对工作制品进行静态分析的过程。

走查是由设计人员或编程人员组成一个走查小组,通过阅读一段文档或代码,并进行提问和讨论,从而发现可能存在的缺陷、遗漏和矛盾的地方。

审查是由一些经过严格训练的人员根据评估标准,对于开发过程中的产品或中间制品进行检查,发现其中存在的错误。

动态测试通过选择适当的测试用例,执行程序。白盒测试和黑盒测试。

10.什么是白盒测试?白盒测试有哪些测试方法及其含义?这些方法的强弱程度

怎样?

白盒测试(又称结构测试)把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作。测试方法:

逻辑覆盖测试:主要考察使用测试数据运行被测程序时对程序逻辑的覆盖程度。通常希望选择最少的测试用例来满足所需的覆盖标准。主要的覆盖标准有:语句覆盖判定覆盖条件覆盖判定-条件覆盖条件组合覆盖路径覆盖。

基本路径测试:是Tom McCabe提出的一种白盒测试技术,这种方法首先根据程序或设计图画出控制流图,并计算其区域数,然后确定一组独立的程序执行路径(称为基本路径),最后为每一条基本路径设计一个测试用例。

循环测试:循环分为4种不同类型:简单循环、嵌套循环、串接循环和非结构循环。

数据流测试。

11.什么是黑盒测试?黑盒测试有哪些测试方法及其含义?

黑盒测试依据软件的需求规约,而不考虑程序的内部结构与特性,检查程序的功能是否符合需求规约的要求。

测试方法:

等价类划分:等价类划分方法将所有可能的输入数据划分成若干个等价类,然后在每个等价类中选取一个代表性的数据作为测试用例。

边界值分析:边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。大量的错误发生在输入范围的内部。

比较测试:通常,可由二支软件开发队伍,根据相同的需求规格说明分别开发二个软件版本,然后,用相同的测试用例对二个版本的软件分别进行测试,比较二个版本软件的测试结果,如果测试结果相同,则可认为二个版本的软件都是正确的,如果测试结果不同,则要分析各个版本,以发现错误的所在。此测试称为比较测试。

错误猜测:错误猜测是一种凭直觉和经验推测某些可能存在的错误,从而针对这些可能存在的错误设计测试用例的方法。

因果图:因果图方法是一种帮助人们系统地选择一组高效测试用例的方法,它既考虑了输入条件的组合关系,又考虑了输出条件对输入条件的依赖关系,即因果关系,其测试用例发现错误的效率比较高。

12.白盒测试与黑盒测试最大的不同是什么?

黑盒测试不考虑程序的内部结构和处理算法。

13.数据驱动框架的原理是什么?

原理是采用了数据驱动脚本进行测试,数据驱动脚本是将数据输入存储在独立的数据文件中,脚本只存放控制信息,测试时输入直接从文件中读取,这样同一脚本可以运行于不同的测试用例中,实现了脚本与数据的分离。其优点是可以快速增加相似测试,测试者增加新的测试不必掌握测试工具语言,对此后的类似测试无额外维护开销;缺点是初始建立测试脚本的开销较大,进行数据扩展的脚本需要针对相同的测试内容并具有相同的测试逻辑。

14.什么是手工测试?什么是自动化测试?二者各有何优缺点?

手工测试(Manual Testing),顾名思义,即依靠人力来查找缺陷。一般采用黑盒测试方法,可用于集成测试、系统测试和验收测试中。

优点:测试用例的设计中,经验和对错误的判断能力是难以替代的;界面和用户验收测试中

相关文档
最新文档