谈谈自动化测试(三)

自动化测试是不是就是银弹?

显然不是,他还有很多适用条件,比如说需求频繁变化的项目,生命周期小于1年的一次性产品,耗费测试成本过高的自动化测试等,这些都不适合进行自动化测试。

总的来说,我们需要从投入产出比上考虑是否采用自动化测试。

从测试类型看,大致的可能可以这样分类:

谈谈自动化测试(三)_第1张图片
test_type_auto.PNG

回顾自动化测试的历史,是从录制回放->线性脚本->模块化脚本->数据驱动->关键字驱动->基于模型的自动化的过程,实际上基于模型的自动化基本上是达到了当今自动化测试的最高水平。

比如一个12306订票系统是用java开发的,那么我们建立测试模型,极端情况下就是用高效的开发语言如python或者lisp等开发一套类似12306的系统,并包含检测判决。

比如一个智能机器人系统,我们同样可以建模一个类智能机器人系统(但需要快速完成并提供检测功能)。

更为极端的,我们的体检实现自动化检测,也可以采用类似的思路,创造出和人类类似的简易系统,快速发出检测报告(等我有机会写一篇测试员和医生)。

业界有很多自动化测试框架和工具,很多大公司会自己开发一套自动化执行工具和框架,但是原理基本类似RobotFramework,xunit,selenium/appium等,核心思想是远程调用,可以酌情使用开源或者购买商用工具。

那么自动化测试需要测试人员掌握哪些技能呢?以下技能是缺不了的:

英文阅读:大量第一手技术文献和资料都是英文的

如何使用Google:快速准确的找到知识

精通一门脚本语言:Ruby、Python、Perl、JavaScript、Shell等任选1种

精通使用一种编辑器:ATOM,UltraEdit,SublimeText ,VIM, Emacs等任选1种

正则表达式:利器+神器

版本控制:SVN,GIT,GitHub,创作者必备

你可能感兴趣的:(谈谈自动化测试(三))