软件测试培训教程.ppt

上传人:p** 文档编号:187148 上传时间:2023-04-06 格式:PPT 页数:99 大小:1.02MB
下载 相关 举报
软件测试培训教程.ppt_第1页
第1页 / 共99页
软件测试培训教程.ppt_第2页
第2页 / 共99页
软件测试培训教程.ppt_第3页
第3页 / 共99页
软件测试培训教程.ppt_第4页
第4页 / 共99页
软件测试培训教程.ppt_第5页
第5页 / 共99页
软件测试培训教程.ppt_第6页
第6页 / 共99页
软件测试培训教程.ppt_第7页
第7页 / 共99页
软件测试培训教程.ppt_第8页
第8页 / 共99页
软件测试培训教程.ppt_第9页
第9页 / 共99页
软件测试培训教程.ppt_第10页
第10页 / 共99页
亲,该文档总共99页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件测试培训教程.ppt》由会员分享,可在线阅读,更多相关《软件测试培训教程.ppt(99页珍藏版)》请在第壹文秘上搜索。

1、软件测试的目标与原则软件测试的目标与原则Myers在其软件测试著作中对软件测试的目标提在其软件测试著作中对软件测试的目标提出以下观点:出以下观点: 软件测试是为了发现错误而运行程序的过程;软件测试是为了发现错误而运行程序的过程; 一个好的测试用例能够发现至今尚未发现的一个好的测试用例能够发现至今尚未发现的 错误;错误; 一个成功的测试是发现了至今尚未发现的错一个成功的测试是发现了至今尚未发现的错 误的测试。误的测试。软件测试的步骤软件测试的步骤q 在本书中,从软件工程的角度:在本书中,从软件工程的角度:将单元测试与详细设计对应起来,即在详细设计阶段就应将单元测试与详细设计对应起来,即在详细设计

2、阶段就应制定出单元测试计划;制定出单元测试计划;而集成测试又称为综合测试,可以把概要设计和集成测试而集成测试又称为综合测试,可以把概要设计和集成测试对应起来,在概要设计阶段就可以制定集成测试计划;对应起来,在概要设计阶段就可以制定集成测试计划;将功能测试、性能(行为)测试、验收测试统称为验收测将功能测试、性能(行为)测试、验收测试统称为验收测试(也称确认测试),与软件系统需求分析阶段对应起来,试(也称确认测试),与软件系统需求分析阶段对应起来,在需求分析阶段就应制定出验收准则和验收测试计划,验在需求分析阶段就应制定出验收准则和验收测试计划,验收测试应提交经用户确认的软件产品;收测试应提交经用户

3、确认的软件产品;最后,将软件、硬件等要素构成一个完整的基于计算机的最后,将软件、硬件等要素构成一个完整的基于计算机的系统,再进行系统测试,使系统测试与系统定义相对应,系统,再进行系统测试,使系统测试与系统定义相对应,即在系统定义阶段就应制定系统测试计划。即在系统定义阶段就应制定系统测试计划。软件测试的步骤软件测试的步骤测试步骤测试步骤部件部件代码代码部件部件代码代码单元测试单元测试单元测试单元测试单元测试单元测试部件部件代码代码集成测试集成测试功能测试功能测试性能测试性能测试验收测试验收测试安装测试安装测试设计设计规格说明规格说明系统系统功能需求功能需求其他其他软件需求软件需求用户需求用户需求

4、规格说明规格说明用户用户环境环境集成后集成后的模块的模块功能功能系统系统验证,验证,生效的生效的软件软件被接受被接受的系统的系统在使用中的系统在使用中的系统测试后测试后的模块的模块软件测试的步骤软件测试的步骤软件工程的开发与测试的关系软件工程的开发与测试的关系系统工程系统工程需求分析需求分析概要设计概要设计设计、编码设计、编码单元测试单元测试集成测试集成测试验收测试验收测试系统测试系统测试测试阶段的信息流测试阶段的信息流测试阶段的信息流测试阶段的信息流测试测试评价评价排错排错可靠性可靠性模型模型软件配置软件配置测试配置测试配置测试结果测试结果错误错误错误统计错误统计预期结果预期结果正确的程序正

5、确的程序可靠性预测可靠性预测14.1.3 测试阶段的信息流测试阶段的信息流q测试的输入流有软件配置和测试配置。测试的输入流有软件配置和测试配置。软件配置由需求规格说明、设计说明、源软件配置由需求规格说明、设计说明、源代码等组成;代码等组成;测试配置包括测试计划、测试用例(其中测试配置包括测试计划、测试用例(其中包括预期的结果)、测试工具等组成。包括预期的结果)、测试工具等组成。 测试结果评价测试结果评价经常发现严重的错误并需要修改软件,经常发现严重的错误并需要修改软件,则软件的质量和可靠性一定不高,需要则软件的质量和可靠性一定不高,需要进一步测试;进一步测试;如果测试所发现的错误不多且易于改正

