1

我的公司正在与一家多变量测试供应商合作(我还不能透露是哪家),我被要求将他们的系统集成到我们的旗舰 B2C 商务网站中。

通常,“集成”这个词是一个沉重的术语。然而,这里的意思是<script>在几个视图上添加一个标签,然后从那个点开始退出循环。多变量实验将由我们的营销部门(和/或供应商)设置。我们的开发团队不会参与其中,甚至可能不知道何时发生。

从本质上讲,我被告知要故意将 JavaScript 注入攻击向量添加到我们的旗舰应用程序中......并希望最好。我的担忧与其说是恶意代码,不如说是无意中搞砸了。我们的 CSS 和基本页面布局已经一团糟,我预计当其他人的多变量实验炸毁主页外观等时会引起热议。更重要的是,有很多丑陋的 AJAX 和服务器端依赖于可预测的 HTML 元素、id属性等的杂乱无章的东西......因此,如果实验对 HTML 元素进行了太多更改,核心商务功能将以不可预测的方式完全破坏。

由于缺乏真正的测试环境,我的担忧被放大了。供应商进行过滤,以便只处理来自我们生产 URL 的 AJAX 调用。来自我们的开发或 QA 环境的调用将被忽略。但是,这与拥有测试环境不同。相反,这意味着生产现在是我们每个实验的测试环境。

鉴于上述所有情况,是否有任何做法可以减轻其中一些风险? 多变量测试是一个如此新的领域,谷歌搜索的前几页由向 CIO 兜售流行语的阴暗顾问组成。对于最终负责关注风险的内部技术受众,没有太多的文章。有没有办法在上述限制下正确地进行质量检查,或者在这种情况下除了推回(*)之外别无选择?

(*) 注意:考虑到供应商关系的政治性,我们需要建立一个非常严密的案例来进行回击,并且无论如何都可以忽略它。

4

1 回答 1

0

您需要记住,多变量测试并不是按照您的想法进行测试(或者,它不应该是)。您不应该测试代码或内容。您正在测试访问者对该内容的反应。

意思是……您的供应商要测试的内容在部署到他们的平台之前仍应通过一些质量保证流程。那么,这应该表明,减轻您所担心的风险的最佳方法是将自己投入到他们的测试/预发布周期中,以确保他们的代码在发布之前的安全性和稳定性。你不需要(也不想)用完整的回归测试或类似的东西来抨击他们的努力。但是您可以主动设置一组高度特定的测试,以便动态内容在进入 prod 之前通过。

If the vendor is worth their weight in [insert whatever material here] then they should already have accounted for this in their processes, or at least be able to accommodate such a request. It's not too much to ask that you get some birds-eye sign-off before any intrusion-risk code is injected.

Or... get a waiver signed relieving you of any security or performance responsibility during the vendor's exercises. :)

于 2012-02-08T17:13:52.277 回答