软件工程-软件测试

上传人:cjc****537 文档编号:49799551 上传时间:2018-08-03 格式:PPT 页数:209 大小:1.77MB
返回 下载 相关 举报
软件工程-软件测试_第1页
第1页 / 共209页
软件工程-软件测试_第2页
第2页 / 共209页
软件工程-软件测试_第3页
第3页 / 共209页
软件工程-软件测试_第4页
第4页 / 共209页
软件工程-软件测试_第5页
第5页 / 共209页
点击查看更多>>
资源描述

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

1、 软件测试的目的和原则软件测试的目的和原则软件测试用例设计软件测试用例设计软件测试策略软件测试策略软件测试种类软件测试种类程序调试程序调试1软件测试的目的和原则软件测试的目的和原则n n软件测试的目的软件测试的目的n n软件测试的原则软件测试的原则n n软件测试的对象软件测试的对象n n测试信息流测试信息流n n测试与软件开发各阶段的关系测试与软件开发各阶段的关系2软件测试的目的软件测试的目的n n基于不同的立场,存在着两种完全基于不同的立场,存在着两种完全 不同的测试目的。不同的测试目的。n n从从用户的角度用户的角度出发,普遍希望通过出发,普遍希望通过 软件测试软件测试暴露软件中隐藏的错误

2、和暴露软件中隐藏的错误和 缺陷缺陷,以考虑是否可接受该产品。,以考虑是否可接受该产品。n n从从软件开发者的角度软件开发者的角度出发,则希望出发,则希望 测试成为测试成为表明软件产品中不存在错表明软件产品中不存在错 误误的过程,验证该软件已正确地实的过程,验证该软件已正确地实 现了用户的要求,确立人们对软件现了用户的要求,确立人们对软件 质量的信心。质量的信心。3MyersMyers软件测试目的软件测试目的(1) (1) 测试是测试是程序的执行过程程序的执行过程,目的,目的 在于在于发现错误发现错误; (2) (2) 一个好的测试用例在于一个好的测试用例在于能发现能发现 至今未发现的错误至今未

3、发现的错误; (3) (3) 一个成功的测试是一个成功的测试是发现了至今发现了至今 未发现的错误的测试未发现的错误的测试。42.软件测试的目的为为了发现错误发现错误 ,并尽可能地为为修正错误错误 提供更多的信息。 为为了证证明软软件有错误错误 ,而不是证证明软软件 没有错误错误 。缺陷测试的“成败”就在于能否发现错误!5n n换言之,测试的目的是换言之,测试的目的是uu 想以最少的时间和人力,想以最少的时间和人力,系统地找系统地找 出软件中潜在的各种错误和缺陷出软件中潜在的各种错误和缺陷。 如果我们成功地实施了测试,我们如果我们成功地实施了测试,我们 就能够发现软件中的错误。就能够发现软件中的

4、错误。uu 测试的附带收获是,它测试的附带收获是,它能够证明软能够证明软 件的功能和性能与需求说明相符合件的功能和性能与需求说明相符合 。uu 实施测试收集到的测试结果数据为实施测试收集到的测试结果数据为 可靠性分析提供了依据。可靠性分析提供了依据。uu 测试不能表明软件中不存在错误,测试不能表明软件中不存在错误, 它只能说明软件中存在错误。它只能说明软件中存在错误。63.3.软件测试的认识误区软件测试的认识误区n n测试是开发后期的一个阶段测试是开发后期的一个阶段n n软件测试技术要求不高,比编程容易多了软件测试技术要求不高,比编程容易多了n n软件测试就是运行一下软件,看看结果对不对软件测

5、试就是运行一下软件,看看结果对不对 。n n软件测试是测试人员的事软件测试是测试人员的事, ,与开发人员无关。与开发人员无关。n n软件自动测试效率高,将取代软件手工测试。软件自动测试效率高,将取代软件手工测试。千万不要将“测试”与“调试”混为一谈!7测试 (test) 调试 (debug)以已知条件开始, 使用预先定义的程序, 有预知的结果以不可知内部条件 开始,结果一般不可 预见有计划被动的由独立的测试组,在 不了解软件设计的条 件下完成由程序作者进行发现错误找出错误位置,排除8软件测试的原则软件测试的原则1. 1. 应当把应当把“ “尽早地和不断地进行软尽早地和不断地进行软 件测试件测试

