1.1,测试平台简介
平台就是一种用来实现某种功能的体系。平台包括各种不同的元素,架构,流程,标准,机制和工具等等。
以测试为例:
- 架构:测试体系中有关的各种Roles以及对应的Responsibilities。
- 流程:测试相关的各种流程,比如测试项目流程,测试管理流程,配置管理流程……
- 标准:在测试相关的各种流程中应该遵循的各种标准。
- 机制:各种相关的机制,如沟通机制,反馈机制,知识传递机制……
- 工具:用于实现各项工作和流程的辅助工具,如自动化测试工具,测试管理工具,知识管理工具……
以上是百度百科里面的介绍,不过目前由于公司出于安全,公司利益,技术保护等角度考虑,没有通用的测试平台;或是完全使用其他公司开发的平台,一般都是以某一项目技术或是某一种功能来切合点,来通过开源的代码进行二次开发,或是自主开发相应的平台。如,资源共享平台(wiki),接口自动化测试平台,bug管理平台(jira),项目管理平台,环境部署平台,服务,接口或是日志监控等等,也有糅合了多个功能而形成的多功能平台。
1.2 测试平台的发展
记得刚刚接触测试的时候,一般都是手工测试,偶尔借助于一些儿如PostMan,QTP之类的测试工具,或是火狐,chrome的一些儿插件,简单测试,感觉就挺不错的。随着测试技术的发展,自动化测试火了起来,各种测试框架,测试工具也就出来了,不过大家还是喜欢使用开源的框架,如Webdriver,Appium,Robotium等,感觉此时如果测试人员不会点儿技术,就落伍很多。
当然也有不少公司开始针对测试这个行业,来开发专门的测试工具和测试平台,如LoadRunner,Testin等,虽然很好用,但是由于多方面的原因,很多大中型公司,有一定技术沉淀的公司是不会使用它们的。在这种环境下,就产生了各种利用现有的开源框架,或是自己规划架构开发自己的测试平台等。此时对测试人员的要求更加高了,甚至比开发人员要求的更高。
当然,由于这样的平台公司内部使用的比较多,所以也不能完全了解各大公司的平台发展以及现状,不过大致方面还是一样的。都是致力于开发各种各样的平台,以达到整合测试资源,规范测试流程,提高测试效率,提升测试效率等目的。
1.3 开发测试平台的技术准备
以往通过尝试基本的测试技术,如条件覆盖,边界值覆盖等从而去做手工测试的年代;逐渐转移到通过开源的框架如python的unittest,Webdriver,Appium,Robotium,或是java的TestNG等做自动化测试。此时通过各种单一的语言,结合框架,就能实现自动化测试,做功能回归,监控等操作。现在上升到平台的开发的话,就不可同日而语了,因为我们测试人员开始向测试开发转变的化,还是有不少困难的。
由于我们开发测试平台公司很难会为我们安排相应的前端,运维等同学来支持我们的,所以要求我们需要了解以下技术:
- 会一门核心开发语言,如java,或是python等,当然也可以php,ruby等,不过要求开发成本低,支持技术比较多。
- 前端技术,html,css,js,jquery等灵活使用,以达到合理灵活的用户交互效果。
- 数据库等底层技术,需要设计平台的数据存储,服务器相关的操作。
- 需求的收集能力。如果级别不够,会有高级别的测试开发产生需求,你只要配合开发相应的功能模块即可;如果级别够高,就需要自己从平时的工作中提练出需求。
1.4 开发测试平台需要的本事
此处借助本事一词来聊一下开发测试平台需要的其他方面,我们不说能力,而说本事,这是很有中国特色的。因为能力只说明需要单方面的技术,而本事则不同,是一项综合素质。所以我们需要的本事是:
- Ø 全面了解新技术发展的本事。技术发展日新月异,要对测试相关技术的发展做一个全面的了解。最近有什么新的开发模式,什么好用的框架,或是某人又提出了一个新的思想等。
- Ø 扎实的技术基础,最基础的本事。现在很多测试人员想转测试开发,于是就什么都学习一通,结果呢,哪项技术也不精通,没有拿出手的技术,怎么发展呢?要有自己的特点,绝活,才能在工作中游刃有余。
- Ø 把握全局的本事。我们开发的任何测试平台,都不可能是孤立的功能,最少也是解决一个问题的相关方面,所以考虑问题需要有全局观念。如接口测试平台,就不可能是简单的接口请求和检测;还需要接口文档管理,测试用例管理,测试用例集管理,测试执行调度,结果展示和统计,错误预警等功能的结合。
- Ø 有很强的亲民本事。此处说的亲民,不是指广大劳动人民,而是指我们用户。不少技术大牛容易孤芳自赏,做起技术相关的工作如有神助,相关的平台或是功能,实现起来游刃有余。不过却会出现这样的情况,平台技术非常牛,功能也很强大,可是没有办法真正解决我们的问题?不是不符合真实的使用场景,就是使用成本比较高,这就是不亲民的表现。
1.5 总结
上面我简单地介绍了一下测试平台,测试平台开发中相关的技术技术准备,其他需要了解的内容。都是个人工作中的经验及认识,没有什么权威性,或是指导方向性,只希望能给这方面感觉兴趣的同学一些帮助,不至于太迷茫,感觉无从下手。