欢迎来到天天文库
浏览记录
ID:54369069
大小:354.50 KB
页数:44页
时间:2020-05-01
《软件工程(第3版).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1第8章软件测试本章主要内容软件测试的概念软件测试的方法软件测试的步骤传统软件和面向对象软件的测试问题2第8章软件测试本章结构:8.1软件测试概述8.2软件测试方法8.3测试用例设计8.4软件测试的步骤8.5软件测试工具简介8.6调试8.7面向对象软件测试简述38.1软件测试概述8.1.1软件测试的目标测试阶段的根本目标是以最少的人力、物力和时间,尽可能多地发现并排除软件中潜在的错误,最终把一个高质量的软件系统交给用户使用。GrenfordJ.Myers在《TheArtofSoftwareTesting》一书中就软件测试的目的提出了以下观点:1.软件测试是为了发现错误而
2、执行程序的过程。2.一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。3.一个成功的测试是发现了至今尚未发现的错误的测试。48.1软件测试概述8.1.2软件测试的原则(1)所有测试都应追溯到需求。(2)坚持“尽早地和不断地进行软件测试”。(3)测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。(4)程序员应避免测试自己的程序。(5)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(6)充分注意测试中的群集现象。(7)严格执行测试计划,排除测试的随意性。(8)应当对每个测试结果做全面检查。(9)在测试程序时,不仅要检验程序是否做了该做的事
3、,还要检验程序是否做了不该做的事。(10)长期妥善地保存测试计划、测试用例、出错统计和最终分析报告。58.1软件测试概述8.1.2软件测试的过程和策略1.软件测试的流程软件测试是一系列测试活动的集合,必须按照一定的测试流程,才能发现更多的错误。软件测试流程包括设计测试方案、实施测试、纠正错误、分析测试数据、建立可靠性模型等几个步骤,如图8.1所示。68.1软件测试概述图8.1软件测试的流程78.1软件测试概述2.软件测试的信息流软件测试时需要3类测试信息流,如图8.2所示。图8.2软件测试的信息流88.1软件测试概述3.测试的过程图8.3描述了测试的过程。从图中可知,测
4、试过程分为4个步骤,即单元测试、组装测试、确认测试和系统测试。图8.3软件测试的过程98.1软件测试概述图8.4列出了软件测试各阶段与软件开发各阶段之间的关系。图8.4软件测试与软件开发各阶段的关系108.2软件测试方法软件测试方法很多,按照测试过程是否执行程序来分,一般分为静态测试方法和动态测试方法。动态测试方法又根据测试用例的设计方法不同,分为黑盒测试和白盒测试两类。8.2.1静态测试静态测试包括代码检查、静态结构分析、代码质量度量等。是指不在计算机上执行被测试软件,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。1.人工测试2.计算机辅助静态分析118.
5、2软件测试方法8.2.2动态测试动态测试是基于计算机的测试,是为了发现错误而执行程序的过程。同测试任何产品一样,动态测试一般有黑盒测试法与白盒测试法两种,前者是测试产品的功能,后者是测试产品的内部结构和处理过程。1.黑盒测试法黑盒法又称功能测试或数据驱动测试,该方法把被测试对象看成一个不透明的“黑盒子”,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口(界面)处进行测试,依据需求说明书,检查程序是否满足功能要求,是否能很好地接收数据,并产生正确的输出。通过黑盒测试主要发现以下错误:(1)是否有不正确或遗漏了的功能。(2)界面是否有错,能否正确地接受输入数据,能
6、否产生正确的输出信息。(3)是否有数据结构或外部数据库访问错误。(4)性能是否满足要求。(5)是否有初始化或终止性错误。黑盒测试法是一种宏观功能上的测试,该方法适合测试部门的测试人员或用户。128.2软件测试方法2.白盒测试法白盒法又称结构测试或逻辑驱动测试,该方法把被测试对象看成一个透明的盒子,测试人员可以了解程序的内部结构和处理过程,以检查处理过程为目的,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒测试法是一种程序级的微观上的测试,不适合于大单元、大系统的测试,主要用于很小单元的测试,以及从事软件底
7、层工作、生产构件的测试人员使用。138.3测试用例设计8.3.1黑盒技术常用的黑盒测试技术有等价类划分、边界值分析、错误推测法、因果图等。8.3.1.1等价类划分法1.等价类划分法的基本思想2.等价类划分的一般规则划分等价类需要一定的经验,下述几条启发式规则有助于等价类的划分:(1)如果输入条件是一个布尔量,则可定义一个有效等价类和一个无效等价类。(2)如果输入条件规定了确切的取值范围,可定义一个有效等价类和两个无效等价类。(3)如果规定了输入数据的个数,则可定义一个有效等价类和两个无效等价类。(4)如规定了输入数据的一组值,且程序对不同
此文档下载收益归作者所有