6、,如果测试所发现的错误不多且易于改正,软件功能看起来也较完善,则需考虑两软件功能看起来也较完善,则需考虑两种可能:种可能:1)软件质量和可靠性确实令人满意;)软件质量和可靠性确实令人满意;2)测试不全面,很可能还潜伏着严重错误;)测试不全面,很可能还潜伏着严重错误;如果测试过程没有发现任何错误,则很如果测试过程没有发现任何错误,则很有可能是测试配置不合理。有可能是测试配置不合理。软件测试中常见的错误类型软件测试中常见的错误类型按照错误的影响和造成的后果进行分类,按照错误的影响和造成的后果进行分类,可分为:较小错误,中等错误,较严重可分为:较小错误,中等错误,较严重错误,严重错误,非常严重的错误

7、,最错误,严重错误,非常严重的错误,最严重的错误。严重的错误。按照软件生存周期各个阶段分类,可分按照软件生存周期各个阶段分类,可分为:问题定义错误、需求分析规格说明为:问题定义错误、需求分析规格说明错误、设计错误、编码错误等等。错误、设计错误、编码错误等等。这里重点介绍一种按照错误的性质和范这里重点介绍一种按照错误的性质和范围进行分类的方法,可以将错误分为如围进行分类的方法,可以将错误分为如下几类:下几类:按照错误的性质和范围进行分类按照错误的性质和范围进行分类1功能错误功能错误 需求规格说明错误。主要是指其中有需求规格说明错误。主要是指其中有错误、多余或遗漏的功能,有二义性错误、多余或遗漏的

8、功能,有二义性或自相矛盾。或自相矛盾。设计实现错误。设计或实现的功能不设计实现错误。设计或实现的功能不是规格说明或用户所要求的功能。是规格说明或用户所要求的功能。按照错误的性质和范围进行分类按照错误的性质和范围进行分类2系统错误系统错误 外部接口错误。如与打印机的接口错误。外部接口错误。如与打印机的接口错误。内部接口错误。指各程序模块间的联系存在错内部接口错误。指各程序模块间的联系存在错误。如输入误。如输入/输出、数据保护、子程序访问等。输出、数据保护、子程序访问等。硬件结构错误。如错误地理解硬件结构错误。如错误地理解I/O指令、中断指令、中断处理、设备启动和初始化等而引起的错误。处理、设备启

9、动和初始化等而引起的错误。软件结构错误。由于软件结构不合理或不清晰软件结构错误。由于软件结构不合理或不清晰所引起的错误。往往在系统满载时才能发现。所引起的错误。往往在系统满载时才能发现。操作系统错误。该类错误是由于不了解操作系操作系统错误。该类错误是由于不了解操作系统而引起的,操作系统本身也有错误。统而引起的,操作系统本身也有错误。控制与顺序错误。包括事件的时间顺序不正确、控制与顺序错误。包括事件的时间顺序不正确、等待一个不可能发生的事件等等。等待一个不可能发生的事件等等。资源管理错误。既资源使用不当。资源死锁等。资源管理错误。既资源使用不当。资源死锁等。按照错误的性质和范围进行分类按照错误的

10、性质和范围进行分类3加工错误(算法错误)加工错误(算法错误)计算与操作错误。指计算、函数求值和一般计算与操作错误。指计算、函数求值和一般操作过程中的错误。操作过程中的错误。初始化错误。如忘记了初始化工作区、数据初始化错误。如忘记了初始化工作区、数据区,错误地对循环变量赋初值,不正确的初区,错误地对循环变量赋初值,不正确的初始化等等。始化等等。局部控制和次序错误。如遗漏路径、不可达局部控制和次序错误。如遗漏路径、不可达到的代码段、循环嵌套或终止条件不正确、到的代码段、循环嵌套或终止条件不正确、死循环等等。死循环等等。逻辑错误。如多分支、判断条件不正确等。逻辑错误。如多分支、判断条件不正确等。按照

11、错误的性质和范围进行分类按照错误的性质和范围进行分类4数据错误数据错误 动态数据错误。动态数据错误。静态数据错误。静态数据指直接或间接地出现静态数据错误。静态数据指直接或间接地出现在程序或数据库中的数据,其内容和格式都是在程序或数据库中的数据,其内容和格式都是固定的。因此在内容或格式上都可能存在错误。固定的。因此在内容或格式上都可能存在错误。数据内容错误。是指由于内容被破坏或被错误数据内容错误。是指由于内容被破坏或被错误地解释而造成的错误。地解释而造成的错误。数据结构错误。包括数据结构说明错误和数据数据结构错误。包括数据结构说明错误和数据结构使用错误。结构使用错误。数据属性错误。数据属性是指数

