在软件开发中,测试是至关重要的一部分。而且,如何实施测试至少有一本完整的书籍,这不是本文的讨论范围。相反,我们会更深入地研究一个有趣的问题:一些测试比另一些测试更强。
正如简洁而又明确地指出,这是一个有趣的问题。很容易让人想起“每个测试都是有益的”,或者如果你感觉更恶心的话,“你需要具有100%的测试覆盖率来适应任何重构或新功能”。
两者都是荒唐的。100%的覆盖率并不能保证高质量的代码,因为可能有许多不相关的测试。而且,有时您要测试的内容对于您的上下文无用或少用。
相反,我们应该专注于“强大”的测试,即能够捕获我们在意的风险的测试。这种测试通过其他测试无法覆盖的情况。如果尽可能多地关注这些测试,我们可以获得重大的测试效益并避免浪费时间和精力,测试没有足够的价值。
强大的测试具有许多属性,而不是通用的属性。但是,下面是一些属性示例,以帮助您获得如何识别强大测试的想法:
– 高优先级测试
– 在关键路径上的测试
– 复杂测试
– 边界情况测试
– 不同的状态或错误条件的测试
请注意,这是基于范围和目标的。不是很容易识别最强的测试。它们取决于特定的上下文。
但是,通过借助这个想法,您可以开发一个更好的测试策略来提高测试效果。现在就试试吧,一起创造更健壮的软件。
了解更多有趣的事情:https://blog.ds3783.com/