也谈测试核心竞争力

作为一名测试人员,到底其真正的核心竞争力是什么?这个问题一直困惑着我,当我还未曾踏入这一行业的时候,听到的声音是这样的:“测试是一种很有前途的工作,需求大于供给”、还有一种是这样的“测试就要做接触到代码的,点点鼠标谁都……”怀着对于一个行业我也不知道好还是坏,到底是个什么玩意的心理选择并进入了这个行业。期间,我承认,的确有那么一段时间,我认为作为一名测试如果能够对于代码了如指掌,能够写出一个个的工具才有可能成为武林的盟主,寿与天齐。似乎,作为测试来说最核心的竞争力就是对于代码的掌握程度,除此以外,那些什么功能测试的用例似乎就是个最低端,最没有价值的产出而已。

但是就今天看来,就我现在自己遇到和看到的一些问题和现象,我开始对自己的一些想法有了挑战。例如:现在很多组都在做和预研一些代码级别的测试工具,例如覆盖率工具啦,代码扫描工具了(主要是遵循相关的语法规则做一些例如是否有空指针风险,是否有未定义的变量,是否if else的分支条件互斥等)、当然还有一些高端的通过业务流回溯的方式来对每一条分支进行检查,只要有风险存在就发出邮件给对应的干系人。表面看起来非常的高端,大气,上档次,一切都在自动化,一切看起来都在掌握之中。翻手为云,覆手即可为雨。但是实际情况呢?代码在进行了自动扫描也好,覆盖率统计分析也好,最终产品外放后的质量还是体现在了功能测试的实际,实质结果上。这样说,显的好晦涩,举个栗子吧~~~

XX项目,引入了hudson构建自动集成方案,并且前后台都有接入,这样,在开发提交代码转测之后,功能测试不出意外会如期进行,代码后台自动扫描,结果也会mail给对应的人。在一切具备,作为东风的版本到来之后,噼里啪啦的就开始了,然后外放,,,然后,,,,然后就苦逼了,~~~为啥?版本外放之后,“游戏道具神秘消失,客户端莫名崩溃、宠物实际得到的数值与预期不一致,,,,”好吧,你niubility,,,走紧急更新、关外网功能阀门,出公告…….然后就进行了一段研发调试,测试提单,研发分析,测试分析,DAI编写,QA审计,leader审计的历程~~~

其实,引起这些问题的根本原因在找到之后,我们事后来看,都会觉得,为虾米?这样的问题应该很容易想到啊?我只想说,事后人人都知道赤壁之战的当晚要注意防风,不能报以黑天鹅的心态,何况在事前我们可能根本都不知道还有天鹅一说,就更加别说什么黑与白了。什么意思?别急,给我点时间打字,慢慢码~~~

首先:第一个祝福神秘消失,最后找到引起的原因为“前台客户端在网络波动较大的时候,服务器的回报没有到达客户端之前,客户端的button和相关数据没有刷新,导致玩家可以进行第二次对于button的操作,发出2个请求到服务器,服务器在处理完第一个请求,check result为success之后,扣除了玩家的初级物品,生成一个高级物品返回给玩家,,,注意,此时第二个请求到达了服务器,不凑巧,也是命中了成功的概率,此时服务器的处理方式为只要概率命中为了避免给我司带来损失,先扣除用于进化的低等级物品,然后再逐步扣除其余的依赖物,最终返回给玩家高等级物品。这个时候就有问题了,第一个请求的物品成功了,是需要扣除进化道具的,扣除道具后,对于第二个请求来说,实际是不满足需要的道具数的,但是后台的处理逻辑是只要命中概率,success则认为就会成功,这个时候为了避免损失,先扣物品,这个时候,到了第二步来扣除道具的时候,发现余额不足,,,返回失败,但是,,,亲,人家第一次success成功的道具就特么的,,,没了~~~这个代码覆盖率是OK的(有对应的检查升级的用例),代码扫描也是ok的,因为判空做的很到位,,,但是这个问题
的root cause是 设计上的缺失,导致了逻辑处理上存在问题。这个我们通过自动化,仅仅通过阅读代码扫描结果是发现不了的。只能通过用例设计的时候去发现,不凑巧,用例设计中没有这一块:弱网络的用例设计,,,从而,say goodbye,只能对玩家报以卖萌一笑,后台log查证再补偿玩家了~~~

