软件测试测试基础知识

上传人:第*** 文档编号:56953799 上传时间:2018-10-17 格式:DOCX 页数:16 大小:53.61KB
返回 下载 相关 举报
软件测试测试基础知识_第1页
第1页 / 共16页
软件测试测试基础知识_第2页
第2页 / 共16页
软件测试测试基础知识_第3页
第3页 / 共16页
软件测试测试基础知识_第4页
第4页 / 共16页
软件测试测试基础知识_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《软件测试测试基础知识》由会员分享,可在线阅读,更多相关《软件测试测试基础知识(16页珍藏版)》请在金锄头文库上搜索。

1、1 1、测试的定义、测试的定义 软件测试是软件工程过程的一个重要阶段,是在软件升级发布之前对软件开发各阶段产 品的最终检查,是为了保证软件开发产品的正确性、完全性和一致性而检测软件错误、修 正软件错误的过程。 软件测试是: 1)程序测试是为了发现错误而执行程序的过程 2)测试是为了证明程序有错,而不是证明程序无错误; 3)一个好的测试用例是在于它能发现至今未发现的错误; 4)一个成功的测试是发现了至今未发现的错误的测试。 软件开发的目的: 是开发出实现用户需求的高质量、高性能的软件产品,而软件测试是以检查软件功能和 其他非功能特性为核心,是软件质量保证的关键,也是成功实现软件开发目标的重要保障

2、。 2 2、测试的种类、测试的种类 2.12.1 从测试方法角度分为:从测试方法角度分为: 2.1.12.1.1 黑盒测试:黑盒测试: 是功能测试、数据驱动测试或基于规格说明的测试。在不考虑程序内部结构和内部特 性的情况下,测试者依据该程序功能上的输入输出关系,或是程序的外部特性来设计和选 择测试用例,推断程序编码的正确性。 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中, 把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在 程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是 否能适当地接收输入数据而产生正确的

3、输出信息。黑盒测试着眼于程序外部结构,不考虑 内部逻辑结构,主要针对软件界面和软件功能进行测试。 1.1.等价类划分等价类划分 (1)划分等价类。 如果某个输入条件规定了取值范围或值的个数。则可确定一个合理的等价类(输入值 或数在此范围内)和两个不合理等价类(输入值或个数小于这个范围的最小值或大于这个范 围的最大值)。 如果规定了输入数据的一组值,而且程序对不同的输入值做不同的处理,则每个允 许输入值是一个合理等价类,此处还有一个不合理等价类(任何一个不允许的输入值)。 如果规定了输入数据必须遵循的规则,可确定一个合理等价类(符合规则)和若干个 不合理等价类(从各种不同角度违反规则)。 如果已

4、划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划 分为更小的等价类。 (2)确定测试用例。 为每一个等价类编号。 设计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的合理等价类。重复这步, 直到所有合理等价类被测试用例覆盖。 设计一个测试用例,使其只覆盖一个不合理等价类。 2.2.边界值分析边界值分析 使用边界值分析方法设计测试用例时一般与等价类划分结合起来。但它不是从一个等 价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选取正好等于、刚刚 大于或刚刚小于边界值的测试数据。 (1)如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用 例,同时还

5、要选择刚好越过边界值的数据作为不合理的测试用例。如输入值的范围是 1,100,可取 0,1,100,101 等值作为测试数据。 (2)如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少 1、比最大个数多 1 等情况分别设计测试用例。如,一个输入文件可包括 1-255 个记录, 则分别设计有 1 个记录、255 个记录,以及 0 个记录的输入文件的测试用例。 (3)对每个输出条件分别按照以上原则(1)或(2)确定输出值的边界情况。如,一个学生 成绩管理系统规定,只能查询 95-98 级大学生的各科成绩,可以设计测试用例,使得查询 范围内的某一届或四届学生的学生成绩,还需设计查

6、询 94 级、99 级学生成绩的测试用例 (不合理输出等价类)。 由于输出值的边界不与输入值的边界相对应,所以要检查输出值的边界不一定可能, 要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。 (4)如果程序的规格说明给出的输入或输出域是个有序集合(如顺序文件、线形表、链 表等),则应选取集合的第一个元素和最后一个元素作为测试用例。 3.3.错误推测法错误推测法 在测试程序时,人们可能根据经验或直觉推测程序中可能存在的各种错误,从而有针 对性地编写检查这些错误的测试用例,这就是错误推测法。 4.4.因果图法因果图法 等价类划分和边界值方法分析方法都只是孤立地考虑各个输入数据的测试功

7、能,而没 有考虑多个输入数据的组合引起的错误。 5.5.判断表驱动法判断表驱动法 6 6正交试验设计法正交试验设计法 7.7.功能图法功能图法 2.1.22.1.2 白盒测试:白盒测试: 是结构测试、逻辑驱动测试或基于程序的测试。测试者熟悉程序的内部结构,依据程序 模块的内部结构来设计测试用例,检测程序代码的正确性 白盒测试是结构测试,所以被测对象基本上是源程序,以程序的内部逻辑为基础设计测 试用例。 白盒测试方法:总体上分为 静态方法和动态方法两大类。 静态测试方法: 不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行 分析和测试,关键功能是检查软件的表示和描述是否一致,没

