今天的软件市场完全以消费者为导向,为了保持相关性,产品必须处于不断的准备发版状态。面对不断变化的消费者品味,企业如何确保这一点?自动化测试在其中发挥了重要作用,使测试人员更多地关注维护测试计划并确保测试覆盖全面。本文借此总结一下自动化测试概念、换代历史和未来发展趋势。
自动化测试的概念
广义上来讲,自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(loadrunner、jmeter),或自己所写的一段程序,用于生成1到100个测试数据。狭义上来讲,通工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。我们更普遍的认识把“自动化测试”看做“ 基于产品或项目UI层的自动化测试”。
自动化测试的更新换代(发展史)
软件的自动化测试在过去一段时间中有长足的进步。每个世代的产品都成功解决了某些重要的挑战,但是同时也引进了不同的问题等待解决。
第一代的自动化测试大概在15年前开始,透过硬件的方式录制键盘的输入并播放,但缺少检查点(checkpoint)的功能,而且测试脚本很难维护。
第二代的自动化测试则大约在10年前开始的,这时已经由硬件转变成透过软件录制/播放(capture/playback)的方式产生测试脚本(), 并且也增加了检查点的功能,可以对软件做验证,测试的范围也比硬件方式的自动化方式大了许多。比较大的问题是测试脚本也是一种程序语言,所以测试人员也需 要懂程序语言,换句话说就是要会写程序。而且当软件有变动时,测试脚本也需要同步更新,这对测试人员来说是一大挑战,测试人员常常就是整个测试脚本再重新 录制一遍。
在2001年开始了第三代的自动化测试称为「测试框架(test framework)」,主要是把测试脚本给抽象