更新时间:2022-06-21 来源:黑马程序员 浏览量:
软件测试培训中经常提到自动化测试,自动化测试是指把以人为驱动的测试行为转化为机器执行的过程。实际上自动化测试往往通过一些测试工具或者框架,编写自动化测试脚本,来模拟手工测试的过程。比方讲,在项目迭代过程中,持续的回归测试是一项非常枯燥且重复的任务,并且测试人员每天从事重复性劳动,丝毫得不到成长,工作效率很低。此时,如果开展自动化测试就能帮助测试人员从重复、枯燥的手工测试中解放出来,提高测试效率,缩短回归测试时间。
实施自动化测试之前,需要对软件开发过程进行分析,以观察其是否适合使用自动化测试。通常情况下,引入自动化测试需要满足以下条件。
(1)项目需求变动不频繁
测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。
(2)项目周期足够长
自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成,这样的过程本身就是一个测试软件测开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便无意义。
(3)自动化测试脚本可重复使用
如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使期间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了。
另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。一般来说,自动化测试通常都会跟持续集成系统(比如Jenkuns)配合使用,关于持续集成的相关内容我们将在后面的小节讲解。