自动化测试之准备篇
2016-02-23 20:59
183 查看
很多公司都在想进行自动化测试,特别是在看到很多公司的测试人员招聘时,会写上熟悉自动化测试,熟悉java、Python、ruby,熟悉Linux系统操作等等。但是其实真正招到的人还是进行手工测试,无非也就偶尔跑跑loadrunner。其实在大多数国内企业没有环境去静下心来进行自动化测试。其实大多数企业都希望快速交付,快速响应,寄希望于自动化测试来提高测试效率,缩短测试时间。但是这是需要在建立起一套高效的自动化测试框架之下,而建立这套框架绝不是几个月能完成的,而且在多年的执行中需要不断优化完善,才能达到最佳效果。我想国内企业愿意花如此代价来开发一套这样的自动化测试框架应该少之又少。但是大体量级(如BAT)的企业最终采用自动化测试也是必然的。当你的手工测试用例达到几千甚至上万,而且系统持续不断更新,发布时间要求越来越快的时候,当你想一晚上执行完上千条测试用例的时候,而你又有足够的资金去养一群看似没有带来直接经济效益,而又工资很高的测试开发工程师的时候,就可以开始自动化测试准备了。
1、人员准备。当然是招聘一群自动化测试工程师,或者叫测试开发工程师。这些人一般都是从事过开发工作,精通或者熟悉多门开发语言、脚本语言。还有一些是从传统手工测试过渡到自动化测试,测试本身的东西当然自然精通了。
2、技术准备。无非就是选择用什么基础框架了,selenium、watir或者robot。最常用的应该是selenium,而且他支持多个语言,java、Python、ruby、C#,这也是我比较推荐的。如果选择selenium当然就要选择用什么语言了,本人比较喜欢用脚本语言,如ruby,语法简单,java几句话完成的,它用一句就搞定了。自动化测试就是为了提高效率,没必要选择那么复杂的。达到同样的效果,过程越简单越好。
3、环境配置。代码管理,可以用git,不用单独准备服务器。若干台测试执行机,和若干台测试服务器。执行机和服务器必须分别处于不同的物理服务器。执行机服务器可以划分多个虚拟机,同样的服务器也可以划分多个虚拟机。因为同时上千个脚本快速请求一台服务器,很可能因为环境问题而failed。而我们做功能自动化,本身是考虑功能的正确性,不去考虑性能问题。所以测试的环境尽量排除其他干扰,确保脚本顺利执行,以检测出功能上的问题。因此网络环境上,执行机与测试服务器要在一个独立的局域网中。同时还得要一台控制机去控制测试服务器的产品部署,和执行机的执行任务,以及对执行结果的汇总报告。
1、人员准备。当然是招聘一群自动化测试工程师,或者叫测试开发工程师。这些人一般都是从事过开发工作,精通或者熟悉多门开发语言、脚本语言。还有一些是从传统手工测试过渡到自动化测试,测试本身的东西当然自然精通了。
2、技术准备。无非就是选择用什么基础框架了,selenium、watir或者robot。最常用的应该是selenium,而且他支持多个语言,java、Python、ruby、C#,这也是我比较推荐的。如果选择selenium当然就要选择用什么语言了,本人比较喜欢用脚本语言,如ruby,语法简单,java几句话完成的,它用一句就搞定了。自动化测试就是为了提高效率,没必要选择那么复杂的。达到同样的效果,过程越简单越好。
3、环境配置。代码管理,可以用git,不用单独准备服务器。若干台测试执行机,和若干台测试服务器。执行机和服务器必须分别处于不同的物理服务器。执行机服务器可以划分多个虚拟机,同样的服务器也可以划分多个虚拟机。因为同时上千个脚本快速请求一台服务器,很可能因为环境问题而failed。而我们做功能自动化,本身是考虑功能的正确性,不去考虑性能问题。所以测试的环境尽量排除其他干扰,确保脚本顺利执行,以检测出功能上的问题。因此网络环境上,执行机与测试服务器要在一个独立的局域网中。同时还得要一台控制机去控制测试服务器的产品部署,和执行机的执行任务,以及对执行结果的汇总报告。
相关文章推荐
- PHP面向对象开发,关于调用父类构造器的问题
- iOS将产品进行多语言发布,开发
- Perfect Squares
- 基于layer mobile手机端弹出框,询问框(PC端推荐layer和artDialog:http://download.csdn.net/download/cometwo/9437895)
- Leetcode题解(31)
- 使用API获取文件内部存储路径详解(getFilesDir()和getCacheDir())
- 解决springmvc中文件下载功能中使用javax.servlet.ServletOutputStream out = response.getOutputStream();后运行出异常但结果正确的问题
- cnblog之初来乍到
- C++编译器之间的不同性能
- Ubuntu下VIM的安装和基本用法
- 不就是一个订票网站吗,12306的核心模型设计思路究竟复杂在哪儿?
- 学习Linux计划书
- Bitmap.createBitmap函数有6个重载方法
- bzoj3739 DZY loves math VIII 莫比乌斯函数
- 其实我可以做的更好
- CodeForces 38B Chess
- 51单片机时钟与周期
- 自定义cell
- extjs form.load()加载服务端数据
- 技术开发人员适应其他部门提需求的一个经验