快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门新葡亰游戏881_龟发之家论坛



构件的可测试性是设计和测试软件法度榜样及构件的紧张观点之一。应器具有优越的可测试性的法度榜样和构件来构建软件,可以简化测试操作、削减测试开销、前进软件质量。

James Bach曾指出,有一些法度榜样特点可以用于可测试的软件,包括可操作性、可察看性、可节制性、易理解性等等。Jeffrey M.Voas和Keith W. Miller将软件可测试性当作是靠得住性的三个难题之一。他们指出软件可测试性阐发对付检测和评估一个应用履历主义(empirical)阐发措施的软件测试是很有用的。

然而,在构件工程、基于构件的软件开拓中,开拓者对构件的可测试性仍旧存在一些疑心。什么是构件的可测试性?它的相关要素是什么?如何反省、丈量或评价软件构件的可测试性?如何设计和开拓可测试的构件来达到优越的可测试性?

构件可测试性是什么?

在构件工程中,有几种不合的构件可测试性的不雅点,包括构件可察看性(observability)、构件可跟踪性(traceability)、构件可节制性(controllability)和构件易理解性(understandability)。

构件可察看性和可跟踪性

根据Roy S. Freedman的不雅点,软件可察看性是指根据一个法度榜样的操作行径、输入参数及输出结果,来不雅察察看这个法度榜样的简单程度。这也暗指了设计和定义一个构件的接口(例如输入、输出接口)将会影响到它的可察看性。可以应用Roy S. Freedman提出的措施来检测一个构件的接口,相对付它的输入,来评价察看它的操作和输出的简单程度。利用到构件工程中,构件可跟踪性是另一个影响构件可察看性的要素。

软件构件的可跟踪性是指跟踪构件属性和构件行径的嵌入能力的范围。它有两方面:行径跟踪(behavior traceability)和跟踪可节制性(trace controllability)。行径跟踪指构件跟踪它的内部和外部行径的便利的程度。现实天下中,构件工程可以经由过程在软件中增添一个法澳门新葡亰游戏881度榜样跟踪机制来反省和监视软件构件的内部和外部行径。

共计有六种类型的构件跟踪,它们是操作、机能、差错、状态、GUI事故和通讯跟踪。可以应用不合的措施将跟踪可节制性添加到软件构件中。为了支持嵌入功能的造访,必须在构件中定义一个标准跟踪接口。构件跟踪接口的标准化和跟踪款式对一个基于构件的法度榜样建立系统化的跟踪办理措施很紧张。

构件可节制性

一个法度榜样(或构件)的可节制性是一个紧张的特点,它注解了节制一个法度榜样(或构件)的输入/输出、操作和行径的简单程度。构件开拓者从三个方面不雅察软件构件的“可节制性”:行径节制,特点定制和安装部署。第一个方面与构件的行径和输出结果(响应于操作澳门新葡亰游戏881和输入数据)的能力有关,第二个方面指支持构件内部特点的定制和设置设置设备摆设摆设的嵌入能力,着末一个方面是指构件安装和设置设置设备摆设摆设的节制能力。

构件可理解性

构件可理解澳门新葡亰游戏881性依附于构件信息供给的若干以及它们表述的短长。构件文档的表述是第一要素。

构件可理解性的第二要素是构件法度榜样资本表述,包括构件源代码及其支持元素,例如安装代码和测试驱动等。

着末一个要素是构件质量信息的表述,包括构件验收的测试计划和测试套件,构件测试度量和质量申报。

虽然看上去构件供应商暗藏了具体的测试信息和问题信息也挺合理的,然则用户照样盼望在不久的将来他们能够供给构件的质量信息、验收的测试计划,以致是测试套件。

测试软件构件的寻澳门新葡亰游戏881衅

在构件工程典型中,主要目标之一是孕育发生可复用的软件构件作为软件产品。第三方工程师根据用户给出的需求,应用构件作为构建软件系统的部件。以是,法度榜样的可测试性很大年夜程度上依附于相关构件及其集成的可测试性。构建软件构件的测试要斟酌如下几点:

如何复用构件测试?

斟酌软件构件的演化,必须澳门新葡亰游戏881留意构件测试的可复用性。复用构件测试的关键是开拓一些系统化措施和对象,来建立可复用的构件测试套件,治理和存储各类测试志愿,包括测试案例、测试数据和测试脚本。对付工程师来说,应用ad-hoc措施,用相同的测试套件技巧来处置惩罚与当前软件不合的软件构件(例如,第三方构件)很难。在构件验收测试和构件集成中,这个问题就会影响构件测试的复用。

办理这个问题有两个可选择的措施。第一是为构件建立新的plug-in-and-test的测试套件技巧;另一个措施是在构件内部建立测试,也便是嵌入式测试。第一种措施是在构件外部的测试套件中建立和掩护构件测试,第二个措施是在构件内部建立构件测试。显然,假如一个友好的测试操作接口可行的话,这种措施简化了构件测试,削减了用户方的构件测试开销。要履行嵌入式构件测试,我们必要其他功能对象来履行测试、测试申报和测试结果反省。以是,必要标准化测试造访接口,来支持构件、测试套件和嵌入式测试的交互。

若何构建可测试的构件?

一个抱负的可测试软件构件不仅是可设置设置设备摆设摆设可履行的,而且在标准化构件测试对象的支持下也是可测试的。与通俗构件不合的是,可测试构件有以下一些特点:

可测试构件必然可跟踪;可测试构件必然有一些很好定义的测试对象的嵌入接口;具有嵌入式测试的可测试构件必须应用标准化机制;

关于可测试构件的设计有三个问题。第一个问题是对可测试构件,如何设计和定义通用架构和测试接口,第二个问题是如何用系统化措施孕育发生可测试构件,着末一个问题是为了支持测试和可测试构件,如何节制和最小化法度榜样的用度和资本。

若何构建构件测试驱动和存根?

在设计利用中,工程师基于给定的需乞降设计阐明书,应用ad-hoc措施来开拓特定模块或特定产品的测试驱动和存根。这种措施的主要毛病是孕育发生的测试驱动和存根只对特定的项目(或产品)有用。

很显着,传统措施会导致在构件测试驱动和存根构建上的更高的开销。

显然,必要新的系统的措施来为不合的构建和各类定制办事构建测试驱动和存根。这此中的关键便是为构件孕育发生可复用的、可设置设置设备摆设摆设的(或可定制的)、可治理的测试驱动和存根。

构件测试驱动必须是基于脚本的法度榜样,只应用它的黑盒功能。这有两组,第一组包括特定功能测试驱动,每一个都应用了一个构件的特定孕育发生功能(或操作);第二组包括特定情形的测试驱动,每一个都应用了一个构件黑盒操作(或功能)的特定顺序。

在构建构件框架时必要构件测试存根。每一个测试存根模拟构件的一个黑盒功能和/或行径。有两种措施孕育发生测试存根。第一种是基于模型的;第二种措施是操作化的基于脚本的。然而,如何用系统化的措施孕育发生这些特定功能的测试存根是一大年夜寻衅。

总体而言,一个法度榜样测试履行情况包括几个支持功能:测试检索、测试履行、测试结果反省和测试申报。显然,一个构件的测试情况必须包括这些类似的功能。

您可能还会对下面的文章感兴趣: