第七章测试电子台_第1页
第七章测试电子台_第2页
第七章测试电子台_第3页
第七章测试电子台_第4页
第七章测试电子台_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章测试电子桌,软件工程,第7章现实,第7章测试电子桌,编码和测试。编码是一种程序,它将软件表达式翻译成计算机可以理解的形式,并用某种编程语言编写。第七章测试电子桌面,前一页,测试,软件测试非常重要,它直接影响软件的可靠性。测试的目的是在软件投入生产之前发现软件中尽可能多的错误。目前,软件测试仍然是保证软件质量的关键步骤,是对软件规范、设计和编码的最终审查。软件测试包括两个阶段,即单元测试和集成测试。在第七章中,测试电子平台、测试和软件测试的工作量往往占软件开发总工作量的40%以上。在极端情况下,与生命安全相关的软件测试成本可能相当于软件工程其他开发步骤总成本的35倍。测试的目的是发现错误,

2、但软件生产的最终目标是开发完全满足用户需求的高质量软件。第七章测试电子桌,本章主要内容,代码测试基本单元测试集成测试确认测试白盒测试技术黑盒测试技术调试软件可靠性,前一页,第七章测试电子桌,编码,编码前的一个重要任务是选择合适的编程语言,这可以减少程序测试所需的量。可以得出这样的结论:比高级语言更容易阅读和维护的程序汇编语言更容易阅读、测试、调试和维护。第7章测试电子平台和代码。在选择高级语言时,应该有标准的参考系统用户需求、可用的编译器、可用的软件工具、工程规模、程序员知识、软件可移植性和软件应用领域。第七章:测试电子桌面,编码风格,设计易于阅读的程序规则:程序内部的文档标识符:具有不同含义

3、的名称注释:帮助理解程序的可视化组织:程序列表的布局;第七章:测试电子桌,编码风格,数据描述:数据描述的顺序应该标准化,以提高效率;按字母顺序排列变量;使用注释来解释复杂的数据结构;第七章:测试电子桌,编码风格,语句结构:每个语句都应该简单直接。一些规则可以用来使语句构造变得简单,例如尽可能避免复杂的条件测试,并且为了节省空间,不要在同一行写多个语句。第7章测试电子桌面,编码风格,输入和输出输入和输出风格的输入和输出规则在设计和编写程序时应该考虑。第7章测试电子桌,编码风格,效率:处理器时间和存储容量的三个基本原则:效率是性能要求,在需求分析阶段确定的效率通过良好的设计得到提高。程序的效率与程

4、序的简单性是一致的。高效的程序运行时间:编写程序的风格对执行速度有影响。内存效率:提供内存效率。投入产出效率:提高人机沟通的效率。第七章测试电子平台,软件测试基础,前一页,软件测试阶段的根本目标是尽可能地发现和消除软件中隐藏的错误,最终给用户一个高质量的软件系统。第7章测试电子桌,软件测试的基本概念,目标,软件测试标准,测试方法,测试阶段的信息流,前一页,第7章测试电子桌,前一页,软件测试的基本概念,目标,(1)测试是执行程序以发现程序中的错误的过程。(2)一个好的测试方案是一个很有可能发现到目前为止还没有发现的错误的测试方案。(3)一个成功的测试是发现到目前为止还没有发现的错误的测试。第7章

5、测试电子桌,软件测试的定义,测试的正确定义:执行程序以发现程序中错误的过程。错误:测试是为了证明程序是正确的。测试应该由一个专门的测试团队来完成。它只能发现程序中的错误,但不能证明程序中没有错误。所有的测试都可以追溯到用户的需求。试验计划的制定应尽快开始。应该使用帕累托原理来定位误差测试。应该有一个“小”到“大”的详尽测试。独立的第三方不可能做这个测试。第七章测试电子桌,上一页,测试方法,黑盒测试是在程序界面进行的测试。它只检查程序功能是否能够按照规范正常使用,程序是否能够正确接收输入数据生成正确的输出信息,并保存外部信息(如黑盒测试也称为功能测试)。测试任何产品有两种方法:黑盒测试和白盒测试

6、。第七章测试电子平台,基本概念,前一页,白盒测试,白盒测试可以把程序当作一个透明的白盒,理解程序的结构和处理。根据程序中的逻辑测试程序,该方法检查程序中的每个通道是否能够按照预定的要求正确工作。白盒测试也被称为结构测试。在第7章,测试电子平台,前一页,测试步骤中,大型软件系统通常由几个子系统组成,而每个子系统又由许多模块组成。因此,大规模软件的测试主要包括以下步骤:1。模块测试2。子系统测试3。系统测试4。验收测试5。并行操作。第七章:测试电子平台。软件测试步骤。上一页:模块测试。模块测试的目的是确保每个模块作为一个单元能够正确运行,所以模块测试通常被称为单元测试。编码和详细设计中的错误经常在

