下面是一个简短的故事:一个QA团队保持测试环境独立于他们的生产环境中,但是他们已经在竭尽全力确保它匹配在生产的各个方面。它充满了相同的硬件,软件都是一样的补丁级别。188金宝搏官网登录app他们有一个强大的过程,以确保任何改变另一环境反映。
也许你可以看到这个故事到哪里去了。果然,环境是不一样的。事实上,有一些BIOS设置,不同的服务器上,导致生产机器运行速度低于测试机器。结果,整个生产系统不能处理的体积流量测试系统,有一天,整个生活网站意外坠毁由于负载级别应该能够管理。
这个故事的要点是什么?无论多么小,测试和生产环境之间的任何差异会严重的影响。
让我们面对它,几乎从未维护测试环境与轶事一样的一致性。然而,总的来说,生产系统主要表现我们期望他们的方式。为什么?
原因之一是越来越多的测试在生产实践(提示)。从本质上讲,一旦释放到生产环境的代码,它是通过一系列测试,以确保它是有效的。这些测试继续作为正在进行的操作的一部分,我们提醒当有问题。提示正在逐步成为一个标准的组织和任何现代web开发的关键部分。
提示:在生产测试
QA人员的工作正在改变,特别是当它涉及到云或基于web的应用程序。而不是寻找缺陷的在一个特定版本的软件,测试人员的工作是《卫报》和管家的整个开发过程,确保缺陷识别和移除188金宝搏官网登录app之前的生产环境。
这就是为什么如此重要。它不是取代传统的测试,而是它能增强它与一组测试程序,在生产环境中才有意义。上面的故事说明,它可以是非常困难的来创建并维护一个测试环境,这是真正的一个精确的克隆生产,以至于有一个简单而没有意义的测试类执行在任何环境中除了生产。
技巧提供了一个结构化的方式使用现场进行测试网站和真实用户——因为这些测试,这是唯一的方式获得有意义的结果。
有许多不同类型的提示,任何软件测试人员应该知道。188金宝搏官网登录app这是一个总结的一些最重要的。
金丝雀测试
早在前几天,善待动物组织,煤矿工人将带着一个关在笼子里的金丝雀矿山。如果有突然驱逐等有毒气体的甲烷,脆弱的金丝雀会屈服在人类之前,为矿工提供一个早期预警系统。简而言之,死鸟=危险。
提示,金丝雀测试的过程是指将新代码部署到一小部分生产机器之前释放它广泛。这就像一个SaaS冒烟测试。如果这些机器继续运行,预计对实时路况,它能给你带来自信,没有有毒气体潜伏,你可以greenlight全面部署。
控制试飞
在金丝雀测试测试硬件,但在控制试飞测试用户。在这样的提示,您公开选择群真实用户软件的变更是否按预期的行为。188金宝搏官网登录app例如,让我们说你发布涉及改变应用程序的导航结构。你经历了你的可用性测试,但要做一个比之前所有人都看到了变化。
这就是一个受控的试飞。你做出的改变,但是只有暴露到一个特定的用户。观察他们的行为举止。如果事情如预期的那样,你可以改变到更广泛的观众。
A / B对比测试
有时你并不能确定用户会喜欢什么,和知道的唯一方法就是观察他们的行为。A / B对比测试非常常见的基于web的应用程序,因为这是一个很好的方法使用行为数据做出决策。在这种情况下,您正在开发两个(或更多)的经历——“A”和“B”经验和暴露一组等价的用户体验。然后你测量结果。
A / B测试是一个非常强大的工具如果使用得当,因为它真正允许开发组织遵循其用户。它涉及更多的工作和协调,但完成后会带来可观的效益。
合成用户测试
合成用户测试涉及到创建和监视的假用户将与真正的网站。这些用户操作对预定义脚本执行各种功能在web应用程序和事务。例如,他们可以访问这个网站,导航到一个电子商务商店,选择一些物品到购物车,查看。执行这个脚本,你跟踪的相关性能指标合成用户你知道什么样的最终用户体验真实用户。
综合监控是一个关键的组件的任何网站的应用程序性能监控策略。
故障注入
也许这是一个有趣的,令人不安的想法:在生产环境中创建一个问题,就如何优雅地处理。这一想法的实现故障注入。你建造了这些基础设施,以确保你不受特定的错误。你应该测试这些流程。
Netflix是著名的猴子常规测试圈的混乱。这是一个服务,将随机关闭虚拟机或终止一个过程。它创建错误服务应该是能够处理,在这个过程中,大大提高了应用程序的可靠性。另外,它使操作人员在其脚趾。
恢复测试
类似故障注入,你想知道你的应用程序和组织可以恢复从一个糟糕的问题的时候。有程序很少在生产环境中进行测试,如故障转移到第二个网站或从之前的备份中恢复。恢复测试练习这些过程。
消防演习运行应用程序,选择一个时间当使用低,把您的环境通过步是设计来处理。确保你的技术和人们能够处理实际问题的方法得当,所以你有信心他们会妥善处理的一个真正的惊喜。
数据驱动的质量
最后——这可能自不待言,实施系统,这将有助于您的QA团队接收和审核操作数据来衡量质量。确保测试人员访问日志、性能指标、警报、和其他信息的生产环境中,所以他们可以主动地识别和解决问题。
结论
测试在生产中可以是一个非常有价值的工具在你的QA阿森纳,如果使用得当。当然,总是有风险的测试用户生活,但让我们面对现实吧——有风险不与现场用户测试。但是,如果你建立正确的程序,提示可能导致一个巨大的提高应用程序的整体质量。
这篇文章最初发表在2015年和2021年7月被刷新。