其次:客户端异常崩溃,这个问题的root cause又是什么呢?先用事后的眼睛看,造成客户端异常崩溃的原因为:客户端前端的物品刷新不是实时的(这个可以理解,因为谁会闲的蛋疼,实时去跟后台做数据查询的交互,又不是对数据实时性要求很高的功能,就一个查询摆摊物品的功能,从CAP的角度来说,的确可以接受牺牲实时性。但是,就因为这个原因,当玩家选中的物品摊主在玩家点击购买前下线了,此时这个时候玩家点击购买,不好意思,空指针异常======)core。那么这个bug为啥没有通过代码前期的检查工作得以暴露呢?原因是:工具本身的不足导致在做判空检查时,遇到有break的业务流分支时,不支持业务流分支的检查(后来听说引入coverity可以解决,目前引入中,但是据说收费也不菲)。这个bug导致外网刚一更新就要走一个紧急更新,说实话,当这种情况出现多了的时候,哪怕作为测试组你前面加班个十天,半个月在项目组看来,在外人看来都觉得你们前面的付出是没有意义的,因为此时的1决定了你前面的付出等于一万个零。

好了,这样的例子不举了,总之,当我遇到的问题越来越多,对于根本原因查询进行思考后,我现在开始会问自己,作为测试的从业者来说,代码的掌握程度是否真如传说的那么高端,重要,不可替代?还是说,我们的方向错了,我们作为一名测试从业者来说,对于武器的选择上太过于神话某种道具了,以为得此神器则天下可定?可实际结果,往往大相径庭。

那么说了这么多,对于测试来说最主要的核心竞争力是什么呢?我个人觉得是否可以理解为以下几点:

1、  快速学习和思考的能力,此特技主要用于需求快速理解,提升问题发现深度和效率,广度。

2、  问题发散能力。此特技主要用于对于影响面的归纳和总结,覆盖

3、  沟通,协调能力。此特技主要用于推动问题的解决和资源间的合理协调,保障项目上人品配比的需求

4、  总结。此特技主要用于经验的获取,等级的提升,迈向高富帅

最后,只想说,在知道做正确的事情之后应该要思考怎样正确的做事,只有这样才能在对的方向上越走越远,当然,我并不是就说我的理解就是对的,只是本着独思而无友,必孤陋而寡闻的心态,在此借地跟大家做一个交流。伙伴们,我们是不是又到了该思考,如何构建一个用例设计体系(通用体系)集我测试众人的精华构筑的一个用例生产体系的时候了。这样,结合我们的代码扫描和覆盖率从而更好的保障外网质量,获得更多更高的认可呢?

-----------------一个屌丝测试工作者

也谈测试核心竞争力

时间: 2024-11-09 09:33:39

也谈测试核心竞争力的相关文章

再谈软件工程师的核心竞争力

发现一个现象IT行业都是做软件开发的, 如JAVA开发工程师, 我们看到大家简历上都做写熟悉Spring Cloud-, 那大家都一样的吗? 你的核心竞争力在哪儿? 如何脱颖而出? 之前的文章<<软件工程师的核心竞争力>>提及到, 今天我们再来看下: 1. 是否有计算机文献英文阅读能力. 大学英语不是白学的, 英文是个工具与门槛. 你需要越过它.       如: https://jcp.org/en/home/index https://docs.microsoft.com/en

也谈測试核心竞争力

作为一名測试人员,究竟其真正的核心竞争力是什么?这个问题一直困惑着我,当我还未曾踏入这一行业的时候,听到的声音是这种:"測试是一种非常有前途的工作,需求大于供给".另一种是这种"測试就要做接触到代码的,点点鼠标谁都--"怀着对于一个行业我也不知道好还是坏,究竟是个什么玩意的心理选择并进入了这个行业. 期间,我承认.的确有那么一段时间,我觉得作为一名測试假设可以对于代码了如指掌,可以写出一个个的工具才有可能成为武林的盟主,寿与天齐. 似乎,作为測试来说最核心的竞争力就

什么是你的核心竞争力之六善用你的弱点

作者:范军 (Frank Fan)新浪微博:@frankfan7  Twitter:@franfan7 看到这个标题,你一定会觉得纳闷.弱点是必须要弥补的,怎么利用呢?人无完人,我们每个人都有弱点.有的不是特别明显,有的看似致命伤.我也一直为我的众多弱点困扰和挣扎着. 我们从小的教育,都是和榜样看齐,以人之长来衬托自己之短.所谓的木桶短板理论,不知误导了多少人!一直木桶的盛水量是有最短的那条木板决定的,这虽然没错.可有的情况下,与其费尽全力补那只短板,未必能达到平均水平,出类拔萃就难上加难.不如

