欢迎来到天天文库
浏览记录
ID:6390689
大小:1.20 MB
页数:20页
时间:2018-01-12
《第六章 软件工程.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第6章软件测试方法•软件测试的基本概念•白盒测试的测试用例设计•基本路径测试•黑盒测试的测试用例设计•软件测试的策略•人工测试•调试6.1软件测试的基本概念•什么是软件测试Ø软件测试是在软件投入生产性运行之前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量控制的关键步骤。Ø软件测试是为了发现错误而执行程序的过程。Ø或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。软件测试的目的和原则基于不同的立场,存在着两种完全不同的测试目的。Ø从用户的角度出发
2、,普遍希望通过软件测试检验软件中隐藏的错误和缺陷,以考虑是否可以接受该产品。Ø从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。GrenfordJ.Myers就软件测试目的提出了以下观点。•测试是程序的执行过程,目的在于发现错误。•好的测试用例在于能发现至今未发现的错误。•成功的测试是发现了至今未发现的错误的测试。根据以上测试目的,软件测试的原则如下:(1)应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。(2)测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。(3)程序
3、员应避免检查自己的程序。(4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(5)充分注意测试中的群集现象。把Pareto原理应用于软件测试。Pareto原理:测试发现的错误中的80%很可能是由程序中20%的模块造成的。(6)严格执行测试计划,排除测试的随意性。(7)应当对每一个测试结果作全面检查。(8)妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。测试工作量和测试人员:•在整个软件开发中,测试工作量一般占30%~40%,甚至≥50%。•在人命关天的软件(如飞机控制、核反应堆等)中,测试所花费的时间往往是其它软件工程活动时间之和的三到五倍
4、。Windows2000开发人员中:•项目经理约250人•开发人员约1700人•测试人员约3200人•软件测试的对象软件测试应贯穿于软件定义与开发的整个期间。需求分析、概要设计、详细设计、程序编码等各阶段所得到的文档资料,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象。到程序的测试为止,软件开发工作已经经历了许多环节,每个环节都可能发生问题。为了把握各个环节的正确性,人们需要进行各种确认和验证工作。确认(validation),是一系列的活动和过程,其目的是想证实在一个给定的外部环境中软件的逻辑正确性。它包括需求规格说明的确认和程序的
5、确认,而程序的确认又分为静态确认与动态确认。验证(verification),则试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。下图为软件生存期各个重要阶段之间所要保持的正确性。测试方法与技术机器测试与人工测试机器测试:在设定的测试数据上执行被测程序的过程。又称动态测试。人工测试:采用人工方法进行,目的在于检查程序的静态结构,找出编译不能发现的错误。人工测试的分类代码审查:以小组会的形式,发现程序在结构、功能、编码风格等方面存在的问题。可查出30%~70%的错误走查:以小组会的形式进行,把测试数据“输入”到被测程序,并在纸上跟踪监视程序的执行情况,让人
6、代替机器沿着程序的逻辑走一遍。桌前检查:设计模块时,程序员自己检查。机器测试的分类–黑盒测试–白盒测试测试信息流如下图所示。•测试与软件开发各阶段的关系软件开发过程是一个自顶向下、逐步细化的过程,而测试过程则是依相反的顺序安排的自底向上、逐步集成的过程。低一级测试为上一级测试准备条件。当然不排除两者平行地进行测试。•黑盒测试黑盒测试是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。黑盒测试方法主要是为了发现以下错误:Ø是否有不正确或遗漏了的功能?Ø输入能否正确地接收?Ø能否输出正确的结
7、果?Ø是否有数据结构错误或外部信息(例如数据文件)访问错误?Ø性能上是否能够满足要求?Ø是否有初始化或终止性错误?黑盒穷举测试对所有输入数据的各种可能值的排列组合都进行测试,来检查程序是否都能产生正确的输出。实际上这是不可能的。n假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试:n可能采用的测试数据组:232×232=264n如果测试一组数据需要1毫秒,一年工作365×24小时,完成所有测试需5亿年。2.白盒测试白盒测试主要是对程序模块进行检查:Ø对程序模
此文档下载收益归作者所有