弹性(自动扩展)
其出发点是假设使用容量与费用之间有直接联系。正常情况下,在供应商侧,随着负载的增加和降低,应该能发生自动的扩展。但如果我们不能确定这一点,可以将目标负载提高到当前峰值负载的两倍。弹性测试的结果是又执行了一次压力测试。
负载剖面
负载逐步增加到我们确定的最大值;持续足够长的时间以确保账单中能够记录较高容量级别的使用费用。持续预先确定的一段时间后,负载开始下降。再次保持足够长的时间以确保降级后的使用费用出现在账单中。
预期结果是性能符合需求(从负载测试中选择一个重要操作作为测试用例),并且不发生功能问题。预期响应时间出现增长,当容量自动扩展后,响应时间应该出现明显的下降,如图5-5所示。
边界值
如果已经知道扩展发生的边界值,就可以进行边界值分析。目标是确定在容量调整时是否发生任何中断。
处理
原则上,我们需要等待供应商发来的账单。这意味着我们需要等一段时间才能得到测试结果。如果可以实时地在线监视当前的账单,我们就能在测试时评估结果。我们也可以联系供应商,通过他们的帮助获得当前账单。
▲图5-5 预期结果
手工扩展
在这种情况下,需要通过手工方式增加或减少容量。我们假设一个定义了最大容量的包可以被升级为一个更大的容量包,或是降级为一个较小的容量包,并且可以通过在线方式完成这一操作。
负载剖面
在第一个阶段,负载逐步增加直到达到最大值。此时没有更多可用容量。在该负载剖面运行时,服务的性能和功能应该持续符合需求。配置和分配更多容量后,容量应该增加到下一个容量包的最大值。预期服务正常工作。在第二个阶段,负载减小到低于该容量包的边界。释放额外分配的容量,将负载降低到平均水平。预期结果是在整个过程中性能符合需求(从负载测试中选择一个重要操作作为测试用例),并且不出现功能问题。
边界值
这里有具体的边界值用例(每个类别需要确定两个用例)。
普通容量。
1.在较低容量级别的最大容量值范围内的合法边界值(性能符合需求,且没有功能问题)。
2.非法的边界值,刚好大于较低级别容量值(应该不可能发生,会出现警告信息;不会自动配置额外的容量)。
容量已增加。
3.合法的边界值,刚好大于较低容量级别的最大值,刚好等于较高容量级别的下边界。
负载增加和减小。
4.合法的边界值,刚好等于较高容量级别的下边界(测试是否能释放容量)。
5.合法的边界值,刚好低于较高容量级别的下边界(测试是否能释放容量)。
释放额外分配的容量后。
6.性能符合需求,且没有功能问题。
处理
检查以下控制点。
- 任何时候都可以配置额外的容量。
- 当实际使用的容量超过较低容量级别的最大值时,不能释放额外配置的容量。
- 当实际使用的容量低于较高级别的容量时,可以释放额外配置的容量。
- 账单与配置的容量相符。
服务的准确扩展行为依赖于供应商配置该流程和在技术上实现该流程的方式。结合了虚拟化和负载均衡的扩展实现仍处于发展中,这就是我们为什么要全面测试扩展功能的原因。
本文选自《云服务测试》第五章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关文章: