AST增加了有效测试时间,因为:
-可以在工作时间之外(午餐时间,晚上,周末)运行。
-在自动测试运行期间,测试人员可以关注更复杂的新问题/领域。
-对于某些系统,AST可能比时钟频率运行得更快(应用时应该小心,有时需考虑系统的依赖)。
自动测试不会像人一样疲劳或分心。
自动测试更容易复制(避免产生不可重现缺陷)。
有些测试,比如性能测试、内存泄漏检测测试、并发测试等,几乎不可能手动运行。
AST允许分布式测试,即将工作量分散到多台机器上,模拟真实环境或生产环境。这是使用自动化的另一个非常高效的方式。
对软件质量更有效的测试时间的影响可用图2-2说明,使用的是来自前面的软件可靠性模型的结果。完成的测试越多,对减少尚未被发现的软件缺陷数目的直接影响就越大。影响的程度是与尚未发现的缺陷(曲线上的位置)相关的软件基准状态的函数。
最终,每个人都得回答“我们怎么知道什么时候完成测试?”这个问题。软件可靠性模型可以预测尚未发现的缺陷数目,并将其作为回答何时完成了足够的测试这个问题的根据。然而现实是在产品需要交付或已许诺交给客户时测试通常会终止。测试小组在规定时间内将尽可能完成更多的测试。AST提供了在合理的更短时间内进行更多测试的方法,但是相同时间内进行更多测试提高了与影响软件质量直接相关的效率。软件可靠性模型可用作估算这种影响的工具。
即使没有使用软件模型,你也可以使用过去针对产品交付之后我们在哪里发现了问题的分析结果来看看AST对软件质量的影响。评价先前发布或交付的结果时,是否存在与以前可工作的功能的问题报告,但测试团队没有时间进行完整的回归测试?有多少问题被认为是未执行的操作序列的结果,原因是没有足够的时间来测试,或者从来没有测试的数值组合?有没有因没有测试边界条件值而产生的问题?所有配置中或应用程序运行一段时间后,存在多少因不兼容产生的问题?有没有确定那些因没有足够时间来测试功能而产生的问题?核查以往的交付结果,可深入了解额外的测试和AST对软件质量产生的影响。
相关链接: