欢迎来到天天文库
浏览记录
ID:56966197
大小:683.00 KB
页数:107页
时间:2020-07-22
《软件工程模型与方法 12、软件测试课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件工程模型与方法Models&MethodsofSoftwareEngineering第十二章软件测试修佳鹏本章内容12.1软件测试基础12.2软件测试方法与技术12.3软件测试过程12.4面向对象的测试方法12.5程序的静态分析方法12.6软件调试方法12.7软件测试工具12.8软件的可靠性12.1软件测试基础本节内容12.1.1软件测试概述12.1.2软件的可测试性12.1.3软件测试的对象12.1.4软件测试信息流12.1.5软件测试步骤12.1.6软件测试流程12.1.7软件测试与软件开发各阶段的关系12.1.8程序错误的分类12.1.1软件测
2、试概述软件测试是为了发现错误而执行程序的过程。软件测试在软件生存期中横跨两个阶段:单元测试综合测试软件测试的目的:测试是程序的执行过程,目的在于发现错误,而不是证明软件的正确一个好的测试用例在于能发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试。12.1.1软件测试概述软件测试的原则:应当尽早地和不断地进行软件测试测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成程序员应避免测试自己的程序在设计测试用例时,应当包括合理的输入条件和不合理的输入条件充分注意测试中的群集现象严格执行测试计划,排除测试的随意性应当对每一个测试结果做全面检
3、查妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。12.1.2软件的可测试性影响软件可测试性的因素:可操作性:运行的越好,被测试的效率越高可观察性:所看见的就是所测试的可控制性:对软件的控制越好,测试越能被自动执行与优化可分解性:通过控制测试范围,能够更快地分解问题,执行更灵巧的再测试简单性:需要测试的内容越少,测试的速度越快稳定性:改变越小,对测试的破坏越小易理解性:得到的信息越多,进行的测试越灵巧12.1.3软件测试的对象软件测试并不等于程序测试,应该贯穿于软件开发的整个期间。需求分析、概要设计、详细设计以及程序编码等各个阶段所得到
4、的文档,都应该成为测试的对象。为了把握各个环节的正确性,人们需要进行各种确认和验证工作:确认(Validation):是一系列的活动和过程,其目的是证实在一个给定的外部环境中软件的逻辑正确性。需求规格说明的确认程序的确认验证(Verification):试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。12.1.3软件测试的对象用户要求用户:我要什么?运行结果计算机:程序运行得到的结果源程序程序员:我要让计算机什么做?设计说明书设计员:我要让软件做什么?需求说明书分析员:我可以提供什么?12345理解正确性表达正确性理解正确性设计正确性
5、表达正确性理解正确性编码正确性运行正确性输入正确性相符吗?12.1.4软件测试信息流软件配置:包括软件需求规格说明、软件设计规格说明、源代码等测试配置:包括测试计划、测试用例、测试驱动程序等测试工具:测试工具为测试的实施提供某种服务。12.1.5软件测试步骤12.1.6软件测试流程理解测试需求编写测试计划设计测试方案开发测试用例执行软件测试评估测试效果编写测试文档软件测试文档《软件测试计划》:根据《系统/子系统需求规格说明》定义的软件配置项,说明测试项目、测试用例、测试人员,使软件测试能有效地管理和控制。《软件测试说明》:测试项目的具体分析,区分自动测试和
6、手工测试;构造测试平台;定义测试过程。《软件测试记录》:执行软件测试用例,记录测试结果。《软件问题报告》:软件测试的结果汇总,分析软件的质量和存在的问题,并通知开发单位。《软件问题处理报告》:开发单位根据问题处理得出的解决方法,软件重新提交测试。《软件测试报告》:是整个测试的总结性文档。12.1.7软件测试与软件开发各阶段的关系12.1.8软件错误的分类按错误的影响和后果分类:较小错误:只对系统输出有一些非实质性影响。如,输出的数据格式不合要求等。中等错误:对系统的运行有局部影响。如输出的某些数据有错误或出现冗余。较严重错误:系统的行为因错误的干扰而出现明
7、显不合情理的现象。比如开出了0.00元的支票,系统的输出完全不可信赖。严重错误:系统运行不可跟踪,一时不能掌握其规律,时好时坏。非常严重的错误:系统运行中突然停机,其原因不明,无法软启动。最严重的错误:系统运行导致环境破坏,或是造成事故,引起生命、财产的损失。12.1.8软件错误的分类按错误的性质和范围分类:(1)功能错误:规格说明错误;功能错误;测试错误;测试标准引起的错误;(2)系统错误:外部/内部接口错误;硬件结构错误;操作系统错误;软件结构错误;控制与顺序错误;资源管理错误;(3)加工错误:算术与操作错误;初始化错误;控制和次序错误;静态逻辑错误;
8、(4)数据错误:动态/静态数据错误;数据内容错误;数据结构错误;数
此文档下载收益归作者所有