8.1.3向对象软件测试的基本概念 2.面向对象测试与传统测试的区别 传统测试模式与面向对象的测试模式的最主要的区别在于,面向对象 的测试更关注对象而不是完成输入/输出的单一功能,这样的话测试 可以在分析与设计阶段就先行介入,便得测试更好的配合软件生产过 程并为之服务。与传统测试模式相比,面向对象测试的优点在于:更 早地定义出测试用例;早期介入可以降低成本;尽早的编写系统测试 用例以便于开发人员与测试人员对系统需求的理解保持一致;面向对 象的测试模式更注重于软件的实质。具体有如下不同: 1)测试的对象不同:传统软件测试的对象是面向过程的软件, 般用结构化方法构 建;面向对象测试的对象是面向对象软件,采用面向对象的概念和原 ,用面向对象的方法构建。 (2)测试的基本单位不同:前者是模块;面向对象测试的基本单元 是类和对象 (3)测试的方法和策略不同:传统软件测试采用白盒测试,黑盒测 试,路径覆盖等方 法;面向对象测试不仅吸纳了传统测试方法,也采用各种类测试等方 法,而且集成测试和系统测试的方法和策略也很不相同 郭八章面向对衰的軟件此
8.1.3 向对象软件测试的基本概念 2.面向对象测试与传统测试的区别 传统测试模式与面向对象的测试模式的最主要的区别在于,面向对象 的测试更关注对象而不是完成输入/输出的单一功能,这样的话测试 可以在分析与设计阶段就先行介入,便得测试更好的配合软件生产过 程并为之服务。与传统测试模式相比,面向对象测试的优点在于:更 早地定义出测试用例;早期介入可以降低成本;尽早的编写系统测试 用例以便于开发人员与测试人员对系统需求的理解保持一致;面向对 象的测试模式更注重于软件的实质。具体有如下不同: (1)测试的对象不同:传统软件测试的对象是面向过程的软件,一 般用结构化方法构 建;面向对象测试的对象是面向对象软件,采用面向对象的概念和原 则,用面向对象的方法构建。 (2)测试的基本单位不同:前者是模块;面向对象测试的基本单元 是类和对象。 (3)测试的方法和策略不同:传统软件测试采用白盒测试,黑盒测 试,路径覆盖等方 法;面向对象测试不仅吸纳了传统测试方法,也采用各种类测试等方 法,而且集成测试和系统测试的方法和策略也很不相同。 第八章 面向对象的软件测试
8.1.3向对象软件测试的基本概念 3.面向对象测试模型( Object-Orient Test Mode) 现代的软件开发工程是将整个软件开发过程明确的划分为 几个阶段,将复杂问题具体按阶段加以解决。这样,在软 件的整个开发过程中,可以对毎一阶段提出若干明确的监 控点,作为各阶段目标实现的检验标准,从而提高开发过 量不仅是体现在程序的正确性上,它和编码以前所做的需 求分析,软件设计也密切相关。这时,对错误的纠正往往 不能通过可能会诱发更多错误的简单的修修补补,而必须 追溯到软件开发的最初阶段。因此,为了保证软件的质量, 应该着眼于整个软件生存期,特别是着眼于编码以前的各 开发阶段的工作。于是,软件测试的概念和实施范围必须 扩充,应该包括在整个开发各阶段的复查、评估和检测。 由此,广义的软件测试实际是由确认、验证、测试三个方 面组成。 郭八章面向对衰的軟件此
8.1.3 向对象软件测试的基本概念 3.面向对象测试模型(Object-Orient Test Model) 现代的软件开发工程是将整个软件开发过程明确的划分为 几个阶段,将复杂问题具体按阶段加以解决。这样,在软 件的整个开发过程中,可以对每一阶段提出若干明确的监 控点,作为各阶段目标实现的检验标准,从而提高开发过 程的可见度和保证开发过程的正确性。实践证明软件的质 量不仅是体现在程序的正确性上,它和编码以前所做的需 求分析,软件设计也密切相关。这时,对错误的纠正往往 不能通过可能会诱发更多错误的简单的修修补补,而必须 追溯到软件开发的最初阶段。因此,为了保证软件的质量, 应该着眼于整个软件生存期,特别是着眼于编码以前的各 开发阶段的工作。于是,软件测试的概念和实施范围必须 扩充,应该包括在整个开发各阶段的复查、评估和检测。 由此,广义的软件测试实际是由确认、验证、测试三个方 面组成。 第八章 面向对象的软件测试
8.1.3向对象软件测试的基本概念 确认:是评估将要开发的软件产品是否是正确无误、可行和有价值 的。比如,将要开发的软件是否会满足用户提出的要求,是否能在将 来的实际使用环境中正确稳定的运行,是否存在隐患等。这里包含了 对用户需求满足程度的评价。确认意味着确保一个待开发软件是正确 无误的,是对软件开发构想的检测。 验证:是检测软件开发的每个阶段、每个步骤的结果是否正确无误 是否与软件开发各阶段的要求或期望的结果相一致。验证意味着确保 软件是会正确无误的实现软件的需求,开发过程是沿着正确的方向在 进行。 则试:与狭隘的测试概念统一。通常是经过单元测试、集成测试、系 统测试 环节 在整个软件生存期,确认、验证、测试分别有其侧重的阶段。确认主 要体现在计划阶段、需求分析阶段、也会出现在测试阶段;验证主要 体现在设计阶段和编码阶段;测试主要体现在编码阶段和测试阶段。 事实上,确认、验证、测试是相辅相成的。确认无疑会产生验证和测 试的标准,而验证和测试通常又会帮助完成一些确认,特别是在系统 测试阶段 郭八章面向对衰的軟件此
8.1.3 向对象软件测试的基本概念 确认:是评估将要开发的软件产品是否是正确无误、可行和有价值 的。比如,将要开发的软件是否会满足用户提出的要求,是否能在将 来的实际使用环境中正确稳定的运行,是否存在隐患等。这里包含了 对用户需求满足程度的评价。确认意味着确保一个待开发软件是正确 无误的,是对软件开发构想的检测。 验证:是检测软件开发的每个阶段、每个步骤的结果是否正确无误, 是否与软件开发各阶段的要求或期望的结果相一致。验证意味着确保 软件是会正确无误的实现软件的需求,开发过程是沿着正确的方向在 进行。 测试:与狭隘的测试概念统一。通常是经过单元测试、集成测试、系 统测试三个环节。 在整个软件生存期,确认、验证、测试分别有其侧重的阶段。确认主 要体现在计划阶段、需求分析阶段、也会出现在测试阶段;验证主要 体现在设计阶段和编码阶段;测试主要体现在编码阶段和测试阶段。 事实上,确认、验证、测试是相辅相成的。确认无疑会产生验证和测 试的标准,而验证和测试通常又会帮助完成一些确认,特别是在系统 测试阶段。 第八章 面向对象的软件测试
8.1.3向对象软件测试的基本概念 和传统测试模型类似,面向对象软件的测试遵循在软件开发各过程中 不间断测试的思想,使开发阶段的测试与编码完成后的一系列测试融 为一体。在开发的每一阶段进行不同级别、不同类型的测试,从而形 成一条完整的测试链。根据面向对象的开发模型,结合传统的测试步 骤的划分,形成了一种整个软件开发过程中不断进行测试的测试模型 使开发阶段的测试与编码完成后的单元测试、集成测试、系统测试成 为一个整体。面向对象的开发模型突破了传统的瀑布模型,将开发分 为面向对象分析(oA),面向对象设计(00D),和面向对象编程 (0OP)三个阶段。分析阶段产生整个问题空间的抽象描述,在此基 础上,进一步归纳出适用于面向对象编程语言的类和类结构,最后形 成代码。由于面向对象的特点,采用这种开发模型能有效的将分析设 计的文本或图表代码化,不断适应用户需求的变动。针对这种开发模 型,结合传统的测试步骤的划分,本文建议一种整个软件开发过程中 不断测试的测试模型,使开发阶段的测试与编码完成后的单元测试 集成测试、系统测试成为一个整体。测试模型如下图所示 郭八章面向对衰的軟件此
8.1.3 向对象软件测试的基本概念 和传统测试模型类似,面向对象软件的测试遵循在软件开发各过程中 不间断测试的思想,使开发阶段的测试与编码完成后的一系列测试融 为一体。在开发的每一阶段进行不同级别、不同类型的测试,从而形 成一条完整的测试链。根据面向对象的开发模型,结合传统的测试步 骤的划分,形成了一种整个软件开发过程中不断进行测试的测试模型, 使开发阶段的测试与编码完成后的单元测试、集成测试、系统测试成 为一个整体。面向对象的开发模型突破了传统的瀑布模型,将开发分 为面向对象分析(OOA),面向对象设计(OOD),和面向对象编程 (OOP)三个阶段。分析阶段产生整个问题空间的抽象描述,在此基 础上,进一步归纳出适用于面向对象编程语言的类和类结构,最后形 成代码。由于面向对象的特点,采用这种开发模型能有效的将分析设 计的文本或图表代码化,不断适应用户需求的变动。针对这种开发模 型,结合传统的测试步骤的划分,本文建议一种整个软件开发过程中 不断测试的测试模型,使开发阶段的测试与编码完成后的单元测试、 集成测试、系统测试成为一个整体。测试模型如下图所示: 第八章 面向对象的软件测试
8.1.3向对象软件测试的基本概念 oo System Test 00工 ntegrate Test Unit Test OOD P Test Test Test oog OoD OoP 图8-1面向对象测试结构图 0面向对象编程 OOA Test:面向对象分析的测试 OOD Test:面向对象设计的测试 OOP Test.:面向对象编程的测试 oo Unit Test:面向对象单元测试 oo Integrate Test:面向对象集成测试 Oo System Test:面向对象系统测试 郭八章面向对衰的軟件此
8.1.3 向对象软件测试的基本概念 图8-1 面向对象测试结构图 0 面向对象编程 OOA Test: 面向对象分析的测试 OOD Test: 面向对象设计的测试 OOP Test: 面向对象编程的测试 OO Unit Test: 面向对象单元测试 OO Integrate Test: 面向对象集成测试 OO System Test: 面向对象系统测试 第八章 面向对象的软件测试