把软件测试搬出实验室
作者:网络转载 发布时间:[ 2013/11/29 16:05:31 ] 推荐标签:
在四月间,六月间分别在天津和北京参加了软件测试主题沙龙,在会上都讨论了同一个问题: 什么是软件测试人员的核心能力?
在天津的沙龙上,与会的测试经理和高级测试人员总结了十条,但是其中没有“写代码”。
在北京的沙龙上,不仅测试人员同意这个观点,一些开发人员也指出,出色的开发人员,他的核心技能不是写代码,而是对需求的把握,对设计的睿智,对品质的追逐。
反过来看我们的测试人员,尤其是那些刚刚参加测试工作两三年,正在经历“迷茫期”的工程师,他们总在问同样的问题:是该学习Java编程吗?学习 Loadrunner 可以让我加薪吗?既然Google 需要使用 Python,我是该系统的学习 Python 和 Selenium 吗?对这种问题我的回答都是:不!不!不!
测试人员(大部分是手工测试人员)问这个问题,是出于一种担忧:怕失去工作: 既然自动化测试的代码会代替手工操作软件,既然敏捷模式下的开发测试混合模式已经(号称)不再有独立的测试人员,那么出路何在?
首先,我们抛开愚蠢的工作安全性担忧——我家门口菜市场卖烧饼的老板不会英语,电脑使用于播放dvd,但挣得比我多——我们回到测试的本质聊一聊。
独立软件测试出现的原因是为了应对软件质量风险,那么从这个角度我们来分析一下:
1. 由开发人员执行的测试从1940s年代,电脑又傻又大的岁月其起有了,而第一个独立的测试人员是微软公司在1976年招聘的,那么,只要微软公司的智商还正常,他们的软件质量一定遇到了靠开发人员测试无法保证的状况——这种状况实在太多,我不意义列举了——那么,在1940年到1976年将近四十年,开发人员测试没有解决的质量风险,在忽然可以解决了?
2. 开发人员是人类历史上懒惰的一批人,自他们开始测试起,他们发明了各种各样的工具来代替他们测试——也是自动化测试,结果呢,到了1980年代,微软还是开始大批量招聘独立测试人员,到现在仅微软有几万的测试人员——那么,在1940年到1976年将近四十年,自动化测试没有解决的质量问题,在忽然可以解决了?
何况软件的使用场景、用户类型、业务都极大的复杂化了。
解决了是否会失业这个问题,谈谈个人的观点:手工测试人员不会失业,其中一个原因是:我们的测试将会社会化、复杂化。
关于软件测试的社会性,我举两个例子。
例子1:几年前坐公交时,和旁边的两位美女搭讪,聊起工作。她们开始吐槽自己的职业。她们是银行信息中心的表单录入员。每天的工作是把纸质表单中的数据录入到软件中去。她们说:“我们每天早上大的期待,是运气,期待挑到一台好电脑”(她们没有固定的电脑设备)。而好电脑的定义是:用Windows XP的是好电脑;用Windows 2000的是烂电脑。因为,表单录入软件的某些按钮,在xp下只需要做单次点击,在2000下要双击。当录入一个表单时这很好,但是她们要处理将近3000个表单,这意味着用“好”电脑的人可以早下班,而用“烂”电脑的那个要加班。这个问题(注意,严格意义上说,都不能算bug,因为“客户没有明确这个需求”)对程序员来说,对测试人员来说,真的不算重要,我们只会点几次,看到完成了功能,声明通过了,但是看看我们给客户带来的痛苦。
例子2:一个大学生告诉我,大夫给母亲开药的电子处方系统没有做限制,某个只能吃三天的药开了五天的量,幸亏在药房被发现,及时更改过来,否则可能造成人命关天的医疗事故。
例子3:我的女儿只有三岁,但是她可以用ipad找到切水果,我观察过她的操作:首先她不会看字,全部靠图形识别,另外,她能记住划几下屏幕可以找到那个图标,如果找不到那个图标,她会按下home键回到初始屏幕,然后再次执行同样的操作。但是一旦到了使用鼠标和树形菜单的windows系统下,我经常会听到她找不到应用而生气的大声哭。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11