我的公司正在与一家多变量测试供应商合作(我还不能透露是哪家),我被要求将他们的系统集成到我们的旗舰 B2C 商务网站中。
通常,“集成”这个词是一个沉重的术语。然而,这里的意思是<script>
在几个视图上添加一个标签,然后从那个点开始退出循环。多变量实验将由我们的营销部门(和/或供应商)设置。我们的开发团队不会参与其中,甚至可能不知道何时发生。
从本质上讲,我被告知要故意将 JavaScript 注入攻击向量添加到我们的旗舰应用程序中......并希望最好。我的担忧与其说是恶意代码,不如说是无意中搞砸了。我们的 CSS 和基本页面布局已经一团糟,我预计当其他人的多变量实验炸毁主页外观等时会引起热议。更重要的是,有很多丑陋的 AJAX 和服务器端依赖于可预测的 HTML 元素、id
属性等的杂乱无章的东西......因此,如果实验对 HTML 元素进行了太多更改,核心商务功能将以不可预测的方式完全破坏。
由于缺乏真正的测试环境,我的担忧被放大了。供应商进行过滤,以便只处理来自我们生产 URL 的 AJAX 调用。来自我们的开发或 QA 环境的调用将被忽略。但是,这与拥有测试环境不同。相反,这意味着生产现在是我们每个实验的测试环境。
鉴于上述所有情况,是否有任何做法可以减轻其中一些风险? 多变量测试是一个如此新的领域,谷歌搜索的前几页由向 CIO 兜售流行语的阴暗顾问组成。对于最终负责关注风险的内部技术受众,没有太多的文章。有没有办法在上述限制下正确地进行质量检查,或者在这种情况下除了推回(*)之外别无选择?
(*) 注意:考虑到供应商关系的政治性,我们需要建立一个非常严密的案例来进行回击,并且无论如何都可以忽略它。