现在还需要测试或者QA人员吗?
Facebook没有专门的测试人员,都是开发自己测;微软裁掉了测试部门,改由开发测;google有少量的测试人员,主要做测试自动化框架开发或者性能、安全等专项测试,测试用例还是开发人员自己设计自己跑(参见:google是如何测试的?)。还有很多互联网公司都不要测试人员了,直接把产品发布出去,让用户来测,有问题马上打补丁。
看起来现在测试人员越来越没有价值了,而且国内流行鄙视测试人员,特别是做手工测试的,更是在被鄙视链的底端,公司领导也不重视测试部门,感觉测试人员越来越没有前途,难道现在真的不需要专门的测试人员了?
诚然,互联网的产品多,相对独立,更新迭代快,而且需要快速的响应、发布,所以互联网公司可以不用测试人员,而是开发自己测,然后发布给用户让用户直接体验并发现问题,这种模式是可以的。比如一个新闻客户端,用户点了“体育”分类,可是没有显示对应的体育新闻,那没关系,用户报了问题,开发马上发布个更新就行了,用户基本上没什么损失,公司也就被吐槽一下,这比养几个测试人员成本小多了。
可是对开发企业级应用软件的公司来说,可以不用专门的测试人员吗?
企业级软件一般都很庞大、复杂,功能、业务逻辑太多,这样的软件需要很高的正确性、稳定性,新版本都是在已有版本的基础上开,周期长,迭代慢,新功能需要和已有的功能兼容,不能引起regression问题,所以需要不停的测试,不仅要测试新功能,还要测试这些新加的功能是否破坏了以前的功能。这些光靠开发自己做,肯定是做不过来的,他们能对自己的新代码都写单元测试就很好了。
那么能发用敏捷开发的方式来开发新版本?我觉得不太适合,原因就是前面所说的。我公司做企业级软件,现在也是实行敏捷开发,但是感觉其实并不敏捷,本身新功能的开发就慢(因为功能复杂,还要兼容已有的功能,不像互联网的产品,彼此独立性很强),能测试的时候往往已经过去了几周,然后测出问题来还要修复bug,增强可用性等等,再回来测试,再修bug……这个过程本来就不敏捷啊。那能否先搭建好自动化测试框架,开发自己设计用例,然后放到自动化测试框架里跑?也不是好办法,因为首先自动化并不能覆盖所有的case,很多case还是需要手工来运行,而且手工运行发现的问题往往很多很重要。其次开发人员和测试人员的思维还是有差别的,很多场景开发考虑不到,否则如果开发都能想到,那么他写代码的时候就可以完全避免可能出现的bug,但实际上测试的时候还是有很多问题。
所以企业级软件还是需要专门的测试人员的。那什么样的测试人员才能让公司认识到自己的价值呢?
1. 如果是手工测试,那么你需要深入了解业务,怎么和产品结合,然后设计出好的测试用例,从而检测产品是否存在重大问题。如果只是根据需求说明,测试产品满足了需求规定的基本功能,不能深入扩展、发掘深层需要,那么这种测试人员的价值就很低了,因为可替代性太强了。你能根据需要更深入的思考,再和具体的业务联系起来,那么很容易设计出更多更好的用例,即使你提出的是更好的产品UI的布局,报错信息的友好程度,也是帮助了产品质量的提高。
2. 如果是自动化测试,那么需要考虑的是如何能提高case的自动化覆盖率,如何扩展自动化框架来支持新的case,或者开发新的工具来运行case。会编程语言、脚本语言更好,能找到合适的开源工具也可以。当然,如果你能设计一个满足大部分case运行的自动化框架或者工具,是最好的了,因为这样,我们就可以在测新功能时,按照标准设计好case,然后按照流程放到自动化框架里跑就行了,我们只需要手动运行少量的不能自动化的case就可以了,这样得省了多少时间和精力啊。持续集成需要做,因为回归测试需要它做基础。自动化测试结果分析:能根据结果轻松的判断一个错误是产品bug还是测试框架/工具问题并能修复,这都是能力的体现。
3. 性能测试:企业级软件的性能是竞争力的体现,即使你的功能再强,但是性能太差,一秒钟处理不了几个请求,恐怕客户在购买时也要权衡再三吧。所以把性能做好使对产品质量的极大帮助。一般收费用LoadRunner,免费用JMeter就可以了,关键是设计性能测试用例,和结果分析。
4. 安全测试:安全的重要性毋庸置疑了,“棱镜门”事件,各种黑客、病毒木马事件,还有现在无处不在的贷款、买房骚扰电话(这是个人信息泄露),人们越来越重视安全的问题了。软件也不例外,如果你有漏洞被入侵了,导致机密信息泄露,或者产品瘫痪了,试问谁还能信任并购买你的产品?那安全测试人员的价值就体现了。一个安全测试人员,需要至少了解SQL注入、XSS、CSRF等等安全问题,需要做渗透测试,需要对产品做全面的检测,像黑客一样从各个方位入侵,这样测试后的产品,才会有可靠的安全性。
5. 测试管理:测试经理自不必说了,他整合团队、分配任务等等都是需要能力和经验的。另外还有别的管理比如制定测试流程,规范测试过程和标准,整合测试资源、结果等,这些工作会对测试的效率、产出起很大的帮助。好的测试流程、标准更能起到事半功倍的效果(当然团队人员的执行力也需要很强)。
6. 解决问题人员:不管是自动化测试,性能测试,还是安全测试,如果发现问题,能分析出问题的原因,找出问题的根源,然后再根据问题开产品bug或者修复测试问题的人员,都是人才。能给开发提供最多的信息,特别是指出具体出错的代码的测试人员,应该是开发最喜欢的吧,因为这样省了他们很多时间。
另外QA和测试不能等同,只是现在大家为了好听,很大测试人员都称自己为QA了。我认为QA的职责更大,他需要在需求阶段就参与讨论、分析,要让需求更合理,要从需求阶段就知道测试的重点、难点,然后在开发、测试阶段都时时紧跟,这样才能让产品的质量有更大的保证。
现在还需要测试或者QA人员吗?的更多相关文章
- 测试思想 QA的价值体现
QA的价值体现 by:授客 QQ:1033553122 1. 缺陷挖掘价值 QA人员一个很重要的价值就是在尽可能短的时间内找出尽可能多的缺陷. 某种意义上说,缺陷直观的反应了产品的质量,QA发现的有 ...
- 测试,测试开发,QA,QM,QC--------- 测试之路勿跑偏
测试,测试开发,QA,QM,QC可能是测试行业里的细分角色了,加了不少群学习,看到不同人有对自己不同的角色定位.我也做了这挺长时间的测试,也和大部分测试同胞一样,为了一份好的工作学习各种各样的技术,但 ...
- 关于新feature对应的增加一个新的测试单子(QA)和文档单子(Doucmentation)的步骤
一,增加一个new feature的文档单子. 1.new feature 增加对应的文档单子(公司有一个组是专门写产品说明的)所以增加一个新的功能就要有这个新的功能对应的一个文档(Documenta ...
- ie6兼容性,还需要测试么?迷茫。。。
最近公司网站在谷歌,火狐上测试都没有问题,但是在ietest,ie6上出现兼容问题 ,由于ietest好几次打开ie6都报错(尝试卸载重新安装几次无果),下载virtualbox安装自带ie6的xp系 ...
- WINDBG常用方法
前言:windbg大家都很熟悉,它是做windows系统客户端测试的QA人员很应该掌握的定位程序崩溃原因的工具, 网上也有很多资料,但是真正适合QA阅读和实用的资料不多,我把我认为最重要最应该掌握的结 ...
- SFDC 微服务实践之路 2016.12.10 杭州(整理)--转
原文地址:http://mp.weixin.qq.com/s/8cC4Ewt6yPjnxdYxuNZlFQ 微服务是什么? 微服务是一种细粒度(Fine-Grain)的SOA 或许在座的高朋了解过其概 ...
- 软件测试 -- 测试人员和QA的区别
软件测试人员的职责是尽可能早的找出软件缺陷,确保得以修复. 而质量保证人员(QA)主要职责是创建或者制定标准和方法,提高促进软件开发能力和减少软件缺陷. 测试人员的主要工作是测试,质量保证人员日常工作 ...
- 百度测试架构师眼中的百度QA
百度测试架构师眼中的百度QA(一) 发表于2013-04-09 15:31| 4004次阅读| 来源架构师Jack的个人空间| 13 条评论| 作者董杰 百度测试QA 摘要:一直以来百度质量部在业 ...
- [置顶] SpecDD系列:6个确保您执行“充分”QA测试的技巧
确保团队执行 “足够的” 测试覆盖面是非常困难的,尤其是对敏捷开发团队来说.对于初学者而言,一个开发Sprint中要完成多少的质量保证工作才够呢?我们知道,敏捷的标准是在开发Sprint结束的时候要完 ...
随机推荐
- leetcode-【中等题】228. Summary Ranges
题目: 228. Summary Ranges Given a sorted integer array without duplicates, return the summary of its r ...
- Caffe应用篇----文件格式转换
网友文章: 我们手中有的一般都是图片数据,jpg.bmp格式等,但caffe常使用的数据是db格式(leveldb/lmdb),因此首先我们要将自己数据转换成caffe可运行的格式文件.别捉鸡,caf ...
- Numpy应用100问
对于从事机器学习的人,python+numpy+scipy+matplotlib是重要的基础:它们基本与matlab相同,而其中最重要的当属numpy:因此,这里列出100个关于numpy函数的问题, ...
- 使用spring手动获取Bean的时候,不能强转回它自己。
这个问题好像有点长,描述一下: 就是通过类名的方式获取Bean后,得到一个Object对象,但是这个Object不能再强转回Bean了.抛出的异常时类型转换异常. java.lang.ClassCa ...
- ES6 学习笔记(1)
恰逢换工作之际,新公司的是以 ES6 + webpack + vue 为技术栈, 正好ES6是我下个学习目标, 因此买了阮老师的 ES6标准入门,也当是支持阮老师了. 笔记将会照着这本书的阅读展开而做 ...
- WeedFS问题收集
weed fs FAQ Moving files to a different server Q: Hello,is it possible to move manually the .dat and ...
- TJI读书笔记14-闭包与回调
TJI读书笔记14-闭包与回调 闭包与回调 为什么要使用内部类?内部类继承自某个类或者实现某个接口,内部类的代码可以操作外嵌类的对象. 这不是使用内部类的理由. 那么为什么使用内部类呢? 我觉得如 ...
- 使用Gson解析json
前边的博客说过将json解析成java的方法,使用的是 这几个jar包,但是在解析时层遇到一个问题,就是在将时间字符串转换为java的Timestamp对象时会抛出异常,这个问题一直放在哪里没有去解决 ...
- HDOJ(1348)二维凸包
Wall http://acm.hdu.edu.cn/showproblem.php?pid=1348 题目描述:有个国王想在他的城堡外面修围墙,围墙与城堡的最小距离为L,要求围墙长度最短.求围墙的长 ...
- 那些可能被你忽略的MySQL优化技巧
说明:本文中的内容适用于MySQL5.1-5.6版本,不保证新的版本中仍然适用; 且只针对于大部分常见应用场景,是否有效果应以基于实际业务数据的测试为准. 1 优先把列设置为NOT NULL 允许NU ...