读完Google软件测试之道之后,在关于如何做自动化测试方面对本人非常有启发,以下结合自己的工作背景谈谈关于自动化测试以及关于测试工程师的一些启示
自动化测试
关于测试,在Google有个70/20/10原则:分别对应小型测试,中型测试与大型测试的比例.Google倾向于将能自动化的东西尽量自动化,当然这一切的前提是Google基于迭代开发,快速发布的需求.
再回到自己的工作.我自己所在的项目组大部份都是基于Ajax的网站,软件的开发基于前台+后台的模式:
- 前台:使用Jquery之类的JS框架去调用后台提供的服务去填充页面的内容
- 后台:使用Spring MVC编写大量的API供前台调用,一般都是以@RequestMapping标记的方法,大部份方法返回的是JSON字符串,供前台调用
目前项目组中已经进行的自动化测试包含如下内容
- 基于UI,使用Selenium web driver编写的自动化测试:目前已经将网站最重要的功能实现自动化.并且已经稳定地用于回归测试
- 后台的单元测试:一般是类级别的测试,比如DAO类和Service类的测试
所以目前这情况很明显缺少所谓的"20"的中型测试那一部分.当然我这里的"20"部分指的是Spring MVC里@Controller标识的类中带有@RequestMapping的方法,他们大部分会返回JSON,以API的形式供前端调用.和Google里指的并不一定是一个东西.在我们每一个新的或者老的项目中,都会有大概几十个这样的接口(API),如果能将这些接口进行自动化测试,无疑是有很多好处的
- 基于API的测试对UI没有依赖性,运行起来跟单元测试差不多
- 跟基于Selenium的测试比起来,这种测试运行时间相对更短
- 一般来说API不会频繁变动,维护成本会比基于UI的要低
- 如果程序有多个版本比如PC版和手机版.基于API的测试将始终是通用,与UI无关的
具体如何实施这样的测试呢?可以参照使用HttpClient进行接口测试,当然这篇文章只是描述了一个最简单的例子.主要思想就是使用HttpClient以及一些处理JSON的API比如Jackson之类的.
如果将这一部分测试完成,那么我也将我自己的70/20/10体系即:
- 开发工程师做基于类的单元测试
- 使用HttpClient+Json API测试的接口测试:将能自动化的都进行自动化
- 基于Selenium的端到端测试:这部分只做最重要/重复性的功能
测试工程师职位的几点启示
在Google软件测试之道中描述的TE的未来是测试架构师,他们会变成测试活动的管理者,我个人感觉这种水平或者境界并不是可以刻意追求的,它是基于知识加经验的不断积累.它更多需要的是实践,所以对此我觉得没有什么可以多说的.
以下是自己关于测试工程师这个职位的一些有用的启示:
- 要想成为一个好的测试工程师,必须成为产品专家.即使你在公司的职责并非是负责端到端的测试,但是成为产品专家对自己的工作无疑是很有益处的,我个人觉得这也是责任感的一个体现
- 我赞同书上说的测试工程师他首先是工程师,对于编程知识,尤其是工作相关的编程知识,一定要加强学习.对我自己而言,以后依然要多看看开发人员写的功能代码
- 对于测试产品而言,多进行一些探索式测试是非常有益的,我觉得James Whitttaker的<探索式软件测试>应该成为每个测试人员的案头书
最后,在本书5.6的结论中作者讲到"我们熟知和喜爱的测试方式即将终结.... (省略)....软件开发的问题也已经彻底改变.继续死守已存在数十年之久的测试教条无异于刻舟求剑".我个人所在的层次让我感受不到这种终结,哈.但是测试无疑是需要不断创新的.Google正是通过他们强大的技术能力以及创新精神来面对这种挑战,书中着重介绍的工具Quality Bot(质量机器人),BITE(浏览器测试环境)以及Google测试分析系统无疑都体现了这一点.让我们"拥抱这些变化吧,并促其发生,做一个与时代同行,与时俱进的测试者"
本文出自"lijingshou"博客,请务必保留此出处http://lijingshou.iteye.com/blog/2002642
相关推荐
软件升级测试是软件测试的重要方面。在分析软件升级路径数目爆炸式增长以及测试成本不断攀升的基础上,提出了一种升级路径优选方法,并在此基础上阐述了一种升级...基于这种测试模型给出了软件升级架构设计的一些启示。
财富管理行业系列专题:贝莱德成功之道的启示.pdf
软件沉思启示录 thoughtwork公司员工的精华 还有我的简历和面试资料
本资源适用于想进入软件测试行业或者初入软件测试行业的从业者,亦或者刚刚进入互联网行业的初级从业者。如果可以从我的感悟中得到一点启示,那么会比别人少走一点弯路,实现弯道超车。
20210728-国信证券-金融行业财富管理行业系列专题:贝莱德成功之道的启示.pdf
人工智能如何为高质量发展“赋能”——ICT时代的启示与AI时代的应对之道.pdf
编程之道(编程之道, 编程之禅, 计算机寓言--信息时代的启示)
嵌入式软件测试的十大秘诀,应该对测试方面有一切启示。
DOOM启示录 DOOM启示录 DOOM启示录 DOOM启示录 DOOM启示录 DOOM启示录 DOOM启示录 DOOM启示录 DOOM启示录 DOOM启示录 DOOM启示录
Linux现象及其对计算机软件保护的启示.pdf
从图灵测试到ChatGPT——人机对话的里程碑及启示.pdf
集合尽300名软件测试人员的实际经验总结。
香港轨道交通同站台换乘对轨道交通发展的启示整理.pdf
社会文化视角下美国高校智库建设的成功之道及启示
中美软件模式对比的启示.pdf
我根据自己的经验,理出一份软件测试计划编写指南,希望对大家有所启示,并同大家交流测试中的心得和方法。 1前言 1.1软件测试的目的 软件测试的目的决定了如何去组织测试。如果测试的目的是为了尽可能多地找...
机械设备行业周报:国内工业机器人行业前景之日本启示.pdf
078-大都市圈轨道快线形态比较研究及启示-word资料.pdf
云转型商业模型对垂直行业软件商的启示
计算机行业产业互联网专题_工业篇2:Aspen,工业优化控制软件龙头启示