曾经遇到过因为改代码导致很少使用的页面坏了,管理层大声抱怨的情况。通过简单地请求该页面很容易发现失败wget
- 这就是我当时作为常规工作添加到我们的 Jenkins 的内容。之后这项工作从未失败过,日复一日、月复一月地愉快地请求两到三页,大约两年(然后这些页面被删除了)。
如果您处于没有更好的测试可用或实施起来太麻烦的情况,那么测试 HTTP 状态代码将是一种有效的方法。但是正如您自己看到的那样,这会变得非常缓慢,因为您必须始终将整个系统作为一个大黑匣子进行测试。而且您需要在测试环境中工作的所有内容。
如果您现在有一个几乎无法测试的系统,那么使用诸如 Selenium 之类的远程控制应用程序的功能测试是快速检测故障的良好第一步。您可能希望并行执行这些测试,这需要适当的硬件电源,很可能以多台机器的形式执行 Selenium 客户端。
另一方面,你应该瞄准获得更多的单元测试。这些将运行得非常快,因为您将注入模拟对象作为数据库连接等真实事物的替代品。如果后台没有数据库,测试将不会与网络通信,也不会从磁盘读写——模拟对象在内存中,几乎可以立即给出所需的答案。
结合起来,单元测试与一组选定的功能测试(可能还有一些集成测试将一些更大的部分放在一起并单独测试它们,但不是整个应用程序)将表明一切都按预期工作。
但仅凭功能测试,情况就不会如此。