• 0
  • 0
分享

软件测试人员应该居安思危

每当经济不好,公司业绩不好的时候,公司都可能进行裁员。首先裁的就是测试人员。因为测试人员的技术水平相对来说比较低,容易被替代,招起来也比较容易。公司往往先拿测试人员开刀。

身为测试人员,虽然我们平常的工作大部分都比较安逸。但是千万不能温水煮青蛙。应该自强不息,要像开发人员一样,不断学习,提高自己的编程水平。这样就算被裁也能很快找到新的工作。

测试人员应该比开发人员更熟悉业务需求

测试人员的水平主要体现在测试用例的设计上。要设计出全面,覆盖广的测试用例,需要测试人员对自己所测试的项目的业务需求非常熟悉,甚至要比开发人员还要熟悉。

如果是测试银行系统,通信行业,或者ERP软件。这些业务知识非常有用的,学习起来比较有激情。

要做到精通业务需求谈何容易。

  1. 要熟读功能需求文档,任何有疑问的地方都要去和PM确认。

  2. 把自己当成最终用户,经常使用自己所测试的软件。模拟用户的行为。

  3. 熟记软件的每个功能。

假如倒霉碰到一些又没用,又繁琐的软件,真的是不想去学习它的业务(出了这个公司就再也用不到的业务)

学会如何跟开发人员相处

测试人员必须跟开发人员密切合作,所以跟开发人员搞好关系是相当重要的。

1、和开发人员成为朋友。

熟悉了干啥都方便

2、不要打扰开发人员

看到开发在聚精会神写代码的时候,千万不要去打扰人家。写代码需要集中精力,如果被打扰,就会中断思考。

3、集中问问题。

把需要问的问题都总结起来,集中起来问开发,这样能节省大量的时间。

4、写好Bug,不被开发人员烦。

如果开发人员看到一个Bug描述不清楚,还无法重现,他肯定会骂测试人员。所以测试人员一定要写好Bug,描述精确,简洁,没有歧义,详细简洁的重现步骤,加截图。

测试人员应该懂一些基本的编程

你的产品是用C#开发的,那测试人员应该有C#的入门知识。你测试web程序,你起码要了解HTML,CSS,Javascript,Jquery吧,否则你测了一两年web程序,都不知道这东西是怎么做的,悲剧了吧。

只有懂代码你才能和开发人员交流,不被开发鄙视。

测试人员搭建开发环境

产品的代码是最好的学习资料了,我们不能总跟在开发屁股后面做测试,不能老是等开发build一个版本后,我们就测试这个版本,开发checkin了什么代码,测试人员一点都不知道。偶尔我们应该了解下产品代码是怎么设计的,了解下开发人员是如何修复bug的。说不定编程水平高了,还能帮开发做codereview.

使用源代码工具把产品代码checkout到本机。经常看看代码,经常看看开发修复bug时候提交的代码.

写文档是测试人员的核心能力

我记得我以前的testlead说,之所以她能当lead,是因为她很会写文档发邮件。写文档需要总结归纳的能力,还要逻辑清晰。她非常擅长分析几十页的Spec,写出几十页的测试计划。她还非常擅长汇总测试报告。每天将完整,清晰,漂亮的测试报告发给各个组,让公司所有的人都能清晰的看到测试组的工作。

在她的带领下,我们总结出很多文档,比如,"Newhirechecklist","onboardingtraning",测试工具使用的文档,等等。

写多了博客后我发现我写文档能力提高了很多。

测试后期应该做两天交叉测试

交叉测试,就是指两个测试工程师,互相交换下测试的项目。这样做有很多好处。

  1. 有利于找出bug,测试工程师测久了自己的项目,容易形成眼盲。会对一些Bug熟视无睹。

  2. 有利于知识和业务共享,避免人员离职,请假,造成无人测试的情况。

  3. 测试思想不一样,可以互相找出很多问题

测试人员的瓶颈

手动测试工作做个两三年,基本上就能掌握测试需要的大部分知识,如果没有爬到testlead的位置,很多人就感觉到发展瓶颈了,每天重复测试,学不到东西,很快就会对测试工作失去激情。

学不到东西,技术水平低下,是测试这个行业最大的毛病。

如何突破瓶颈?我也不知道。

尽量实现自动化

一点要抽时间尽量把自己的测试工作实现自动化,可以节省测试的时间,提高自己的技术水平,也可以避免老是重复测试。

自动化测试VS手动测试

现在很多公司招测试的要求越来越高,很多好公司招seniorQA,都要求5年工作经验以上,掌握一门编程语言,有丰富的自动化测试经验。当然自动化测试的待遇也会比手动测试好很多。

自动化是趋势,只会做手动测试的人,以后肯定会失去竞争力。

自动化测试的技术和开发用到的技术相差太远

以前很多同事想由测试转开发,现在几年过去了,还是没转成,他们原先想利用自动化测试的技术积累,转去做开发。哪知道自动化测试用到的技术跟开发用到的技术相比,实在是相差太远。

测试转开发?难

努力学习编码,然后用于测试,才是正道

做测试最郁闷的是无法听懂开发人员讨论技术

有时候跟开发人员一起开会,会议上开发人员都热烈讨论。而我做为测试人员基本上听不懂这群开发在说什么,根本插不上话。很多会议我甚至都没说过一句话。

优秀的测试人员非常稀少

想把测试做好非常不容易,优秀的测试人员需要很广的知识面,良好的沟通能力(不但要和开发人员和项目经理打交道,还要跟其他组的人交流)。丰富的测试经验,对测试工作有极大的热情,耐心。还需要测试人员有丰富的业务知识,还要会写代码。

代码写得好的人,肯定就不会做测试,而是做开发去了。

大部分的测试经理都是有开发背景的

我发现我的几任上司都是由开发转来做测试的。他们都是有几年的开发经验,然后不知道什么原因转行做测试经理了。他们既能开发又能测试,啥都会,能给手下的测试人员提供技术支持。

假如一个测试经理啥技术都不懂,对内hold不住手下的人,对外其他组的人不鸟你。

软件测试的确非常枯燥,需要花费大量精力

不可否认测试工作需要耗费大量的精力,所以欧美才会把大量的测试职位外包给中国,一遍又一遍的重复测试,不停地执行测试用例,测得天昏地暗,头发晕。

我还记得我以前测试过一个程序的各个版本在Windowsupdate中的升级,先安装老版本的程序,然后Windowsupdate重启后看看有没有升级,最后卸载。然后又安装,又卸载。最后测的差点吐血。

英语是测试人员的救命稻草

技术上已经不如开发了。在英语上一定占有一些优势。

同等的技术水平下,英语好的测试人员可以进外企,比一个英语不好的测试人员的待遇要高不少。

尽量少用UI自动化测试,多使用单元测试,接口测试

能找到bug的自动化测试,才是有用的,否则就是个噱头

UI自动化测试比较不稳定,对于测试结果的分析也困难。而且UI改动也大。所以应该尽量多做一些底层的的自动化测试,比如ASP.NETMVC中UI和逻辑分开了,针对逻辑的自动化测试就比较好做了。


作者:小坦克

原文链接:https://www.cnblogs.com/TankXiao/archive/2012/08/27/2576962.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 作为一名合格的软件测试工程师,哪些技能是最需要及时掌握的?基本测试技能:1、测试用例测试用例是测试的根本,良好的测试用例,对测试起到的作用不言而喻。所以对于一个有一定基础的测试新人,应首先学习如何编写合理、有效的测试用例,同时,高效的执行测试用例,也是可以思考的问题。2、测试方法测试的方法有很多种,每种方法如何使用,使用的技巧,应做为一个重点去学习,毕竟快速、尽量多的发现BUG,是测试人员工作中重要的一个环节。3、测试工具自动化测试工具、测试管理工具、配置管理工具、其它测试辅助工具的使用,有一定的了解,能使用它提高测试工作的效率。4、业务知识(需求理解)能快速了解被测程序的业务知识及功能使用。...
            0 0 1178
            分享
          • 1、引言小屌丝:鱼哥, 请问,如何防止我手抖, 误删库。小鱼:看样子你今天是来搞事情!小屌丝:我就是为了防止自己手抖…颤抖…小鱼:请问一个妹子去药店,问医师要"后悔药",知道是啥不?小屌丝:额,鱼哥,果然是老司机啊, 你这要飙车了~小鱼:扯淡, 我就是联想一下而已…而已…扯远了,不过,别说,还真有后悔药,就是防止 删库, 蹲牢的那种。今天我们来搞一搞 MySQL的后悔2、5种后悔药2.1 limit我们在执行delete 或者update操作时, 如果不是十**(被)分(逼)把(无)握(奈)**,还是在语句的最后,加上个 limit。防止 看铁窗执行语句delete&nbs...
            2 2 11296
            分享
          • 前言下面将详细说说微信小程序如何发布体验版(测试环境)和线上版(生产环境)小程序如何打包1、打开微信开发者工具,并使用微信扫码登录2、打开已经编写好的小程序代码项目3、当代码编写完成后,点击上传4、上传完成后,登录微信公众平台,点击版本管理,刚刚打包上传的版本就是最新的体验版5、如果需要将体验版转为线上版本,那么就点击体验版的提交审核按钮,补充审核资料即可6、体验版审核成功后,会出现在审核版本上,点击审核版本的发布生产,即可将此版本转为线上版本,此时在微信就可以搜出最新的生产环境的小程序了作者:Boale_H原文链接:https://blog.csdn.net/Boale_H/article/...
            0 0 5662
            分享
          • 兼容性测试方案兼容性问题屏幕分辨率兼容性问题;软件(iOS和Android系统版本及不同厂家的定制ROM)兼容性问题;硬件(不同的CPU、内存大小等等)兼容性问题;网络(2G/3G/4G/WIFI)兼容性。公司内部兼容性测试1、屏幕分辨率、软件版本和硬件兼容性通过客户端嵌入统计SDK,统计出当前已有用户的分辨率、软件版本和手机使用排行;购买相应排名前十位的设备,这三个属性可相互交叉覆盖到即可注:解决的是基本和必须的兼容性问题。2、网络兼容性通过购买不同的手机卡支持相应的2G/3G/4G,和使用公司现有的WIFI网络解决网络兼容性问题。最终需要在测试用例中体现。3、辅助工具monkey随机事件测...
            0 0 1195
            分享
          •   Shell脚本是最常见的一种处理文本文件的的方法,可以实现检查日志文件、读取配置文件、处理数据元素、执行Linux命令等等功能,Shell脚本可以在实践中实现对文件批量处理的自动化,也可以控制Linux命令的计划性执行。Shell脚本在处理文件时处理速度较快,且通常不受文件大小的限制,这就打破了一些性能测试工具在处理大报文时卡顿甚至崩溃的瓶颈,在性能测试中极大简化报文处理和命令执行的步骤。  在性能测试实践中,处理的报文通常含有唯一标识,如报文标识号、流水号等,这样的标识设计为数据库表中的主键,以及作为交易是否重复的校验要素。如下方的示例报文,在性能测试场景中,需要批量发送该报文,为保证业...
            11 12 1122
            分享
      • 51testing软件测试圈微信