7、这个测试步骤中被发现。第7章测试电子桌,前一页,子系统测试,子系统测试是把经过单元测试的模块放在一起,形成一个测试子系统。模块之间的协调和通信是这个测试过程中的主要问题。这一步的重点是测试模块的接口。软件测试的步骤,第七章测试电子平台,前一页,系统测试,系统测试是将被测试的子系统组装成一个完整的系统进行测试。在这个过程中,我们不仅要发现设计和编码上的错误,还要验证系统是否能够真正提供需求规范中规定的功能,并且系统的动态特性也应该满足预定的要求。软件设计中的错误经常在这个测试步骤中被发现,需求规格中的错误也可能被发现。软件测试的步骤,第7章测试电子桌面,上一页,验收测试,验收测试将软件系统作为一

8、个整体进行测试。测试内容与系统测试基本相似,但都是在用户的积极参与下进行的,可能主要使用实际数据进行测试。验收测试的目的是验证系统能否真正满足用户的需求。在这个测试步骤中经常会发现系统需求规格中的错误。软件测试的步骤,第7章测试电子平台,前一页,并行测试,所谓的并行运行就是在运行新开发的系统和旧系统的同时,为了比较新旧系统的处理结果,其优点是:(1)新系统可以在准生产环境下运行而不承担风险;(2)用户可以在一段时间内熟悉新系统;(3)可以验证用户指南和用户手册等文件;(4)新系统可以在准生产模式下进行满负荷测试,测试结果可以验证系统的性能指标。软件测试的步骤,第7章测试电子平台,测试阶段的信息

9、流,输入软件配置:需求规范,设计规范和程序列表,测试配置:测试计划和测试方案,调试和测试,发现错误后消除错误的过程,程序编辑器负责使用错误率数据估计未来错误的可靠性模型,第7章测试电子平台,上一页,测试阶段的信息流,上一页,单元测试, 测试关键代码审查计算机测试,主要内容,第7章测试电子平台,前一页,单元测试,测试关键,重要执行路径错误处理路径边界条件模块接口本地数据结构,第7章测试电子平台,前一页,单元测试注意事项,模块接口,数据流通过模块接口应先测试。 如果数据不能正常进出,所有其他测试都是不切实际的。测试接口时,主要检查以下几点:(1)参数个数和被调用的参数个数是否相等;(2)参数和变量

10、的属性是否匹配;(3)参数和变量的单位系统是否匹配;(4)传送到被调用模块的参数数量是否等于该模块的参数数量。第7章测试电子桌面,上一页,模块接口,(5)参数和参数的属性是否一致?(6)传递给被调用参数的单位系统是否与模块参数的单位系统一致?(7)传递给内部函数的参数的属性、数量和顺序是否正确?(8)参数是否仅用作修改的输入?(9)整个过程变量的定义和用法在每个模块中是否一致?单元测试的考虑第7章测试电子桌面在上一页,本地数据结构是模块的常见错误源。应仔细设计测试方案,以发现本地数据描述、初始化和默认值中的错误。本地数据结构,单元测试的考虑,第7章,测试电子平台,上一页,重要的执行路径,因为通

11、常不可能进行详尽的测试,所以选择最有代表性的执行路径是非常关键的,它最有可能在单元测试中发现错误。测试方案的设计应能发现由不正确的计算、不正确的比较或不适当的控制流引起的错误。计算中常见的错误有:(1)计算顺序错误或操作者的优先顺序被误解;(2)混合操作(操作对象类型不兼容);(3)变量初始值不正确;(4)精度不够;(5)表达的符号是错误的。单元测试注意事项,第7章测试电子平台,前一页,错误处理路径,好的设计应该能够预见错误情况,并设置适当的错误处理路径,以便执行相应的错误处理路径或在出现错误时干净利落地完成处理。错误处理路径不仅应该包含在程序中,还应该仔细测试。单元测试注意事项,第7章测试电

12、子平台,前一页,错误处理通道,在评估错误处理通道时,我们应该重点测试以下可能出现的错误:(1)错误描述难以理解;(2)记录的错误与实际遇到的错误不同;(3)在处理错误之前,错误条件已经导致系统干预;(4)错误处理不当;(5)描述错误的信息不足以帮助确定错误的位置。单元测试注意事项,第7章测试电子平台,上一页,边界条件,边界测试是单元测试中最后也可能是最重要的任务。软件经常在其边界失败。例如,当处理一个N元数组的第N个元素时,或者当在一个I-time循环中重复第I次时,错误经常发生。使用数据结构的测试方案,控制量和数据值只要小于、等于和大于最大值或最小值,就很容易在软件中发现错误。单元测试注意事

