当前位置:文档之家› 软件测试复习知识点

软件测试复习知识点

软件测试复习知识点熟练掌握:1.面向对象的单元测试中基于服务的测试策略2.向对象中的基于状态测试的策略3.软件测试与软件开发的关系狭义定义测试:比如“程序设计”与“测试”之间的关系,传统上总以为程序设计在先,测试在后。

这种专指测试程序代码,定义在编码之后的“测试”是一种狭义定义的测试。

广义定义测试:这种测试活动可以在软件开发生命周期的任何阶段进行。

但是,随着开发不断地进行,越到后续阶段,找出错误并改正它的代价会越大全新的软件开发模式:以测试驱动软件开发。

软件测试贯穿了整个软件开发过程,软件开发生命周期的各个阶段中都少不了相应的测试,这种思想与软件质量保证的出发点是一致的。

4.系统测试的概念及其分类;系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案。

1.用户层:①用户支持测试;②用户界面测试;③可维护测试;④安全性测试;2.应用层:①性能测试;②系统可靠性、稳定性测试;③系统兼容性测试;④系统组网测试;⑤系统安装升级测试;3.功能层:4.子系统层;5.协议/指标层;5.常见的黑盒测试用例的设计方法黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。

•在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性,如图所示。

①是否有不正确或遗漏了的功能②在接口上,能否正确地接受输入数据,能否产生正确地输出信息③访问外部信息是否有错④性能上是否满足要求⑤界面是否错误,是否不美观⑥初始化或终止错误•黑盒测试有两种基本方法,即通过测试和失败测试。

•在进行通过测试时,实际上是确认软件能做什么,而不会去考验其能力如何。

软件测试员只运用最简单,最直观的测试案例。

在设计和执行测试案例时,总是先要进行通过测试。

在进行破坏性试验之前,看一看软件基本功能是否能够实现。

这一点很重要,否则在正常使用软件时就会奇怪地发现,为什么会有那么多的软件缺陷出现?•在确信了软件正确运行之后,就可以采取各种手段通过搞“垮”软件来找出缺陷。

纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试或迫使出错测试。

黑盒测试的优点有:1)比较简单,不需要了解程序内部的代码及实现;2)与软件的内部实现无关;3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;5)在做软件自动化测试时较为方便。

黑盒测试的缺点有:1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;2)自动化测试的复用性较低。

•等价类划分方法•边界值分析方法•错误推测方法•因果图方法•判定表驱动分析方法•功能图分析方法6.常见的白盒测试的用例测试方法•白盒测试,也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。

静态分析:静态方法是指按一定步骤直接检查源代码或代码的测试方法,包括代码审查、桌面检查、代码走查等方法。

动态测试:动态测试是指按一定步骤生成测试用例并驱动被测程序运行来发现错误,包括基本路径测试、符号测试、逻辑驱动覆盖、循环测试、数据流测试等方法。

白盒测试的优点有:帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。

白盒测试的缺点有:(1)程序运行会有很多不同的路径,不可能测试所有的运行路径;(2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;(3)系统庞大时,测试开销会非常大。

7.利用等价类划分方法设计测试用例(1) 对每个输入或外部条件进行等价类划分,形成等价类表,为每一等价类规定一个唯一的编号;(2)设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;(3)设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖;8.利用逻辑覆盖方法设计测试用例•白盒测试中的逻辑覆盖方法有以下6种:1.语句覆盖:基本思想是:设计若干测试用例,运行被测程序,使程序中每个可执行语句至少执行一次。

2.判定覆盖:基本思想是:设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。

3.条件覆盖:基本思想是:设计若干测试用例,执行被测程序以后要使每个判断中每个条件的可能取值至少满足一次。

4.判定-条件覆盖:基本思想是:设计足够的测试用例,使得判断条件中的所有条件可能至少执行一次取值,同时,所有判断的可能结果至少执行一次。

5.条件组合覆盖:基本思想是:设计足够的测试用例,使得所有可能的条件取值组合至少执行一次6.路径覆盖:基本思想是:设计所有的测试用例,来覆盖程序中的所有可能的执行路径9.基本路径测试方法设计测试用例10.判定树/表法设计测试用例概念掌握11.软件测试的概念,目的,内容,方法概念:软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。

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

定义2:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程。

目的:软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。

测试可以达到很多目的,但最重要的是可以衡量正在开发的软件的质量。

内容:软件测试的基本思想⏹软件开发与软件测试⏹软件测试技术概览⏹持续的软件测试⏹软件测试的原则与经验⏹方法:按照软件测试是否执行程序而论,软件测试可以分为静态测试和动态测试;⏹按照软件测试用例的设计方法而论,软件测试可分为白盒测试法和黑盒测试法;⏹按照软件设计方法是否采用面向对象设计技术而论,软件测试又可以分为传统测试方法和面向对象测试方法;⏹其它特定环境及应用的测试12.单元测试、集成测试、系统测试、验收测试的概念、内容、过程,特征,模型等单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。

通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。

单元测试是由程序员自己来完成,最终受益的也是程序员自己。

可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。

执行单元测试,就是为了证明这段代码的行为和我们期望的一致。

单元测试的主要目的是针对编码过程中可能存在的各种错误,例如用户输入验证过程中的边界值的错误。

集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。

它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。

从这一层意义上讲,组件是指多个单元的集成聚合。

在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。

方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。

最后,将构成进程的所有模块一起测试。

集成测试主要目的是针对详细设计中可能存在的问题,尤其是检查各单元与其它程序部分之间的接口上可能存在的错误。

系统测试是将经过测试的子系统装配成一个完整系统来测试。

它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。

(常见的联调测试)系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。

系统测试主要针对[b]概要设计[/b],检查了系统作为一个整体是否有效地得到运行,例如在产品设置中是否达到了预期的高性能验收测试是部署软件之前的最后一个测试操作。

验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。

验收测试是向未来的用户表明系统能够像预定要求那样工作。

经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。

13.系统测试的各种方法的概念14.软件测试环境的概念软件测试环境就是软件运行的平台,即软件、硬件和网络的集合测试环境 = 软件 + 硬件 + 网络+ 历史数据15.功能测试的概念,方法答:功能测试是指依据产品设计规格说明完成对产品功能进行操作,以验证系统是否满足用户的功能性需求。

测试用例设计的主要方法有:等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、功能图分析方法16.静态测试、动态测试的基本概念,方法.静态测试:不执行程序代码而寻找程序代码中可能存在的缺陷或评估程序代码的过程;动态测试:通过在抽样测试数据上运行程序来检验程序的动态行为和运行结果以发现缺陷。

相关主题