让我们按照每个迭代一步步走一下工作流程。对于每个TMap阶段,活动将会被声明并连接到最合适的RUP工作流上。我们也将描述另外的TMap,或在某些情况下的RUP测试活动。大多数的RUP和TMap的相应活动是通过TMap进行详细地描述。此外,附录C包括了TMap和RUP工件之间的一个对比。
图3显示了TMap阶段和RUP工作流之间的一般关系。
图3:TMap生命周期和RUP工作流之间的全局关系
计划和控制
计划和控制阶段可以被分为用于计划的活动和用于控制的活动。
RUP步骤,定义评价任务“显示了许多与TMap的计划和控制阶段的计划活动相似处。这些相似处在表1中很明显。对于那些不熟悉定义评价任务的人”步骤,显示在图4中。
表1:RUP步骤,定义评价任务,显示了许多与TMap的计划和控制阶段的计划活动相似处。
对于不熟悉RUP步骤定义评价任务的读者,在图4中描述。
图4:RUP步骤定义评价任务
定义评价任务工作流确定了迭代的测试目标或测试任务,以及基于主测试计划的测试范围。一个人需要确定这是否是有限功能的第一个原型,这要求一些全局测试,或是否它引用到部署之前的最新迭代。此外,一个人需要确定是否整个系统要求高质量。测试进行了计划,方法得到了确定,资源被明确要求,并且进度监控也到位了。所有这些的结果是迭代的一个测试计划,这就是迭代测试计划。
RUP的定义测试方法工作流包含许多步骤,包括称为确定测试的必要深度的步骤。尽管TMap中的测试策略在某种方式上可以与活动定义测试方法和定义评估和可追踪性需求进行对应,但是TMap中的详细程度要更高一些。而RUP在覆盖方面解释了定义评估和可追踪性需求,覆盖事实上主要是特定于测试技术的使用,并且因为RUP没有在这个问题上细化,此工作如何进行还是不清楚。直到正式的验收测试完成了,测试策略就与不同的涉众协调好了。除此之外,这个工作流提供了如何解释测试结果的全局说明。
如果要使用TMap测试策略,你必须要小心确保测试是在迭代或测试任务的范围中进行。换句话说,不要定义一个适合于最终产品的测试策略,如果第一次迭代只是一个原型的话。
另外一个差异是,TMap测试策略基于风险、质量特性、系统部分和必需的测试技术。RUP也是由风险开始的,但是使用测试类型,而TMap使用质量特性和系统部分。RUP定义的测试类型是:
功能
数据和数据库完整性
业务周期
用户界面
安全性
容量
压力
负载
性能
安装
配置
恢复
按照TMap,测试策略的一个重要部分是与成本估算放在一起的。尽管在RUP中,所需要的人时是一个测试计划模版的一部分,但是不清楚估算人时对应于哪些活动。
TMap也详细地定义了所需要的组织和基本结构。RUP在后面的一个阶段,验证测试方法,定义了基本结构。需要的组织是主测试计划和迭代测试计划模版的一部分,但是相应的活动不清楚。
在TMap和RUP都有的控制活动主要是在步骤完成可接受任务。这种映射显示在表2中。
表2:在TMap和RUP中的控制活动
在一个迭代期间要执行多个测试周期。这个步骤主要集中在每个测试周期。完成可接受任务步骤的目的,如图5所示,是持续地控制不同测试的优先级,并且确保只执行那些可以对测试任务增加最大价值的测试。这包括监控(解决)严重缺陷,监控后续构建可能的回归,以及向所有相关团体报告应用软件的质量。如果有必要,会调整测试任务。
图5:RUP步骤完成可接受任务
RUP规定,优先级主要是控制过程的一部分,但是在TMap中,优先级在早期阶段就按照测试策略明确化了,然后作为测试计划的维护来进行。
剩下的活动,控制测试,在RUP中被放在改善测试资产下面,其相应于维护测试件和测试环境。
准备
TMap的准备阶段在RUP中不明显,但是可以合并到评价任务和验证测试方法中,这主要是因为在这两种情况中,这些步骤相比较实际的测试,更关心准备情况。
表3:TMap准备接口可以合并到RUP的评价任务和验证测试方法中。
对于不熟悉RUP步骤验证测试方法的读者,其描述见图6。
图6:RUP步骤,验证测试方法
如表3所示,在准备阶段的第一个活动,易测性复审,在RUP工作流中没有可对比的活动,除非将其视作常规复审活动的部分。推荐你执行易测性复审。并不关心这是否要被认为是一个单独的活动或是一个复审的一部分--最后,易测性的复审实际上会得到有关测试质量的有价值信息。万一质量不足,也可以进行及时地调整。标准的TMap易测性复审检查单需要在用UML处理时应用。在这件事情上,可以应用测试用例。 4
表3中的活动2、3和4进行技术的改进和采纳,并确定基础结构,在RUP中,这在评价任务和验证测试方法中都可以发现。在RUP工作流中的最后一个步骤,与其它步骤是并行一起发生的,并关注在提供测试子集上。当需要时,这种方法和测试技术可以很好融合。除了这种测试的“测试”之外,其它的关注点是增加测试环境的需求和应用软件的易测性,这些都是在与开发团队紧密的合作中发生的。在测试自动化或一个新方法(对于组织)的情况下,这个步骤要求更多的工作。这种工作在以后的迭代中会迅速地减少。
原文转自:http://www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/koomen/