6、” ”作为软件开发者的座右作为软件开发者的座右 铭。铭。 2. 2. 测试用例应由测试用例应由测试输入数据测试输入数据和对和对 应的应的预期输出结果预期输出结果这两部分组成这两部分组成 。 3. 3. 程序员应避免检查自己的程序。程序员应避免检查自己的程序。 4. 4. 在设计测试用例时,应包括在设计测试用例时,应包括合理合理 的输入条件的输入条件和和不合理的输入条件不合理的输入条件 。95. 5. 充分注意测试中的群集现象。充分注意测试中的群集现象。 经验表明,经验表明,测试后测试后程序中残存的程序中残存的 错误数目与该程序中已发现的错错误数目与该程序中已发现的错 误数目成正比误数目成正比。

7、 6. 6. 严格执行测试计划,严格执行测试计划,排除测试的排除测试的 随意性随意性。 7. 7. 应当对每一个测试结果做全面检应当对每一个测试结果做全面检 查。查。 8. 8. 妥善保存测试计划,测试用例,妥善保存测试计划,测试用例, 出错统计和最终分析报告,为维出错统计和最终分析报告,为维 护提供方便。护提供方便。10n n所有的测试都应追溯到用户需求;所有的测试都应追溯到用户需求;n nBugBug的的80-2080-20原则:测试发现的错误中原则:测试发现的错误中80%80%很很 可能起源于可能起源于20%20%的模块中;的模块中;n n穷举测试是不可能的;穷举测试是不可能的;n n程

8、序修改后要回归测试。程序修改后要回归测试。n n应由独立的第三方来构造测试。(开发和测应由独立的第三方来构造测试。(开发和测 试队伍分别建立)试队伍分别建立)11测试的方法与分类测试的方法与分类手工测试自动测试静态测试动态测试黑盒测试白盒测试单元测试集成测试系统测试验收测试12软件测试的对象软件测试的对象n n软件测试并不等于程序测试。软件测试并不等于程序测试。软件软件 测试应贯穿于软件定义与开发的整测试应贯穿于软件定义与开发的整 个期间个期间。n n需求分析需求分析、概要设计概要设计、详细设计以详细设计以 及程序编码及程序编码等各阶段所得到的等各阶段所得到的文档文档 ,包括需求规格说明、概要

9、设计规,包括需求规格说明、概要设计规 格说明、详细设计规格说明以及源格说明、详细设计规格说明以及源 程序,程序,都应成为软件测试的对象都应成为软件测试的对象。13n n为把握软件开发各个环节的正确性为把握软件开发各个环节的正确性 ,需要进行各种,需要进行各种确认确认和和验证验证工作。工作。n n确认确认( (ValidationValidation) ),是一系列的活动是一系列的活动 和过程,目的是想证实在一个给定和过程,目的是想证实在一个给定 的外部环境中软件的逻辑正确性。的外部环境中软件的逻辑正确性。uu 需求规格说明确认需求规格说明确认uu 程序确认程序确认 ( (静态确认、动态确静态确

10、认、动态确 认认) ) n n验证验证( (VerificationVerification) ),试图证明在软试图证明在软 件生存期各个阶段,以及阶段间的件生存期各个阶段,以及阶段间的 逻辑协调性、完备性和正确性。逻辑协调性、完备性和正确性。1415测试信息流测试信息流16测试信息流测试信息流n n软件配置软件配置:软件需求规格说明、:软件需求规格说明、 软件设计规格说明、源代码等;软件设计规格说明、源代码等;n n测试配置测试配置:测试计划、测试用例:测试计划、测试用例 、测试程序等;、测试程序等;n n测试工具测试工具:测试数据自动生成程:测试数据自动生成程 序、静态分析程序、动态分析程

11、序、静态分析程序、动态分析程 序、测试结果分析程序、以及驱序、测试结果分析程序、以及驱 动测试的测试数据库等等。动测试的测试数据库等等。17n n测试结果分析测试结果分析:比较实测结果:比较实测结果 与预期结果,评价错误是否发与预期结果,评价错误是否发 生。生。n n排错排错( (调试调试) ):对已经发现的错误:对已经发现的错误 进行错误定位和确定出错性质进行错误定位和确定出错性质 ,并改正这些错误,同时修改,并改正这些错误,同时修改 相关的文档。相关的文档。n n修正后的文档再测试修正后的文档再测试:直到通:直到通 过测试为止。过测试为止。18n n通过收集和分析测试结果数据,对通过收集和

12、分析测试结果数据,对 软件建立可靠性模型软件建立可靠性模型n n利用可靠性分析,评价软件质量:利用可靠性分析,评价软件质量:uu 软件的质量和可靠性达到可以接软件的质量和可靠性达到可以接 受的程度;受的程度;uu 所做的测试不足以发现严重的错所做的测试不足以发现严重的错 误;误;n n如果测试发现不了错误,可以肯定如果测试发现不了错误,可以肯定 ,测试配置考虑得不够细致充分,测试配置考虑得不够细致充分, 错误仍然潜伏在软件中。错误仍然潜伏在软件中。19测试与软件开发各阶段的关系测试与软件开发各阶段的关系n n软件开发过程是一个自顶向下,软件开发过程是一个自顶向下, 逐步细化的过程逐步细化的过程

13、n n软件计划阶段定义软件作用域软件计划阶段定义软件作用域n n软件需求分析建立软件信息域、软件需求分析建立软件信息域、 功能和性能需求、约束等功能和性能需求、约束等n n软件设计软件设计n n把设计用某种程序设计语言转换把设计用某种程序设计语言转换 成程序代码成程序代码20n n测试过程是依相反顺序安排的自测试过程是依相反顺序安排的自 底向上,逐步集成的过程。底向上,逐步集成的过程。21软件测试与开发的阶段关系软件测试与开发的阶段关系需求文档验收测试设计规格系统测试框架设计集成测试详细设计单元测试软件编码程序/测试人员测试人员测试人员用户/ 测试人员程序员22测试用例设计测试用例设计n n两

14、种常用的测试方法两种常用的测试方法uu 黑盒测试黑盒测试uu 白盒测试白盒测试23黑盒测试黑盒测试n n这种方法是把这种方法是把测试对象测试对象看做看做一个一个 黑盒子黑盒子,测试人员完全不考虑程,测试人员完全不考虑程 序内部的逻辑结构和内部特性,序内部的逻辑结构和内部特性, 只依据程序的需求规格说明书,只依据程序的需求规格说明书, 检查程序的功能是否符合它的功检查程序的功能是否符合它的功 能说明。能说明。n n黑盒测试又叫做黑盒测试又叫做功能测试功能测试或或数据数据 驱动测试驱动测试。24黑盒测试需求 说明产生被测程序测试结果输出比较测试用例25n n黑盒测试方法是在程序接口上进黑盒测试方法

15、是在程序接口上进 行测试,主要是为了发现以下错行测试,主要是为了发现以下错 误误: :uu 是否有不正确或遗漏了的功能是否有不正确或遗漏了的功能? ?uu 在接口上,在接口上,输入能否正确地接输入能否正确地接 受受? ? 能否输出正确的结果能否输出正确的结果? ?uu 是否有数据结构错误或外部信是否有数据结构错误或外部信 息息( (例如数据文件例如数据文件) )访问错误访问错误? ?uu 性能上是否能够满足要求性能上是否能够满足要求? ?uu 是否有初始化或终止性错误是否有初始化或终止性错误? ? 26n n用黑盒测试发现程序中的错误,用黑盒测试发现程序中的错误, 必须在必须在所有可能的输入条

16、件和输所有可能的输入条件和输 出条件出条件中确定测试数据,来检查中确定测试数据,来检查 程序是否都能产生正确的输出。程序是否都能产生正确的输出。n n但这是但这是不可能不可能的。的。27n n假设一个假设一个程序程序P P有有输入量输入量X X和和Y Y及及输输 出量出量Z Z。在字长为在字长为3232位的计算机上位的计算机上 运行。若运行。若X X、Y Y取整数,按黑盒方取整数,按黑盒方 法进行穷举测试:法进行穷举测试:n n可能采用的可能采用的测试数据组:测试数据组:2 23232 2 232322 26464n n如果测试一组数据需要如果测试一组数据需要1 1毫秒,一毫秒,一 年工作年工作365365 24 24小时,完成所有测小时,完成所有测 试需试需5 5亿年。亿年。28黑盒测试黑盒测试n n黑盒测试的方法:黑盒测试的方法:uu等价类测试等价类测试uu边界值测试边界值测试uu基于决策表的测试基于决策表的测试uu错误推测法错误推测法29白盒测试白盒测试n n此方法此方法把测

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 计算机应用/办公自动化

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