|

基于需求的测试与验证工具
RAVETM是Requirment
based Automated Verification Environment简称,是基于需求的自动测试与验证工具集,包含下列三个模块:
-
表格化需求建模工具TTM(T-VEC
Tabular Modeler);
-
测试向量生成器TVGS(T-VEC
Test Vector Genera- tion System);
-
测试驱动生成器TDGS(Test
Driver Generation System);
其中表格化需求建模工具TTM用于需求获取、需求管理以及需求一致性分析,T-VEC的基于模型的测试向量生成器TVGS用于分析并发现系统中的需求缺陷(如需求矛盾),并自动生成测试向量;测试驱动生成器TDGS用于根据不同被测系统或平台自动生成测试驱动。通过RAVE的使用可以实现在预算内,按时交付零缺陷的软件或系统。
基于功能需求的测试与验证其关键是需求的描述,文本和自然语言的需求描述由于其不可避免的二义性,使得测试用例设计变得困难。
T-VEC TTM表格化建模工具(Tabular
Modeler)采用表格方式来描述系统或软件需求,由于在此方法中采用形式化表述使得需求描述精确一致并具有逻辑性,便于需求缺陷分析与测试用例自动生成,表格化建模方法起源于美国海军研究实验室(Naval
Research Lab)的软件成本降低SCR方法(Software
Cost Reduction)。
TTM灵活方描述需求
T-VEC TTM支持层次化方式对系统进行功能描述,系统被描述为一系列子系统的集成组合,每个子系统可以进一步描述为一系列子系统的集成组合。
在TTM模型中每个系统或子系统被看成将输入转换为输出的的功能(行为),系统或子系统的输入与输出采用数据结构表描述,在数据结构表中定义每个输入/输出范围,并采用逻辑结构表以定义输入域约束条件,输入/输出数据结构类型除支持基本类型外如:布尔型,枚举类型,无符号型,整型,浮点类型和字符串类型,同时支持用户自定义类型如结构类型等;系统或子系统功能采用功能需求表及关联谓词表描述,其中关联谓词表用于描述在何种输入条件下执行系统或子系统何种功能,在TTM模型中关联谓词表既可以支持简单的条件判定/事件描述方式,亦可以支持复杂的状态机描述方式,通过关联谓词表的描述可以将系统或子系统的输入域划分为一系列等效的子输入域,针对每个子输入域执行相应的功能;TTM功能需求表除支持基本的数学操作符、逻辑判定符外,同时支持内建的数学函数以便于描述复杂的系统或子系统功能(行为)。
TTM描述精确一致的需求
高质量的软件依赖于精确一致的需求;RAVE包含的T-VEC
Tabular Modeler(TTM)在整个开发过程中记录和管理需求;给开发团队提供一种根据项目更改修改和变更需求的基准和能力。用户使用TTM的图形化界面来记录需求、构建模型来描述产品每个模块的功能。这为需求定义和需求管理提供了一种严格的方法。
TTM描述需求可减少费用和再工程
有一半左右的缺陷是和需求描述不好相关的;这些缺陷会导致昂贵的再工程和时间进度的推后。RAVE通过使用TTM需求建模工具来帮助开发零缺陷的需求;TTM为我们提供了一套精练、高效的需求管理方法和手段。RAVE工具识别需求里面的错误,例如不一致、矛盾等。使用自动分析不断迭代需求,生成精确的,一致的,可测试的需求。在开发早期排除需求缺陷,可以防止缺陷延伸到设计和编码阶段,在这些阶段改正缺陷的费用将是前期的100多倍。
TTM内置简单易用的需求管理
TTM表格化建模工具中内置需求管理工具,可以让用户输入文本方式的需求并与TTM模型进行关联,便于需求与测试向量跟踪。另外,TTM表格化建模工具同时可以集成Telelogic公司的DOORSTM需求跟踪与管理工具从而在DOORSTM工具中实现需求与测试向量跟踪管理。
TTM能使测试更为有效
既便全面测试一个较小的程序,所需要的各种组合条件往往也是超出人或者计算机的能力范围的。为了使整个任务易于管理,T-VEC生成测试向量来保证可测量性以及达到预期的覆盖率水平;每个测试向量都包含一组输入和预期输出,并且和需求相联系;T-VEC使用基于域测试的算法来生成最佳数量的测试向量,对系统的每一个需求进行测试。研究表明,程序缺陷通常存在于程序边界,域测试正是基于这个假设,因而是最有效的选择测试用例,发现程序缺陷的算法。
TTM自动生成测试驱动
软件开发组织通常自己手工开发和调试测驱动(脚本)。T-VEC的测试驱动生成提供了便捷的机制很方便的将生成的测试向量和目标系统的执行和测试环境集成到一起。针对每个测试环境我们定义一个通用的模板,并且在工程师之间共享;如果测试环境改变了,相应的通用测试驱动模板也会相应的进行更新。测试驱动重新生成并且重新执行,以保证升级后的系统执行的正确性。类似的,当需求变更后,相应的需求模型也会进行更新,并且测试和测试驱动也相应的重新生成。这样简化了程序的开发,维护和回归测试。
TTM提供完整有效的报告
T-VEC
为开发者和管理者提供项目的状态和性能报告。
这些报告类型包括:
◆
测试失败的总数
◆
需求的总数
◆
每个需求的状态矩阵
◆
需求的数量
◆
测试向量的数量
◆
需求缺陷的数量
◆
测试失败的数量和相应的测试用例
-
测试向量
-
需求测试覆盖
-
需求缺陷
-
测试生成警告
-
测试结果
贯穿开发全过程的测试方法

