云计算扩展了测试经理的职责范围
1、测试经理需要参与服务选型阶段,一旦做出选择,就决定了我们所能得到的服务质量和权力。
2、生产阶段的介入,持续的系统级集成测试。
3、服务实施过程的介入。
所有的测试活动和测试组织都可以作为一个整体被带到云端,测试即服务(Testing as a Service,TaaS)
一、风险分析
测试投入是测试业务中的成本部分,风险分析通常构成测试经理采用的所有测试方法的基础。风险与我们所选择的云计算的特征、服务模型和实施模型直接相关。
可能性高、影响显著的失效是高风险,需要较多的测试介入,另一方面,如果失效的可能性小,影响也小,则不需要过多的测试。
首先,需要列出各种主要的风险。
然后,需要将风险分析到足够详细的程度,继而制定测试计划。
二、与云服务供应商就测试达成一致
选型阶段之后是实施阶段和生产阶段,在这两个阶段,许多测试活动需要来自供应商的信息与支持才能被成功实施。测试经理需要考虑服务规格(测试的基础)、测试环境和记录问题的原则,如果供应商的标准条款中没有提供完整的这些信息,则需要签署额外的协议。
测试经理需要根据情况注意以下问题:
- 哪里可以找到接口规范
- 哪里可以找到参考手册
- 问题如何记录
- 客户如何得知已记录问题的解决进度
- 对解决(严重)问题的速度提供什么样的承诺
- 对可用性(包括度量数据)提供什么样的承诺
- 对性能(包括度量数据)提供什么样的承诺
- 对安全性(包括各种指标的协议)提供什么样的担保
- 是否有可用的测试环境以及如何使用
- 当服务发生变化时,如何通知客户
- 当文档发生变化时,如何通知客户
- 当服务的测试结果变化时,如何通知客户
- 如何配置监控及记录设备
附加条款
以上的检查并不能完全覆盖各种可能性,所以需要附加的协议,例如:
- 定期的供应商服务评估与审查
- 由供应商提供的模拟服务
- 对供应商执行审计
- 支持服务的实施
尽量避免在法律合同内强制所有内容:客户应该从正常服务收益,而不是在惩罚条款中收益。
三、设置和执行端到端测试(E2E)
有时又被称为技术过程(Technical Process)或系统集成测试(System Integration Test),其实就是对多个系统进行系统测试。在端到端测试中,业务流程是最重要的。因此是范围最广的测试,端测试的结果可以作为起点。
1、端到端测试的范围大于系统集成
系统集成主要关注系统之间的接口,系统之间需要交换信息,因此,成功的系统集成是端到端测试的先决条件,反之,端到端测试对系统和业务流程的整体组合进行测试。
端到端测试的结果,在客户的IT环境和业务流程上下文中,是服务是否可被接受的重要依据。
执行端到端测试还能得到一个重要的副产品:从端到端测试中得到的信息是描述和验证工作流程及相关文件的重要参考。
2、端到端测试的关注点
三个维度:第一个维度由使用IT环境、原则上不关心功能如何在不同的系统和服务上划分的业务流程组成,这些业务流程构成了亟待测试的最重要的依据
第二个维度是系统场景(System Picture):系统和服务以特定方式连接,表示信息流,这个维度隐式包含了接口,是测试运行所需要的物理世界
第三个维度是IT环境下系统和服务的详细功能。
3、创建端到端测试用例
步骤:
- 详细描述端到端测试用例中的所有测试操作
- 确定表征测试用例的数据和端到端测试用例的预期结果
- 确定测试用例涉及的各个系统和服务所需的配置数据和基础数据
- 描述测试用例中系统和服务之间所有接口上预期的中间结果
4、执行端到端测试用例
- 典型的端到端测试的瓶颈
- 执行测试用例需要大量的时间
- 测试数据不够用
- 测试系统并不总是可用
- 分析具体问题的产生原因很困难,需要具有技术背景的人和访问日志文件的权限
- 可能找不到合适的人来执行测试和分析结果
- 很难找到供应商来解答问题
- 没有人具备所有系统的详细知识
5、自动化端到端的测试执行
6、端到端的回归测试
端到端回归测试的范围与需要覆盖的风险直接相关,每次变化都需要端到端的回归测试,为了及时检测到没有通知的变更带来的影响,需要提高端到端回归测试的执行频率,用到自动化技术。
当测试结果与预期不符时,需要用良好的文档记录问题。在端到端测试的过程中,需要在合适的地方配置记录日志,以便确定发生错误的具体位置。
四、提供建议
决定选择某种服务时----选型阶段
提供所实现服务的发布建议,测试经理提供的建议关乎是否把服务部署到产品中
端到端测试发现问题时,通知相关组织和能够决定采取何种补救措施的人
---摘自《云计算测试》段念