使用测试工具解决产品问题(译)

标准的网站监控工具能接通网页并证明他们正在响应,而他们不会向你警告一个问题。但是你能使用压力测试技术去监测你的网站,通过跑一个交互脚本能检测出问题并生成必要的邮件。它像一位安静的哨兵持续运行,从来不睡觉或者休一个假,提升了你的网站可靠性。

我们的网站包含了一个用户登录,用户认证过程偶尔被停止。我们标准的网站监控工具能接通主页并验证网页在响应,但是可能与不在我们适当放置的工具外的网页交互。当客户向我们警告一个真实的问题时我们只能了解它。这是不可接受的,我们不得不找到一个更好的办法。

我们之前使用一个压力测试工具开发并执行一系列的压力测试,允许我们运行很大数量的用户在测试网站上做很多不同的动作。但是我们需要一种方法在重复的基础上去运行一个简单的用户去做简单的脚本,24/7,在它在我们的产品系统上影响我们真实客户前警告我们一个问题。我们的压力测试工具会作为一个单一用户做这种测试,但是当一个问题被检测出来时,它缺少一种生成警告的方法。

与我们的供应商一起工作,我们发现他们提供了一个简单的解决方案:作为一个单一用户以重复的流程并有某些出错时发出警告的方式使用一个不同的应用去执行压力测试脚本。我们现在有这种适当的流程有3年了,并且它有一个极好的解决方案。这儿是我们如何操作它。

设计测试

第一步是做一些业务分析去决定什么被测试和失败看起来像什么。当与压力测试类似,这次测试专注于不仅是网页的压力时间以及脚本运行的结果。你也需要以重复的基础上使用已知的用户名/密码组合登录产品系统的能力。

这次测试的目的是为了简单地验证网站是活跃的并且准备使用。我们的测试不包含事务(销售订单),但是你能包含这个操作;它只要求更多的工作。

我们的检查有这些:

  • ·每一页需要在少于5000毫秒内加载(5秒)
  • ·每一页需要正确地加载
  • ·每一页需要通过文本检查(验证页面加载预期的内容)

编写脚本

现在你已有设计,你可以创建你的脚本。

首先,我们选择一个合法的用户账号能用于这个流程。(它需要存在于产品中但是被看做一个测试账号。)

我们也能增加一些我们局域网站的监控,被授权用户专门使用。这个授权通过使用安全套接层控制,所以对那些网站,我们不得不增加一些特殊的代码去支持安全套接和端口映射。

我们使用我们普通的压力测试脚本设计工具创建脚本,衡量任一特殊被监控工具需要的规则被包含在这个设计里。如果你被支持,你的支持供应商可能有一些有用的在这领域的信息。

一旦你有被设计和正确运行的脚本,现在你能推动它到监控的应用程序里。

创建监测器

跟你的供应商核实什么脚本元素需要被覆盖,因为在某些情况下你需要所有的实时文件而不仅仅是脚本。好消息是这些文件是小的。

当创建你的监测器,首先决定什么网页元素被追踪。取决于你的解决方案,每一个你选择监测的元素能使用你的协议容量的部分,所以你可能选择限制监测元素的数量。在我们的案例里,我们只需要监测页面加载结果和它需要多长时间去加载,但是你可能同时选择其他元素,就像下面任意一些。

当你保存监测器,你能看到最初的在监测仪表盘上创建的结果。

创建监测原则

一旦你创建了监测器,你能为什么样的系统用来决定通过或失败的条件去创建规则。我们只选择监测页面状态和加载持续时间。

当你有通过/失败条件的标准集时,仪表盘反应了状态。

你也需要决定你多久需要测试执行。当第一次测试仍然运行时假如第二次测试尝试开始,你能得到错误的警告,所以我们在每次测试间允许3分钟。

创建警报规则

现在你创建测试并定义什么是一次失败,你需要创建当可能失败被检测时告诉谁的规则。

我们的工具允许多于10次不同的警报活动,但是我们为我们的警报流程选择邮件。我们使用明显的邮件主题去反应网站问题。我们能发送一封邮件或者短信息,假如单元载体支持邮件地址——比如,5055551212@vtext.com

其中一件事是区分技术是否易犯错误,偶而事件不发生在你的网站上。为了减少错误警报数,除非测试在一行里失败了3次,否则我们不生成警报。我们也建立了规则,每一小时只生成一封重复的邮件(每20次),当物价管制局正处理一个事件时,他们不需要一堆邮件告诉他们已经寻址的事件。

我们也能参与并使警报根据需要不可用,以防止计划的停机时间省城错误的邮件警报。

生成报告

这些监测工具提供了一个好的检查性能超时的方法,并生成有用的报告。这些能被剪切复制或者导出为HTML。(我发现它更易于被剪切和复制相关的信息而不是尝试解释报告生成的所有数据。)

这些是我们质量实例来的示例报告,关于奔溃和需要及时改变的登录流程:

维护可靠性

我们的工具也包括一个仪表盘视图,提供简单的地方去快速检查所有的监测器并看到是否有一个或多个问题,那可能一个更大的问题。

最初,这个工具有些强卖给美国物价管制局团队,因为使用虚拟用户测试的想法是对某些人来讲是一个新的概念。但是现在它执行得就像一个安静的哨兵,从不睡觉或者休个假,我们实际上有一个新的应用程序到来,询问我们检测他们的网站确保用户可靠性是能维护的。

这改进了我们的操作可靠性——并且这难道不是质量保证的角色吗?

原文地址:https://www.cnblogs.com/fengye151/p/11518816.html