与手动测试相比,软件测试自动化具备许多优点。它改善告终果和质量,提升了可靠性,并减小告终果误差。此外,它还能够加快流程,增长覆盖率测试并最终提升软件的总体质量。良好的自动化能够提升交付质量,增长测试范围,下降测试成本,并在进行了正确测试后可以尽早发现错误。java
测试自动化中的主要问题之一是选择要自动化的测试用例。可是,有人怎么知道全部测试用例将被自动化呢?编程
本文紧接上期: 自动化如何选择用例内容,让咱们看看其余一些有关如何选择要自动化的测试用例的技巧和规则。浏览器
这是黄金法则。若是测试运行是重复的,则应使其自动化。这样能够节省您宝贵的时间和精力。另外,若是这是您假设未来会常常运行的测试,那么自动化是一个很好的办法。每次将更快得到更准确的结果。安全
若是一个测试用例人为执行过程当中发生错误和被破坏的风险很大,或者手动测试很难完成,则应该优先使用自动化测试。若是涉及的风险很高,则应使该测试用例自动化。框架
自动化应用程序的主流程用例是一个很是不错的实践。避免人为错误的任何可能性,而且要安全、快速。对于可能危害整个项目的测试用例更应该优先进行自动化测试。性能
须要进行大量数据和条件测试的场景更适合自动化测试。另外,在手动测试过程当中犯错的机会可能会增多。这就是测试一般使用测试驱动模型的重要缘由,咱们主要是指那些须要填写较多表格的测试用例。测试
经过评估完成自动化过程或手动进行测试所需的时间。若是某些项目并不适合在自动化测试上投入时间,自动化测试过程自己比人工测试要花费更多的时间,代表自动化是不值得的。ui
涉及自动化时,不该该质疑三个测试用例:回归测试,冒烟测试和健全性测试。为何?由于该应用的每一个内部版本或发行版本都须要测试。命令行
永远不要仅仅由于能够自动化就能够自动化测试用例。这可能带来的结果是弊大于利。日志
请记住,关于自动化的“为何?”问题的答案必定不能是“由于我能够”。
不少测试用例须要设定不少的前置条件,而这些前置条件的设置一般是比较复杂的,这类用例是须要优先进行自动化,由于能够节省不少时间,即便仅仅是为功能测试作一些自动化的脚本。
一般选择自动化性能测试,例如负载测试和压力测试,这类测试手工很难达到预期效果。
若是测试用例时间跨度较长,一般十几分钟或者几个小时,则应将其自动化。