从事软件测试行业整整5年的经验

正所谓万事开头难,只要肯迈出了第一步,你就已经成功了一半了,等到完成之后再回顾这一段路程的时候,你肯定会感慨很多。

1、我的软件测试经验

大学期间学的计算机应用技术专业也是十分痛苦的,刚入学就学习Python,老师口中如鸟语,听不懂等毕业找工作怎么办,就这么糊里糊涂的学了3年的计算机语言Python、java、linux操作系统。

时刻都在担心以后:毕业=失业

从事软件测试行业整整5年的经验

接下来大三暑假就开始准备实习,班群里发布的各公司实习岗位;感觉都是BOSS上找的。

第一家公司主要做银行APP兼容性测试,听说测试门槛低,早上去公司面试,下午公司就打电话说我通过了,明天开始到公司实习。

通过面试还是很激动的,毕竟一次过;在公司实习一个星期后决定离职了;本想着能写点代码,结果日常工作就是拿各种手机测App的兼容性。

第二家公司主要做外包,功能测试,当时进公司后就跟着师傅学东西,一开始评审文档:需求说明文档,设计说明书,好几百页的那种……其实就是需要找到某些功能描述模糊或者描述不太符合标准的,然后整理成excel文档。

web界面测试:只需要点点点,如有报错直接丢给开发,测试人员只需要描述错误就行。

看不到数据库、看不到后台、看不到报错日志,每天汇总案例执行个数和bug测试情况,下班前整理好excel文档(这里我一般会用Python去操作excel文档,简单快捷,几分钟处理好一份)。

第三家公司也是我待了4年的公司,岗位主要做Web自动化测试,自动化测试类型:测试静态内容,测试链接,功能测试,测试动态元素,Ajax的测试。

自动化测试用例编写原则:

  • 一个用例为一个完整的场景,从用户登录到最终退出并关闭浏览器。
  • 一个用例只能验证一个功能点,千万不要试图在用户登录系统后把所有功能都验证一遍。
  • 尽可能少的编写逆向逻辑用例。一方面因为逆向逻辑的用力太多了(例如,手机号输错有几十种情况),另一个方面自动化脚本本身比较脆弱。

复杂的逆向逻辑用例实现起来比较麻烦而且容易出错。

2、工作环境

以我现在的公司为例,每排有10个工位(跟大部分公司都是一样),茶水间有雪糕机,咖啡机,零食屋,冰箱。

公司分为产品部,项目部,测试部,开发部,实施部等部门,我们部门对测试人员比较严格,功能测试,Web自动化测试,接口测试,性能测试都要会,人员比例:8个开发2个测试。

测试工作遇到的问题:

有一次项目经理带着我们项目组去开会,刚进到会议室里就看到另外一个测试组跟开发组的人开始争吵起来了:

开发:你什么时候提的bug?提了哪些bug?
测试:你没有看邮件?

开发:哦,可能是邮件太多了,我没来得及看。
测试:关于这个bug我都说了5百遍了,就算是猪也明白是怎么回事了,你怎么就不明白呢?

开发:真的不懂,你再跟我们讲一遍吧。
测试:刚刚我在线上提的那个bug赶紧修复!

开发:可是你只给我几个名字,环境,而且步骤这么简洁我们怎么重现,怎么修复?
测试:上次我给你说的那个bug都过了一个星期了为什么还没修复?

开发:哦,可是你上面没说让谁去修复bug啊。

总结下争吵的原因:要么是测试提的bug邮件开发没有来得及看,导致bug没有修复产生争执;要么是测试提的bug开发无法重现导致争执;要么就是双方关于bug的优先级意见不一致产生争执。

对于以上问题:遇到这种情况,首先要端正态度,对事不对人:

  • 先把问题弄清楚,用最简单和常见的步骤来重现bug。
  • 有时候开发不愿意改bug是因为时间紧张,或者认为风险较大。测试如果能提供合理的回归测试计划会解决开发的后顾之忧。
  • 有些问题往往不是开发和测试沟通就能解决的了得。需要跟产品经理来一起讨论决定。

3、关于测试方面

当时软件测试热门的时候,大家的心里估计都在颤抖。不就是点点点嘛,能有什么出息,就我从业这几年,听到过无数这样的论述,搞技术的看不起搞测试的,这里我不想反驳什么。

我只想说说就我来看一个出色的测试人员所具备的素质:测试人员是块砖,哪里需要哪里搬,几乎所有的测试框架都只是提供一个通用底层的理解。

自动化测试人员需要有架构方面的知识去根据自身产品特点,组织代码结构形成自己的框架;

针对一个平台的测试会有多种框架可选,测试也需要兼顾性能方面的考虑,这一切都需要你去学习掌握不同的语言,或者不同种类的语言及配套的一系列平台框架内的知识。

只有测试做久了就会知道,自动化测试才是测试人员的终极梦想,为什么?因为工资高啊,BOSS上搜索到的自动化测试平均薪资都是18k左右。

对于测试来讲,强与不强永远不会体现在技术积累上,更多体现在流程管理,权限管理,文档(代码也在文档范畴)规范上。

4、给测试人员的一个指引

技术方面:在有技术的前提下(Python,Java,C++),可以考虑转自动化测试或开发工程师,多个技能在身就不怕丢饭碗了,推荐学习网站:麋鹿网(资料和教学视频挺全),简书,CSDN,推荐学习微信公众号:51ste软件测试部落,软件测试小黑屋,Python测试社区。

管理方面:这里会有两种发展方式,一种是可以往产品经理的方向去发展,因为测试人员很多时候都是会从用户的角度去思考问题,所以去从事一个产品经理的岗位,还是比较适合的。

一种是可以往项目经理发展,原因主要是测试工程师因为平时需要跟各个部门都要打交道,所以各个部门的人可能都会混得比较熟。

比如说我刚进公司时候的一个项目经理,就是把握住了一个机会,从一个普通的测试人员转变成了项目经理,并且在公司里面发展都非常的好。

管理人员这条路需要有以下几点:沟通能力,学习能力,责任心,做事的态度

5、给测试小白的建议

一般的小白都会选择自己买书回家边看边学,或者去网站看教学视频等等,心里很满足,但把自己感动的一塌糊涂,觉得自己一定能成功。

可是你回头想想自己有把学到的知识运用到实际当中?举个例子:看完了自动化的教学视频,你觉得你自己懂了理解了,然后就没然后了。

上一页12下一页


留言