一种减少在产品发布之前疯狂进行测试和再工程的验证和确认方法。测试工程师在项目早期就对需求进行精练和建模。这些活动能够在缺陷对系统产生影响前就被发现。随着开发的进行,测试工程师创建测试向量和测试驱动,并建立它们与目标系统的映射和模板;当系统具备可测试条件的时候,测试工程师就可以把经过充分准备的、全面的测试过程快速的进行实施。T-VEC提供服务来帮助客户使他们的开发过程适应该方法。

-
早期发现需求方面的缺陷,减少改正缺陷的费用;
-
根据需求系统化的生成全面的测试;
-
验证全面的测试覆盖,每个需求最少一个测试;
-
针对所有的平台生成测试驱动;
-
提供全面的需求-测试的追踪;
-
生成度量和状态报告以进行项目进度状态追踪;
-
改进早期接口定义从而稳定系统结构;
-
通过缩短开发时间和开发费用来提升竞争优势;
-
提高质量和可靠性;
-
减少时间进度和资金预算方面的风险;
-
项目状态,缺陷和测试覆盖可度量;
-
可测试的需求;
-
减少开发和维护的费用;
|
特点 |
优势 |
|
需求建模 |
产生可测试的需求
提取不成文的需求
构建域知识库 |
|
需求管理 |
需求一致性检查
检查需求变更引起的冲突 |
|
需求缺陷检测 |
及早修正错误
减少再工程
缩短和控制开发的时间进度 |
|
自动测试向量生成 |
减少测试设计的工作量(减少90%)
产生没有冗余的、系统的、全面的测试覆盖
需求到测试用例的可追溯性
易于需求变更 |
|
自动测试驱动生成 |
减少开发和调试测试驱动的手工工作量
简单的回归测试
适用于任何语言、测试环境和平台 |
|
模型化的需求 |
通用的需求模型可重用
支持开发和验证并行
促使模块接口尽早稳定 |
|
先进的测试生成支持 |
对复杂系统进行测试
应用于所有域
支持系统级、集成级和单元级测试
支持所有通用数据类型以及用户自定义类型 |
|
度量和状态报告 |
允许管理者追踪开发过程
识别与需求缺陷和测试失败相关的危险区域 |
|
符合RTCA
DO-178B的需求规格要求 |
符合使命苛刻性和高可靠性系统的严格标准 |
2)Simulink
Tester™基于设计的测试与验证工具---介绍...
|