博客

不要做错误的方式:在生产中测试秘诀

作者:

188金宝搏app苹果下载软件Tricentis员工

各种各样的贡献者

日期:2021年1月12日

当你提到测试在生产你可能还记得的日子开发者偷偷释放过去的QA团队希望保持应用程序更新,但在现实中它只车混乱造成的。和用户的。出于这个原因,大多数企业完全避免测试在生产中,因为它是对最终用户的风险太大。

但是没有在生产测试,有问题。测试环境很少建立与生产环境相同的水平,所以他们永远不可能真正达到的规模,“现实生活中你会看到。“另外,测试环境可以很容易地陈旧和过时的,因此,你没有测试你应该成为怎样的人。

桑迪MappicAppDynamics老支持工程师,帧完美:“当一个f1团队设计一辆车在风洞和测试模拟器季前赛,他们不认为他们看到的性能测试将镜子在比赛中他们看到的结果。然而,今天几乎发生在应用程序开发生命周期”。

测试在生产中是一个重要的世界级的测试团队培养核心竞争力。在本帖里,我们提供一些实用的建议测试在生产一个可实现的现实——并减少显而易见的风险暴露。

测试在生产出差错

有时学习一个最佳实践首先理解最差实践。一个好例子,测试在生产中可能出现的错误报告的IBM WebSphere团队几年前。他们的客户是一个主要的银行之一,他们的开发团队建立一个测试服务器在其生产环境。事实上,测试应用程序是运行在相同的WebSphere application Server安装的生产应用程序。

端口被配置为避免冲突,但总的来说,这两个应用程序服务器更比他们应该是交织在一起的。他们分享日志文件,硬件资源,他们的二进制代码。这意味着任何升级软件开发工具包(SDK)将会破坏这两个应用程序服务器。188金宝搏官网登录app而频繁的测试系统更新是必要的,反复扰乱生产系统是无法忍受的,因为它大大影响用户。

IBM这家银行的建议是建立一个相同的拷贝的生产中心。谢谢你的建议,但是你肯定会需要一大堆的钱拉一个。

建议在生产正确的方式进行测试

这里有一些事情你可以做开发健壮的测试程序在您的生产环境中没有严重影响用户。

1。使层——像一堆煎饼

的想法“生产测试”可以意味着不同的东西。你测试的测试服务器在您的生产数据中心吗?或者是你的测试分别生产平台上运行的应用程序?或者你真的对100% production-deployed代码运行现场测试吗?答案应该是所有这些。层生产测试给你的能力测试以不同的方式生产环境的不同方面。然后匹配你的测试用例,以最小化的影响您的测试和维护测试环境,对生产用户。

2。测试时使用

性能测试会影响你的整个用户群,如果你让它。它可以使服务器环境缓慢,这是没有人希望的。研究你的分析和确定最佳时间安排测试。例如,寻找最低的水平:

  • 在网站上的用户数量
  • 整个网站收入
  • 在环境资源密集型的过程

3所示。收集真实的交通数据和重放它到您的测试系统

确保使用实际交通数据被收集在生产(如用户工作流程、用户行为和参考资料)来驱动负载的生成测试用例。当你锻炼负载测试在您的生产环境中,你会有信心,模拟行为是现实的。

4所示。介绍一个混乱的猴子

根据Netflix工程师科里班纳特和阿里尔Tseitlin,“最好的防御重大意外的失败是经常失败。通过经常导致失败,我们迫使我们的服务构建的方式更有弹性。“Netflix建造所谓的混乱的猴子到他们的生产环境。这段代码实际上引入了随机故障到生产环境,迫使工程师设计恢复系统和开发更强大、更适应平台。你可以把你自己的混乱,因为猴子GitHub Netflix发布了他们的代码

5。疯狂的监控

当你运行一个生产测试,让你关注关键用户性能指标,以便你知道如果测试有任何不可接受的对用户体验的影响。准备关闭测试如果是这样。

6。创建一个“选择”经验进行实验测试

一个伟大的方式来测试您的应用程序如何执行与真正的用户是有“选择”新功能发布。这将允许您监控和收集数据的实时用户和相应的测试策略做出调整,不担心影响他们的经验。毕竟,他们已经同意成为测试对象,所以有点打嗝,不会感到吃惊。

测试在生产是一件好事

一定要鼓励你的团队测试在产品集成到你的策略。这是一个很好的方法让接触真实世界的场景和找到你通常不会遇到的错误在测试环境中。记住,仅仅因为你有在实验室中测试应用程序的性能并不意味着你会看到相同的生产性能。

这篇文章最初发表于2014年,是最近更新的2021年7月。

作者:

188金宝搏app苹果下载软件Tricentis员工

各种各样的贡献者

日期:2021年1月12日
Baidu
map