标签:
2016-08-12
测试架构师应该考虑以下问题:
1 测试架构师在需求分析中
1.1 理解产品的商业目标
1.2 梳理用户的使用场景
1.3.输出产品总体测试策略
2 测试架构师在测试分析和设计中
2.1 制定阶段测试策略
2.2 落实测试设计策略,保证测试设计的质量
3 测试架构师在测试执行中
3.1 制定版本测试策略
3.2 跟踪测试执行
3.3 版本质量评估和建立版本质量档案
4 测试架构师在测试质量评估中
测试的源头是需求。软件测试架构师在需求阶段,需要重点完成的工作是:
此时测试架构师不应该陷入产品的实现细节中去,这时正确的方向和清晰的目标比细节更重要。
如何才算“理解需求”?参与每一场需求的讨论,熟读每一条需求规格这样就够了吗?此时花一些时间来理解产品的商业目标,梳理用户的使用场景,往往会为后面的工作带来事半功倍的效果。
产品的商业目标是测试架构师需要理解的首要问题。
Dave Hendrichson在他的著作12 Essential Skills for Software Architects(《软件架构师的12项修炼》张菲译,机械工业出版社出版)中提出“系统架构师在考虑构想软件架构的真正价值时,不能只是关注系统构造的技术方面,更要对客户价值和商务价值——你能帮助客户真正解决怎样的问题?你怎样帮助公司赚钱?——有深刻的认识”。这点对于软件测试架构师来说同样适用。
在这本书中,Dave Hendrichson用一个气泡图形象地概括了商务知识和软件架构的交错关系,如图1所示。
图1 Dave Hendrichson的气泡图
和系统架构师一样,软件测试架构师同样需要理解下述问题:
并能够围绕下述内容展开测试活动:
所谓“用户的使用场景”,简单来说,就是指用户将会如何使用这个产品。用户场景将直接体现产品的价值。因此,在测试之前,了解你的用户至关重要:
然后软件测试架构师需要把梳理的用户使用场景,归纳为测试场景:
输出产品总体测试策略是软件测试架构师在这一阶段的重要输出。它的作用,就好像测试的总纲,帮助整个测试团队明确测试的范围、目标,测试的重点和难点,测试的深度和广度,以及如何安排各种测试活动(及测试分层)。
测试重点和测试难点是完全不同的两个概念:
测试深度和测试广度也有所不同:
当我们对每个特性确定了测试重点和测试难点、测试深度和测试广度之后,测试的总体思路也就随之明确了。后面的自动化策略、探索测试策略、测试分析和设计的策略也变得明确了。
测试分层帮我们将一个大的测试目标分解为若干小的测试目标。这样我们可以逐层测试,逐层评估测试结果,并根据测试结果不断修正测试策略,不仅让测试目标变得可以达到,还让整个测试过程变得可控。
上述内容构成了测试的整体框架。我们可以在这个框架下不断细化,再输出阶段测试策略和版本测试策略等。如果把测试需求分析、测试分析设计、测试执行、测试质量评估等测试活动比作珍珠,测试策略就是那根穿珍珠的线,贯穿始终。
阶段测试策略是指按照测试分层来确定每个测试层次的测试策略,阶段测试策略也是总体测试策略的进一步分解。
图2 “V模型”下的测试分层举例
阶段测试需要关注的内容包括:
出入口准则其实是确定这一阶段的质量目标和验收标准。有时候,测试阶段也是环环相扣的,例如我们要想进行性能测试,就需要将功能稳定作为前提,这时功能稳定就是性能测试的一个入口条件。
出入口准则并不是限制测试的,其实是测试和开发的约定。
方法上,软件测试架构师可以使用《测试分析设计表》来保证测试设计符合测试策略。关于这部分的内容,请参见7.4.1节。
图3 软件测试架构师在测试执行中的主要工作
主要内容包括:
我们将在8.1~8.2节及8.4节中
具体内容包括:
版本质量评估是对每个测试版本的质量总结。方法上,我们可以使用软件产品质量评估模型来进行质量评估。对软件产品质量评估模型的介绍,请参见6.3节;如何进行版本质量评估,请参见8.4节。
表1 特性版本的质量档案模板
和版本质量评估不同,此时的质量评估是指阶段质量评估或者发布时的质量评估,需要给出“能否进入下一阶段的测试”或者“发布”的结论。
方法上,阶段质量评估依然使用软件产品质量评估模型来进行评估,需要重点关注的内容包括:
标签:
原文地址:http://www.cnblogs.com/Ming8006/p/5766133.html