软件工程-软件测试.ppt
上传人:sy****28 上传时间:2024-09-14 格式:PPT 页数:152 大小:2.4MB 金币:18 举报 版权申诉
预览加载中,请您耐心等待几秒...

软件工程-软件测试.ppt

软件工程-软件测试.ppt

预览

免费试读已结束,剩余 142 页请下载文档后查看

18 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十二章软件测试引言本章提要软件测试在软件生命周期中横跨两个阶段。编码和单元测试通常在编写出每个模块之后就对它做必要的测试(称为单元测试),模块的编写者和测试者是同一个人,属于软件生命周期的同一个阶段。综合测试等其它测试在单元测试结束之后,对软件系统还应该进行各种综合测试,这是软件生命周期中的另一个独立的阶段,通常由专门的测试人员承担这项工作。大量统计资料表明,软件测试的工作量往往占软件开发总工作量的40%以上,在极端情况,测试那种关系人的生命安全的软件所花费的成本,可能相当于软件工程其他步骤总成本的3~5倍。因此,必须高度重视软件测试工作,绝不要以为写出程序之后软件开发工作就接近完成了,实际上,大约还有同样多的开发工作量需要完成。仅就测试而言,它的目标是发现软件中的错误,但是,发现错误并不是我们的最终目的。软件工程的根本目标是开发出高质量的完全符合用户需要的软件,因此,通过测试发现错误之后还必须诊断并改正错误,这就是调试的目的。调试是测试阶段最困难的工作。在对测试结果进行收集和评价的时候,软件所达到的可靠性也开始明朗了。测试的定义G.J.Myers在他的名著《软件测试技巧》一书中,给出测试是为了发现错误而执行的程序的过程。测试(testing)的目的与任务目的:发现程序的错误任务:通过执行程序,暴露潜在的错误纠错(debugging)的目的与任务目的:定位和纠正错误任务:消除软件故障,保证程序的可靠运行测试更全面的测试与纠错流程图测试活动的输入软件配置软件需求规格说明、软件设计规格说明、源代码等;测试配置测试计划、测试用例、测试程序等;测试工具测试数据自动生成程序、静态分析程序、动态分析程序、测试结果分析程序、以及驱动测试的测试数据库等等。测试的特性挑剔性抱着为证明程序有错的目的去测试复杂性设计合适的测试用例需要细致和高度技巧不彻底性Dijkstra一句名言:“程序测试只能证明错误的存在,但不能证明错误不存在”穷举测试既不可能也不可取经济性选择典型的测试用例进行适当的测试不可随意提高测试的等级测试的种类测试的文档测试计划测试项目的名称各项测试的目的、步骤和进度测试用例的设计测试报告测试项目名称实测结果与期望结果的比较发现的问题测试达到的效果测试用例={测试数据+期望结果}测试方案与软件可靠性有关(1)测试除了发现软件故障,还要检查软件是否满足了用户的需求。从用户的角度看,用户需求没有满足是最大的错误(2)应该尽早准备测试计划,一般来说做完详细设计,就应该准备测试计划(3)应该用不同的程序员进行测试。程序编写者只能算程序的调试者,程序员调试程序应看作编码的一部分,而不是真正的测试(4)相信大部分软件错误集中在少数程序模块中,特别是那些难以理解的模块(5)穷举测试是不可能的,因此在准备测试计划时要很好地设计测试用例右图表示了包含4个选择分支和一个至多重复20次的循环该测试包括51+52+……+520=1014次测试(6)严格执行测试计划,排除测试的随意性。(7)应当对每一个测试结果做全面检查。(8)妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如,数据库或文件)的完整性。黑盒测试又称为功能测试黑盒测试法分为:等价分类法边界值分析法错误猜测法因果图法黑盒测试力图发现下述类型的错误:①功能不正确或遗漏了功能;②界面错误;③数据结构错误或外部数据库访问错误;④性能错误;⑤初始化和终止错误。白盒测试在测试过程的早期阶段进行,而黑盒测试主要用于测试过程的后期。黑盒测试故意不考虑程序的控制结构,而把注意力集中于信息域。基本方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。设计测试用例要经历划分等价类(列出等价类表)选取测试用例划分等价类等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。等价类的划分有两种不同的情况:有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。划分等价类等价类的方法(