出售软件时,没有什么比软件本身的质量更重要的了。如果您的软件无法实现用户期望的功能,那么您的业务将步履维艰。这意味着至关重要的是,您必须[1]知道用户希望软件执行的操作,并且[2]知道您的软件会执行此操作。最近,我一直在根据健康软件产品开发的两个基本要求来考虑自动化测试的局限性。
自动化测试的好处
考虑限制之前,让我们首先考虑的自动化测试怎么 做 帮助我们满足用户的期望。在许多方面,您的开发团队都是您的第一位也是最重要的用户。自动化测试使这些“用户”可以非常清楚地描述他们期望软件如何运行。事实上,当你能描述软件应该如何与这样的精确度表现,计算机可以检查,就可以检查,在该软件的行为描述方式 快速 和 反复。这些是自动化测试的巨大收益,并且这些收益驱使商业软件行业在过去的几十年中认真对待自动化测试。
自动化测试的局限性
但是,即使只是简单地确认软件的行为符合预期,自动化测试也有一些限制。由于测试套件中编码了期望值,因此存在第一个限制。在大多数情况下,实现该功能的开发人员就是编写测试的人。对于开发人员而言,除了构建功能时他所考虑的方案之外,很难考虑其他方案。这意味着甚至可能不考虑可能的边缘情况,更不用说进行测试了。
还有一个现实:从定义上说,任何具有足够价值的软件都将由他人支付,对于任何人的头脑来说,跟踪它的每个活动部分本质上太复杂了。因此,不可能以自动化测试套件的形式充分表达这种复杂性。即使