13、项,第7章测试电子桌,前一页,代码审查,手工测试源程序可以由作者自己非正式地执行。后者称为代码审查,是一种非常有效的程序验证技术。对于典型的程序,可以调查30%-70%的逻辑设计错误和编码错误。单元测试流程,第7章测试电子桌,代码审查,流程:在审查之前,设计者简要介绍设计规范和程序的设计审查。在会上,程序作者解释了如何实现设计比较程序错误列表和分析评审程序。第7章测试电子桌,代码审查,代码审查的优点:在审查会议上可以发现许多错误。同时,可以减少系统验证的工作量。人工测试和计算机测试相辅相成。第7章测试电子桌,前一页,计算机测试,该模块不是一个独立的程序,因此有必要为每个单元测试开发驱动软件和存

14、根软件。通常,驱动程序也是一个“主程序”,它接收测试数据,将数据传输到被测模块,并打印相关结果。单元测试过程,第7章测试电子桌,上一页,本小节结束,第7章测试电子桌,上一页,集成测试,从模块组装程序时有两种方法。一种是分别测试每个模块,然后根据设计要求将所有模块放在一起,形成所需的程序。这种方法称为非增量测试方法。另一种方法是将下一个要测试的模块与已经测试过的模块相结合,然后将下一个要测试的模块结合到测试之后的测试中。这种一次添加一个模块的方法称为增量测试。第7章测试电子桌,集成测试,自上而下的组合,不同集成测试策略自下而上的比较,主要内容,上一页,第7章测试电子桌,上一页,集成测试,自上而下

15、的组合,自上而下的组合方法从主控制模块开始,沿着软件的控制层向下移动,从而逐步组合各种模块。使用深度优先策略或宽度优先策略。在第一步中,测试主控制模块,并且在测试中,直接连接到主控制模块的所有模块被存根程序替换。第二步,根据选择的组合策略(深度优先或宽度优先),一次用一个实际模块替换一个存根程序。第三步是在合并更多模块的同时进行测试。在第四步中,为了确保没有新的错误被引入到添加的模块中,可能需要回归测试(即,重复所有或部分先前的测试)。第7章测试电子桌,前一页,自上而下的组合;第七章测试电子桌,自下而上组合,综合测试;上一页,自下而上的测试从“atom”模块(即软件结构底部的模块)的组装和测试

16、开始。因为模块是自下而上组合的,所以总是可以获得较低模块所需的处理功能,所以不需要存根程序。第7章测试电子平台,自下而上的组合,前一页,第7章测试电子平台,不同集成测试策略的比较,集成测试,前一页,自上而下的测试方法的主要优点是不需要测试驱动程序,可以在测试阶段的早期实现和验证系统的主要功能,并且可以在早期发现上层模块的接口错误。自顶向下测试方法的主要缺点是需要存根程序,这可能导致测试困难,低级关键模块中的错误发现较晚,并且这种方法不能在早期阶段充分部署人力。自顶向下测试方法的优点和缺点与上述自顶向下测试方法正好相反。混合方法:对于软件结构的上层,采用自顶向下的方法;对于软件结构的底层,采用自

17、下而上的方法,并将这两种方法结合起来。第七章测试电子台、验收测试、验收测试软件配置审查范围、主要内容、上一页、第七章测试电子台、验收测试、软件有效性:如果软件的功能和性能符合用户的合理预期,则软件有效。验收测试,也称为验证测试,旨在验证软件的有效性。第7章,测试电子桌,验收测试,上一页,验收测试范围,(1)一些已经测试的纯技术特性可能不需要再次测试;(2)可能有必要对用户特别感兴趣的功能或性能增加一些测试;(3)通常,生产中的实际数据主要用于测试;(4)可能需要设计和执行一些与用户使用步骤相关的测试。第七章测试电子桌、验收测试、前页、验收测试范围、验收测试一般采用黑盒测试方法。应仔细设计测试计划和测试流程,包括要执行的测试类型和时间表,测试流程规定了用于检查软件是否符合要求的测试方案。通过测试,确保软件能够满足所有功能和各项性能要求,文件准确完整。此外,软件应满足其他预定要求(如可移植性、兼容性、可靠性、安全性和可维护性等)。)。第7章测试电子桌,验收测试,上一页,验收测试的范围,验收测试有两种可能的结果:(1)功能和性能符合用户要求,软件是可接受的。(2)功能或性能与用户需求之间存在差距。第七章测试电子桌,验收

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论