12、据内容的含义数据属性错误。数据属性是指数据内容的含义或语义,如整数、字符等。数据属性错误是指或语义,如整数、字符等。数据属性错误是指对数据属性的错误解释和错误使用而导致的错对数据属性的错误解释和错误使用而导致的错误。误。按照错误的性质和范围进行分类按照错误的性质和范围进行分类5代码错误代码错误 代码错误主要包括语法错误、键入错误、代码错误主要包括语法错误、键入错误、对语句的理解错误等。对语句的理解错误等。 例如,例如,Myers(1976)指出,美国第一个)指出,美国第一个去金星的太空任务的失败是由于在一个去金星的太空任务的失败是由于在一个Fortran do循环中缺少一个逗号。循环中缺少一个

13、逗号。软件测试的常用方法软件测试的常用方法1静态测试静态测试q静态测试是采用人工检测和计算机辅助静态分静态测试是采用人工检测和计算机辅助静态分析的方法对程序进行检测。析的方法对程序进行检测。人工检测是指靠人工走查程序或评审软件。这人工检测是指靠人工走查程序或评审软件。这种走查与评审主要针对编码的质量和软件开发种走查与评审主要针对编码的质量和软件开发各个阶段的文档,特别是总体设计和详细设计各个阶段的文档,特别是总体设计和详细设计阶段的错误。能发现阶段的错误。能发现30%70%的逻辑设计和的逻辑设计和编码错误。编码错误。计算机辅助静态分析是指利用静态分析软件工计算机辅助静态分析是指利用静态分析软件

14、工具对程序进行静态分析,主要检测变量是否用具对程序进行静态分析,主要检测变量是否用错、参数是否匹配、循环嵌套是否有错、是否错、参数是否匹配、循环嵌套是否有错、是否有死循环和永远执行不到的死代码等等。同时,有死循环和永远执行不到的死代码等等。同时,它还可对程序的特性进行分析。它还可对程序的特性进行分析。软件测试的常用方法软件测试的常用方法2动态测试动态测试 动态测试是指事先设计好一组测试用例,动态测试是指事先设计好一组测试用例,然后通过运行程序来发现错误。然后通过运行程序来发现错误。动态测试有两种测试方法:动态测试有两种测试方法: 黑盒测试;黑盒测试; 白盒测试。白盒测试。用黑盒法测试时,必须在

15、所有可能的输入条件和输出条件中确定测试数据。是否要对每个数据都进行穷举测试呢? 例如测试一个程序,需输入 3 个整数值。微机上,每个整数可能取值有216个,3个整数值的排列组合数为216216216=24831014。假设此程序执行一次为1毫秒,用这些所有的数据去测试要用1万年!但这还不能算穷举测试,还要输入一切不合法的数据。可见,穷举地输入测试数据进行黑盒测试是不可能的。白盒测试又称为结构测试或逻辑驱动测试,此方法是将测试对象比作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构和相关信息来设计或选择测试用例,对穿过软件的逻辑路径进行测试,可以在不同点检查程序的状态,以确定实际状态与预期状

16、态是否一致。表面看来,白盒测试是可以进行完全的测试的,从理论上讲也应该如此。只要能确定测试模块的所有逻辑路径,并为每一条逻辑路径设计测试用例,并评价所得到的结果,就可得到100%正确的程序。但实际测试中,这种穷举法是无法实现的,因为即使是很小的程序,也可能会出现数目惊人的逻辑路径。如图所示是一个小程序的流程图。循环小于等于20次 图中,一个圆圈代表一行源程序代码(或一个语句块)。其中有五条通路,左边曲线箭头表示执行次数不超过20次循环。这样的执行路径就有520个,近似为1014个可能的路径。如果1 ms完成一个测试,由此测试程序需3170年。 由此看出,即使精确地实现了白盒测试,也不能断言测试过的程序全正确,因为实行穷举测试,由于工作量过大,需用时间过长,实施起来是不现实的。这就是程序测试的经济学问题。既然在测试阶段穷举法测试是不可行的,那么为了节省时间和资源,提高测试效率,就必须精心设计测试用例。需从大量的可用测试用例中精选出少量的测试数据,使得采用这些测试数据能够达到最佳的测试效果,即能高效地、尽可能多地发现隐藏的错误。测试只能发现错误,并不能保证程序没有错误。测试用例测试用例为了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 软件测试

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!