关于不能成为专业软件测试人员的10大理由的一些阐述
<不能成为专业软件测试人员的10大理由>终于在两个夜晚苦战到12点多翻译完了,2,3年不接触英文还真是很生硬,可能大家一看就知道是Chinese English,哈哈!只能请阅者委屈一下了,以后我也要多多学习英文啦~
原文作者是之前负责惠普公司QC的一名测试前辈,无意中看到他的文章,有些我觉得还是很在点子上的。所以就当一边学习英文,一边总结测试相关的就出来这篇译文了。
在译文(一)出来之后,发到QQ群里就有同行伙伴提出了一些疑问,在这里我也结合我的工作实际阐述一下。
1.文章中第二点,深圳的一位同行就提出了:在中国90%以上的中国IT企业很难做到让测试人员在开发早期甚至需求早期就介入。
我不太确定他说的90%是否有数据支持,至少我所认识的很多同行都会在需求阶段让测试人员介入,如果还不是这样,我想测试人员是时候做些什么了吧??绝不能坐以待毙.我待过2家互联网公司,说说我的经历。一家是创业型公司,一家是中型公司,当时我们是如何做的呢?创业型公司,或许很多这样的公司,都没有较为成熟的文档化和流程,以快为先,唯快不破。没有专职的项目经理,甚至产品经理都没有,我们的CEO,CTO就是产品经理,甚至我们每个人都可以为产品设计贡献思路。老板们的想法已经成型了,很多时候在脑子里,没有文档化,然后开需求宣讲会议,因为人不多,开发测试都会参加,会议上也会有一些讨论,这是大改,还有小改,可能就发邮件给大家,邮件也算是文档吧。大多数时候大家很难在会议上就发现需求的全部漏洞,但是基于对系统的理解,有时候测试人员的思路也很活跃,"可以...不可以...如果...如果不..."类似使用场景的思路联想到的问题可能起到作用。但是不去参加这个会议,可能就只能到了代码写完提交给测试了,这个时候最大的问题就是,如果开发人员理解的有偏差,测试人员如何保证产品的质量呢?只有保证测试的需求与业务需求是一致的,才能真正的说明我们测试的是一款正确的产品。
其实如果不去参加那个宣讲会议,就是那位网友说的情况了。在我看来,在没有项目流程的公司里,测试人员要更加主动,主动承担一部分项目管理的工作。如果没有文档,可以主动申请加入到需求宣讲中去。其实参与到宣讲中,至少还有一个好处,可以知道为什么这么改,有助于我们更加理解业务的初衷。如果是邮件发出来的,可能就没有这么多来龙去脉。
上面说的是业务需求,其实对于开发设计的会议,我当时也是非常乐意去参加的,你会知道他们的设计思路是什么,大致算法如何设计,有哪些异常处理,是否有异常报警机制等等。没错,我能想到的一些use case也会提出来,让他们开发的时候考虑到。这样子,我能更懂产品,测试思路也更宽阔,而且让开发理解我们测试人的思路,如果他们也懂一些测试思路,很多问题在开发设计阶段就可以规避了,这也是尽早测试的意义所在。
再说第二家公司也就是现在这里,流程稍微正规一些,不过也是一步一步建立起来的,测试人员也参与到流程改进中去。有专职的项目经理和产品经理,需求是产品经理事先设计好的,只不过设计的时候可能会阅读原有的设计文档或咨询一下之前负责的开发或测试原来的业务逻辑,这也是为了取其精华去其糟粕,这是需求设计完成前测试人员唯一介入的;当需求设计完成后会发给项目组成员,组织宣讲,会议上可以提出相关疑问,产品经理会记录下来再进行确认或重新设计。之后需求设计freeze,如果不是特别大的问题,其他需求变更可以考虑延后处理,对于严重需求漏洞就需要及时变更,越往后成本越高.之后开发测试人员会依照新的文档开始工作,但是在测试设计用例或开发代码设计时经过更深入业务理解之后可能又会发现需求的一些问题,会集中反馈出来,产品经理一样会酌情考虑是否延后处理.后面的阶段就是进行用例评审,组织测试等等了.总体来看流程比之前创业型公司顺了很多,至少测试可以较早的介入.当然,测试人员参与到流程改进中也是一大保证.至少我的经历来看,项目延期的几大杀手就是需求变更,无流程和糟糕的项目计划.
2. 对于第三点中的情况,我想作者的意图也只是想要表达场景法设计用例的重要性,而且场景法设计用例的确是贯彻软件测试的始末.如深圳的那位朋友所说,没有一款产品是需要覆盖100%的,我们的策略都是一定要覆盖重要核心的业务,次要的备选流业务可以通过产品,开发及测试三方评审哪些需要覆盖哪些不需要覆盖,以得出测试的范畴,因为即使测试出了bug,也可能不修复,我想不被修复的bug是没有意义的.而且评审过的测试范围即使某天出现遗漏我们也有说法.
3. 对于第一点中谈的代码能力.我个人意见是:这项技能是锦上添花,并不需要每个测试人员都需要具备.但是具备了就可以参与到项目的code review中去,在提测前期就可以发现很多问题,而且具有代码能力的测试人员可能更懂得如何更有效的去测试。
据我对功能逻辑性bug的分析,记住是功能逻辑性的不包括其他类型诸如UIUE上的。主要有3类:
1)大多数bug是很简单的代码错误,如果一经过大家的评审,就能发现出来;
2)一部分是业务理解错误,写的代码不符合业务需求,代码走读时也可以发现部分问题,但是不能发现全部,代码走读也可能只是对核心业务代码或接口部分进行的评审,而系统层面的需要在系统测试阶段才能发现。如果在前期保证产品,开发和测试三方对需求理解的一致性,就可以减少很多这样的bug,不是吗?
3)还有一小部分可能真的是比较难处理的bug,难复现,难调试。这部分东东,测试人员也很难评审出来。
4. 最后我再补充一条:能够将自动化和手工测试很好结合起来开展工作的也是一大挑战。
我相信在很多公司,专业做自动化测试的团队对业务理解不够深刻,他们很多时候都是在研究新的技术完善测试框架,或者按照手工测试用例的优先级编写脚本,然后只是让自动化daily run。而且他们不一定知道测试哪个需求时需要自动化配合做回归测试,或者哪些内容可以提前把关键流程的用例事先实现自动化,等提测之后用来自动化smoke,哪些需求变更了又需要更新自动化。如果通过双方测试人员沟通,这种沟通的成本我觉得也不少。熟练地掌握手工测试技能并且能够自动化实现,在项目测试中很好的配合,以节省回归测试时间,这是一个挑战也是一个趋势。
关于不能成为专业软件测试人员的10大理由的一些阐述相关推荐
- 不能成为专业软件测试人员的10大理由
你是一名专业的测试人员吗? 如果你看到这篇文章了,你就有机会成为专业的了! 我写这篇文章并不是因为这个,其他无数的测试人员有比我更多的好东西拿来分享.总体而言,我的意思是在空闲时间阅读其他测试相关文章 ...
- 您不是专业测试人员的10个理由!
为什么测试人员在某些组织中没有得到专业治疗. 你是专业测试员吗? 如果您在空闲时间阅读与质量保证相关的文章以提高您的测试技能,那么您将成为确定为专业测试人员的小型(并且希望增长)工程师. 在镜子里寻找 ...
- 选择SOLIDEDGE的10大理由(2)
在上一期的选择Solidedge的10大理由中,我们已经介绍了前5个Solidedge的强大的功能,本期将会大家介绍剩下的5个理由,让您对solidedge这个产品有更加深入的了解. 6.切实帮助企业 ...
- 10大理由告诉你为什么要学习Python
Python 是当今非常流行的编程语言,在互联网上经常可以看到他的身影.它应用非常广泛,例如编程.Web 开发.机器学习和数据科学等.在最新的tiobe排行中 Python 甚至超越了 Java 成为 ...
- 外媒列10大理由建议消费者不购买iPad
外媒列10大理由建议消费者不购买iPad 1.iPad明年将降价 业内人士预计,苹果将于2011年推出iPad 2,这意味着第一代iPad的价格将下降.第一代iPhone推出时,8GB存储容量的价格为 ...
- Windows 7会成为Win XP第二的10大理由
在桌面操作系统的竞争中,Linux和Mac OS的支持者都表示,他们的战斗平台将会昂首阔步,继而领先桌面操作系统市场.虽然Linux和Mac OS所占据的市场份额依然很小,但是近几年来,有关Linux ...
- 有限状态机时代终结的10大理由
有限状态机时代终结的10大理由 作者:alexjc 译者:赖勇浩(恋花蝶) 原文地址:http://aigamedev.com/questions/fsm-age-is-over 本文最初发表于恋花蝶 ...
- Chrome和火狐威胁微软IE的10大理由
美国知名IT杂志<eWeek>网络版今天刊文称,虽然微软IE目前仍在全球浏览器市场占据 主导地位,但它不可能永远保持这种市场优势.就近期而言,谷歌Chrome和Mozilla所开发火狐(F ...
- iPad Mini将成为苹果新摇钱树的10大理由
[赛迪网讯]10月18日消息,据eWeek网站发表的一篇分析文章称,苹果的iPad Mini对于该公司有重要意义,尽管已故的史蒂夫·乔布斯反对小尺寸的平板电脑.iPad Mini可能证明是苹果的一个新 ...
最新文章
- Jvm 系列(七):Jvm 调优-工具篇
- 黄学东出任微软全球人工智能首席技术官,从负责语音技术到微软Azure云的转身
- WINCE6.0 DM.EXE 激活驱动失败的原因之一
- 区块链溯源系统架构---区块链工作笔记002
- 这四行棘手的C代码背后的概念
- python工作空间_Python保存工作空间的数据(pickle your data)
- Tomcat结合nginx使用案例
- C语言基础入门:C-Free 5下载和安装详细教程
- go技术文章精选(2019)
- docker容器接入canbus
- 单片机简易数字钟c语言程序,用AT89C51/AT89S52单片机制作的简易数字钟
- oracle配置ipv6_配置 IPv6 路由器
- ES5实现组合继承的原理
- html中图片放大镜效果图,HTML5使用不同精度的图片来实现图像放大镜效果
- sumifs countifs 时间段
- 计算机语言排行榜2015,2015年3月编程语言排行榜:F#排名达到11
- siblings的用法
- FFT(傅里叶快速变换,详细讲解+推导) 每日一遍,算法再见!
- 遇到的坑-语法错误: Non-UTF-8 code starting with '\xe7' in file
- 肇庆高考成绩查询2021,2021肇庆市地区高考成绩排名查询,肇庆市高考各高中成绩喜报榜单...
热门文章
- call和apply
- 文化部随机抽查50家网络表演平台 看看有没有那种内容
- mysql 客户端提示“Cannot proceed because system tabl...
- linux expect 输入密码,shell脚本无密码登录 expect的使用方法详解
- matlab的rvctools,rvctools 机器人工具箱,主要用于 仿真, 型很强。 matlab 270万源代码下载- www.pudn.com...
- java中的多态_Java中的多态
- 计算机仿真的过程,计算机仿真的过程与方法.doc
- 夏天到了用TypeScript给自己开个小空调吧
- C语言实现长整数连加,二个超长正整数的相加
- JavaScript初学者编程题(2)