程序员的核心竞争力

前言 鄙人不才,上次写了一篇文章 其中谈到了,如果要作为一个合格的.NET开发人员,需要具备一些什么素质,今天手痒了,想再写一篇文章,谈谈程序员的核心竞争力是什么,怎么培养核心竞争力?大家应该不介意吧,(*^__^*) 嘻嘻…… 1.兴趣 为什么说兴趣很重要,因为兴趣能让你保持对编程的好奇心,我目前在一家外企工作,是今年5月份入职的,和我一起入职的还有一个小伙子,他这个人很聪明,嘴巴也特别会讲,但是这次某公司裁员把他给裁掉了,我其实并不感到意外,为什么?对于一个这么聪明的,能说会道的人,为什么还

什么才是程序员的核心竞争力

add by zhj: 对人的态度,对待工作和问题的态度,技术能力,我认为这是做技术的人的核心竞争力. 对人的态度:团队中的人的技术水平是参差不齐的,性格等各不相同.这就要求我们要有包容的心,对人要和蔼,不要 看不起别人,即使自己能力很强,每个人都有弱的时候,即使很牛逼的人也是一步步走上来的,没有谁一出生就牛逼. 如果一个人不好相处,那么无论他能力有多强,别人也不愿意与他合作同事,独学而无友,且孤陋而寡闻,最后这个人 不可能干成什么事,而且这类人不仅工作不顺心,生活上也不会幸福.所以,这类人应该

什么才是程序员的核心竞争力?

0.问题 如题所说,我现在是个刚毕业的小本,野鸡学校,而且不是正统的计算机专业,现在踏入了程序员这一行,到底什么样的技能才是才是程序员的核心竞争力,换言之,我在工作的前几年,需要累积什么样的技能,之后才能更好的和老板要工资,提要求. 上面是知乎上一位同学的问题,曹政老师以及其他几位同学分别从专业技能.思维方式.方法.态度等角度进行了深度剖析,值得我们学习和思考. PS:第一个答案是曹政老师的回答. ——————————————正文开始—————————————— 我们都知道学习能力很重要,那么学

转载:什么才是程序员的核心竞争力

下文转载自http://www.cnblogs.com/ajianbeyourself/p/4189449.html,版权归原作者所有. add by zhj: 对人的态度,对待工作和问题的态度,技术能力,我认为这是做技术的人的核心竞争力. 对人的态度:团队中的人的技术水平是参差不齐的,性格等各不相同.这就要求我们要有包容的心,对人要和蔼,不要 看不起别人,即使自己能力很强,每个人都有弱的时候,即使很牛逼的人也是一步步走上来的,没有谁一出生就牛逼. 如果一个人不好相处,那么无论他能力有多强,别人

程序员的核心竞争力:什么是能力?这就是能力

(以下内容来源于知乎)如题所说,我现在是个刚毕业的小本,野鸡学校,而且不是正统的计算机专业,现在踏入了程序员这一行,到底什么样的技能才是才是程序员的核心竞争力,换言之,我在工作的前几年,需要累积什么样的技能,之后才能更好的和老板要工资,提要求. 曹政,数据控/历史控/考证控 我们都知道学习能力很重要,那么学习能力从何而来,除了去看书上课这种,如何在实践工作中学习成长? 我之前微博说了一个笼统的概念,什么是能力? 对待问题的态度,以及处理问题的思路和方法. 先说态度 你服务器偶尔出501错误,也许

《跨界杂谈》华为印象(七):核心竞争力

任正非思想 大家一提华为厉害,几乎都会首先觉得任老板厉害,甚至觉得任老板就是华为的核心竞争力.前文提到的三本书,<以奋斗者为本>.<下一个倒下的是不是华为>.<我看任正非的经营哲学>,几乎都是以任老板为全书的核心.除了这三本书之外,大谈任老板的书更是满天飞,生怕比别人提得少了不够华为范儿.笔者不否认任老板是华为的核心竞争力,所以把任老板放在华为核心竞争力的第一位.但在这里笔者不会展开去谈任老板的内容,笔者也没有这个能力和资格,感兴趣的读者直接买本书去看就可以了,如让笔者