第六章:TestOps的先决条件与TiP的类型

一十一

发表于 2017-11-15 15:52:16

        名词解释:

        TiP:生产测试


        前段时间我开始了TestOps系列,我概述了为什么这个话题很重要(实际上我预计它在最近的将来会变得更加重要),并列出了我希望尽快深入调查的各种话题。 

        我将列出成功落地TiP的先决条件,并为您提供顶级公司的真实案例。 我们先从一个定义开始:

        “生产测试(TiP)是一套利用真实用户和生产环境的软件测试方法,既能利用生产的多样性,又能降低终端用户的风险。”


先决条件   

1.成熟的工程过程

        生产测试会影响您的应用程序的运行,因此会影响您的客户。 你应该总是有这个声明在你的脑海。 虚拟数据没有空间,例如$ 99,999.00的小鼠标。

4812.image_6EB04442.png

        在你接近它之前,你需要确保你完全理解它的影响。 你应该有熟练的人从头到尾计划和执行它。 通常说来,测试的误差范围相当大,但TiP并不是这种情况。


2.了解和减轻风险

        在社交媒体时代,一旦你在互联网上展示的东西,它永远留在那里。 不过也有风险不那么明显。 特别要注意性能/负载测试。 即使应用速度稍有下降,也可能会大大影响收入和转换。

        你的监测和警报呢? 你的测试会触发任何误报吗? 你甚至有可能检查你的测试如何影响性能指标?

        你有没有想过收集的数据? 一旦你产生虚假的流量可能会损坏。 那么你怎么能做出数据驱动的决定呢?



3.自己清理

这也是你在测试环境中应该实现的东西,但哪一个是生产中必须的。 您的测试可能会产生各种无用的东西 - 用户,数据库条目,假数据,日志。 确保你以后擦除它们。 在日志的情况下添加一些东西来快速识别测试。 你不想花时间分析非人力交通。


TiP类型


1.金丝雀部署和蓝绿色部署

        您可以将软件部署在单独的一组服务器上,然后慢慢向客户推出。 从小(从内部或测试版用户)开始,做少量的烟雾测试和日志分析。 如果一切似乎都没有问题,那么重定向部分外部客户(在我们的例子中为5%)以获取新的池。现在假设如果出现问题,您可能会将所有流量回滚到稳定池,或者继续进行新版本发布,并将一半/所有客户重定向到蓝池。

TIM截图20180115165410.jpg

        如果是新的软件版本,则恢复角色,现在部署在绿色池中,蓝色池作为安全网运行,以防出现意外的错误。

        这里的目标是使这个过程对客户是透明的。


2.受控试飞

        技术与金丝雀部署非常相似,但是我们慢慢推出新功能,而不是新的应用程序版本。

假设我们在代码路径1中隐藏了新功能。成功部署后,我们让所有客户使用代码路径2.现在我们更改配置文件,从现在起,一些客户(首先是内部的,然后是5%)正在使用可见的新功能 在代码路径1。

TIM截图20180115165441.jpg

        我们再次分析应用程序的运行情况,如果一切正常,我们为所有客户打开Code Path 1。 如果我们对结果感到失望,我们会回滚到代码路径2。

        此处警告:受控测试飞行大大增加应用程序的复杂性 企业喜欢它,但我认为这是值得的。


3. A / B测试

        这个想法很简单。 50%的客户看到我们的应用程序的变化A,50%的客户看到变化B.我们测量所有的数据,然后分析(数据科学家可能帮助)。 在我们的例子的情况下,变化A更好,因为它保证了更高的转换率。

TIM截图20180115165500.jpg

        精益专家高度推荐A / B测试,即使在初创阶段也应该使用它。


4.综合用户(Bot)测试

        合成用户是一个在我们的应用程序上运行真实客户场景的机器人。 更具体的说,就像在生产环境中运行的端到端(E2E)测试一样。 理想情况下,你应该找出使用生产数据的场景。

        机器人可能会从各种服务器触发(最好是在地理上分割),并应该与现有的监控/警报系统集成。 连续的失败应该引发你的团队调查。

        确保每次运行后清除数据(请参阅先决条件3)。

5.故障注入和恢复测试

        Netflix的Chaos Monkey推广的技术。 这个想法非常简单 - 我们在生产基础设施中产生随机故障,强制工程师设计恢复系统,并开发更强大,更适应性的平台。

    “防范重大意外失败的最好办法是经常失败。 经常导致失败,我们强迫我们的服务建立在一个更有弹性的方式”


6.性能/负载/压力测试


(需要很快计划)非常复杂和复杂的主题。


7.数据驱动的质量

(需要很快计划)非常复杂和复杂的主题。



你需要更多阅读丰满你的知识体系:

第一章:DevOps将为TestOps让路

第二章:有种测试模式叫做TestOps

第三章:TestOps方法论

第四章:持续完善中的TestOps

第五章:TestOps让自己不可或缺

第六章:TestOps的先决条件与TiP的类型

第七章:TestOps持续测试

第八章:TestOps新名词的定义


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值