漫谈自动化测试(三)——建设阶段划分
来源:互联网 发布:c语言9除以10的余数 编辑:程序博客网 时间:2024/05/29 07:22
我们在上一篇《漫谈自动化测试(二)——适用场景 》谈到了软件自动化测试的适用场景,对自动化测试的先决条件和适合的测试类型进行了分析说明。既然我们知道了要开展自动化测试,那也有必要知道自动化测试成熟度的阶段划分,就像程序员也分初级、中级、高级等一样,一个公司或团队的自动化测试的能力构建,也可划分以下三个阶段。
初级阶段——测试工具杂乱拼凑
在自动化测试水平的初级阶段,公司已经具备了独立的自动化测试小组,拥有自主研发、二次开发、开源或商业的一套测试工具,脱离了完全的手工测试。但是,相关的测试工具没有统一的规划和集成,就像拥有了一个工具箱,锤子是锤子,扳手是扳手,螺丝刀是螺丝刀,工具杂乱的陈列在一起,不能互相协同工作。发展水平较低的,甚至还有用石块代替锤子,用木棍代替螺丝刀的呢
我们都知道,一套完整的测试工具,包括缺陷管理系统(如Bugzilla,JIRA等),用例管理系统(如TestLink等),脚本管理系统(如SVN、Git等版本控制系统,也可和用例关联在一起管理),执行驱动系统(如Robot Framework的驱动, Hadoop系统等),测试报告管理系统(貌似比较缺乏,一般都是以文件或数据库形式存在),实验室管理系统(也即所谓的硬件设备管理系统)。这些管理系统(工具)的优劣程度决定了公司自动化发展水平的高度。请关注下篇 《漫谈自动化测试(四)——如何选型》。
有些公司甚至缺少多个以上提及的管理系统,甚至还用最原始的 Excel 或文本文件管理 Test Case,用共享文件夹方式管理测试脚本和工具,处于最原始的阶段。以上提及的管理系统,有些也不是必须的,比如实验室管理系统,若公司就那么几台服务器,根本就没必要使用管理系统,但是若硬件设备成百上千,就需要使用管理系统了。
中级阶段——测试系统协同工作
在中级阶段,公司应该具备一套比较先进的管理系统了,至少拥有用例管理系统,脚本管理系统,缺陷管理系统和测试执行驱动系统(工具)。该阶段由于采用了先进的管理系统,比初级阶段具有很大的提高,管理效率、规范性等都得到了保障。
在此阶段,公司具备一套统一的测试框架,能够满足现阶段所有产品的测试需求,对测试用例、测试脚本的管理良好,开发自动化测试脚本简单高效,使用方便。拥有独立的自动化测试团队和测试环境,负责自动化测试框架设计和开发,自动化测试工具的开发和维护,自动化测试用例实现、执行和维护等工作,分工明确,具有中长期发展规划。
大部分的公司都处于在这个水平,其实达到中级阶段,软件测试的发展投入应该不少,说明公司比较重视软件测试和管理。
高级阶段——测试管理高度集成
高级阶段的自动化发展水平,公司不仅拥有完整先进的管理系统(设备管理、用例管理、缺陷管理、执行驱动、报告管理、脚本管理等),而且各个系统无缝连接,高度协同工作。各个管理系统即相对独立,又拥有高度的可扩展性和透明度,能够与其它系统完美结合,并且均有专人负责开发和维护。
在这个阶段,公司有完全独立的管理系统开发维护人员,有统一的规划和发展计划,拥有一套完整的 CI 系统(continue integration 持续集成),对于公司各个部门的各个产品,能够通过设备管理系统调度分配硬件设备,有中心控制器负责整个测试流程控制和调度。从被测产品的代码提交、编译、打包、部署,到测试设备分配、测试脚本执行、测试报告收集和发送,测试结果分析统计,都是一条龙服务。整个公司都基于一套统一的系统集合,具有高度的统一性、降低各个部门独立开发维护的成本、可扩展性良好,拥有专业的开发维护人员,管理系统和测试工具质量可靠,测试可信度高。
要达到高级阶段,公司需要雄厚的财力和物力,并且拥有技术实力强大的团队,中小企业是很难达到这个阶段的。据我个人认为,华为公司就达到了本阶段,它的各个管理系统都是自主研发,各个系统设计架构非常优秀,具有良好的可拓展性和适用性,都达到企业级商用的水平,但要完整理解和使用这一系列的系统,也不是那么简单的事情,一般都是各个部门分配专人接受培训,基于公司的统一管理系统,再针对各种产品的特性负责本部门产品的自动化测试工作。
欢迎转载,转载请注明出处: 《漫谈自动化测试(三)——建设阶段划分》 http://blog.csdn.net/thomashtq/article/details/45217659
- 漫谈自动化测试(三)——建设阶段划分
- 漫谈自动化测试(一)——如何入门
- 漫谈自动化测试(二)——适用场景
- 漫谈自动化测试(四)——如何选型
- 漫谈自动化测试(五)——实施过程
- 漫谈自动化测试(六)——环境部署
- 功能测试漫谈——等价类划分(Equivalence Class Partitioning)
- 测试阶段划分
- 自动化测试三个阶段
- Appium移动自动化测试(三)——python demo
- Android 自动化测试—robotium(三)EditText控件
- Android 自动化测试—robotium(三)EditText控件
- Android 自动化测试—robotium(三)EditText控件
- 软件测试分类(按开发阶段划分)
- 测试入门之测试阶段的划分
- 自动化测试总结(三)
- 自动化测试之路——EMMA在java代码覆盖率自动化测试中的应用(三)
- 学习使用Robot Framework自动化测试框架(三)——简单组合测试例子
- 图片设置热点链接
- ~0uLL >> 1
- CentOS6.6使用linux git官网最新安装包安装git-2.3.5
- Don’t Repeat Yourself
- 记录下我的嵌入式开发生涯
- 漫谈自动化测试(三)——建设阶段划分
- x-requested-with
- iOS编程规范
- windows下为vim配置Taglist、Ctags
- iOS媒体视频播放器应用源码
- Hibernate一对多关联映射
- 最长共同子序列 --- DP(动态规划)
- Count and Say @python 题解
- Java中创建(实例化)对象的五种方式