Selenium3自动化测试【1】

1. 自动化测试

    为何要开展自动化测试?手工测试与自动化测试相比孰优孰劣呢?本节针对该问题展开讨论与讲解。

    测试工作中,往往需要面对很多问题。经常可以听到测试工程师的抱怨,其抱怨内容大体如下:

  • 重复、频繁的工作太多;

  • 同样的工作,人工重复做的次数越多,抵触情绪较大;

  • 测试工作任务重,测试周期短,工作压力大;

  • 创新性的工作太少,无法体现自己的能力与自己的人生价值;

  • 测试结果有时需要精确到秒,手工测试来做太难了。

    那如何将测试工程师从繁杂的测试工作中解脱出来?如何体现测试工程师的价值,发挥测试工程师的特长?又如何将测试结果精确到秒呢?

    上述问题均可以通过自动化测试来解决,这样一方面提高了测试的工作效率,另一方面可以通过自动化测试提升测试工程师的价值,改变大部分人对测试工作的观点。

1. 1.  自动化测试定义

    既然自动化测试可以弥补手工测试的一些不足,并能体现测试工程师的价值,那何为自动化测试?它又具备哪些特性?

    自动化测试即借助于测试工具、依照测试规范,从局部或全部代替人工进行测试以及提高测试效率的过程。其具备如下主要特征:

  • 自动测试过程是通过模拟人工操作,完成对被测试系统的输入,并且对输出进行检验的过程。

  • 自动测试是由软件代替人工操作,对被测试系统的GUI发出指令,模拟操作,完成自动测试过程。

    相对于手工测试,自动化测试可概括为如下几点:

  • 优化成本:降低劳动量,降低测试成本;

  • 可靠:提高测试的全面性,提高测试精确度;

  • 快速:加快测试速度;

  • 规范化:提供规范化的测试流程;

  • 可重用:提高测试的重用性。

1.2 何时开展自动化测试

什么时候适合开展自动化测试呢?

测试工作中,被测软件(或系统)需要多个版本的迭代。根据公司(或项目)的不同,版本发布的时间也存在差异。

开展自动化测试之前,首先需依照测试用例,对被测功能模块展开手动测试。当手动测试执行通过后,使用自动化测试工具,将手动测试的操作过程录制下来,并将正确的结果进行保存(被称为期望结果)。由于自动化测试工具记录的为关键性功能模块,被测软件(系统)的下一版本发布后,该模块仍应进行测试。

在软件新版本的测试中,启动自动化测试工具,运行前面录制好的自动化测试脚本。对比实际运行后的结果与预期结果,如不一致,则确定为缺陷;如一致,则认为该功能模块在新的版本中测试通过。

到此,可以得出一条结论:自动化测试,适合在被测软件(或系统)版本相对稳定后开展。如软件版本相对不太稳定,则会造成使用自动化测试工具录制的脚本在新的版本中回放失败,这样既浪费人力,又浪费时间。


猜你喜欢

转载自blog.51cto.com/starpoint/2531642