8、有冲突或者没有歧 义。 动态测试方法: 是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而 达到发现程序错误的过程。 动态测试方法分为以下几种:动态测试方法分为以下几种: 1 1、逻辑覆盖、逻辑覆盖 程序内部的逻辑覆盖程度,当程序中有循环时,覆盖每条路径是不可能的,要设计 使覆盖程度较高的或覆盖最有代表性的路径的测试用例。 (1)语句覆盖。 为了个提高发现错误的可能性,在测试时应该执行到程序中的每一个语句。语句覆盖 是指设计足够的测试用例,使被测试程序中每个语句至少执行一次。 (2)判定覆盖。 判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真” 值和

9、“假”值,从而使程序的每一个分支至少都通过一次,因此判定覆盖也称分支覆盖。 (3)条件覆盖。 条件覆盖是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少 出现一次。 (4)判定/条件测试。 该覆盖标准指设计足够的测试用例,使得判定表达式的每个条件的所有可能取值至少 出现一次,并使每个判定表达式所有可能的结果也至少出现一次。 (5)条件组合覆盖。 条件组合覆盖是比较强的覆盖标准,它是指设计足够的测试用例,使得每个判定表达 式中条件的各种可能的值的组合都至少出现一次。 (6)路径覆盖。 路径覆盖是指设计足够的测试用例,覆盖被测程序中所有可能的路径。 在实际的逻辑覆盖测试中,一般以条

10、件组合覆盖为主设计测试用例,然后再补充部分 用例,以达到路径覆盖测试标准。 2.2.循环覆盖循环覆盖 3.3.基本路径测试基本路径测试 其中运用最为广泛的是 基本路径测试法。 基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导 出基本可执行路径集合,从而设计测试用例的方法。 2.1.32.1.3 灰盒测试:灰盒测试: 是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性, 同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、 事件、标志来判断内部的运行状态, 有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如

11、果每次都通过白盒测 试来操作,效率会很低, 因此需要采取这样的一种灰盒的方法。 2.22.2 从测试发生的时间顺序分为:从测试发生的时间顺序分为: 2.2.12.2.1 单元测试:单元测试: 是对软件基本单元的测试 单元测试(模块测试)(模块测试)是:开发者编写的一小段代码,用于检验被测代码的一个很小的、 很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景) 下某个特定函数的行为。 单元测试是由程序员自己来完成由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责 任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了 证明这段代

12、码的行为和我们期望的一致。 单元测试的主要目的:是针对编码过程中可能存在的各种错误,例如用户输入验证过程中 的边界值的错误。 2.2.22.2.2 集成测试集成测试 对由个模块组装而成的系统进行测试,检查各模块间的接口和通信 集成测试(也叫组装测试,联合测试)(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两 个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组 件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成 程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块 一起测试。最后,将构成进程的

13、所有模块一起测试。 集成测试主要目的:是针对详细设计中可能存在的问题,尤其是检查各单元与其它程序部 分之间的接口上可能存在的错误。接口上可能存在的错误。 2.2.32.2.3 系统测试系统测试 系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能 提供系统方案说明书中指定功能的有效方法。 (常见的联调测试) 系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求 并且遵循系统设计。 系统测试主要针对b概要设计/b,检查了系统作为一个整体是否有效地得到运行, 例如在产品设置中是否达到了预期的高性能 2.2.42.2.4 验收测试验收测试 验证软件的功能

14、和性能及其它特性是否与用户的要求一致。 验收测试验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并 且可以让最终用户将其用于执行软件的既定功能和任务。验收测试是向未来的用户表明系 统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整 的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是 验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。 验收测试通常由业务专家或用户进行业务专家或用户进行,以确认产品能真正符合用户业务上的需要(需求)。 验收测试分为非正式验收测试非正式验收测试和正式验收测试正式验收测试两大

15、类。其中非正式验收测试包括 alpha 测 试和 beta 测试。 在 MSF 中,测试分为 2 大类:(其中(其中 MSFMSF 是什么?)是什么?) 1 覆盖测试:找出程序中的缺陷,即是否该找的地方都找了。 2使用测试:找出程序中的失败,即为什么使用不成功。 覆盖测试使用测试 单元测试配置测试 功能测试兼容性测试 检入测试强度测试 构造验证测试性能测试 回归测试文档和帮助文件测试 / 测试 3 3、测试的执行过程、测试的执行过程 测试主要由下面 6 个相互关联、相互作用的过程组成: 3.13.1 测试计划测试计划 确定各测试阶段的目标和策略。这个过程将输出测试计划,明确要完成的测试活动,评

16、 估完成活动所需要的时间和资源,设计测试组织和岗位职权,进行活动安排和资源分配, 安排跟踪和控制测试过程的活动。 3.23.2 测试设计测试设计 根据测试计划设计测试方案。测试设计过程输出的是各测试阶段使用的测试用例测试用例。测试 设计也与软件开发活动同步进行,其结果可以作为各阶段测试计划的附件提交评审。测试 设计的另一项内容是回归测试设计,即确定回归测试的用例集。对于测试用例的修订部分, 也要求进行重新评审。 测试用例(测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结 果,以便测试某个程序路径或核实是否满足某个特定需求。指对一项特定的软件产品进行 测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输 入数据、测试步骤、预期结果、测试脚本等,并形成文档。测试用例构成了设计和制定测 试过程的基础。 编制测试用例的具体做法: 1)测试用例文档 2)测试用例的设置 3)设计测试用例 测试用例在软件测试中的作用: 1)指导测试的实施。测试用例主要适用于集成测试、系统测试和回

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号