我目前处于从客户网站解析数据的环境中。我想使用我的测试来确保当客户更改他们的网站时,我知道我们什么时候不再收到信息。
我的第一种方法是进行纯集成测试,我的测试访问客户的站点并断言数据已找到。然而,在进行了 500 次测试的中途,测试运行变得难以忍受,并且在某些情况下开始超时。所以我在不失去他们提供的核心保护的情况下尽可能多地清除了测试,我已经降到了 350 左右。我害怕添加更多测试以破坏所有测试。当我再进行更改时,我还发现自己没有运行 5 分钟以上的持续时间(一些客户会更长,因为这是基于与他们网站的通信速度)。我认为这是一个彻底的失败。
我对此进行了很多思考,并在办公室四处询问,我下一次尝试的想法是拉下客户的页面并针对我的项目中的这些嵌入式资源编写测试。这将为我提供更高的测试覆盖率,并允许我单独返回测试。但是,当他们进行更改时需要通知我,然后重新拉下页面进行测试。我认为客户不会坚持这一点。
有人建议我用一套“随机”集成测试来增强它,这些测试与我失败的测试(访问客户站点)提供相同的功能,但数量比以前少得多。我真的不喜欢随机测试的想法,有时可能会用相同的代码获得红灯,有时会获得绿灯。但是到目前为止,这听起来像是我听到的最好的主意,它仍然可以了解客户的站点何时发生更改并且我的代码不再找到数据。
有没有人发现自己在测试这样的环境?测试社区对我有什么建议吗?