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

目前很多的公司对于测试人员的认识有一个误区,认为做测试的都是没什么技术含量的,平时工作压力也不大、比较安逸;正因为这样的错误认识,很多测试人员就不思进取,这种思想最要不得,其实测试比开发需要的知识面还要广,应该要不断学习相关的知识扩展自己的知识面,让自己的技术不断提升,提出大量有质量的bug,这样才能不被轻易取代。

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

测试人员的优势体现在对与业务需求的熟悉,对于每个功能点以及业务流程都了如指掌.

如果是测试银行系统,通信行业,或者ERP软件这些业务知识都是非常有用的,涵盖了很多的专业知识,要做到精通业务需求谈何容易。

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

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

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

(如果碰到有些公司的软件业务不是行业通用的,这将浪费大量的时间学习一些无用的知识.)

3.学会如何跟开发人员相处

在软件公司里面测试人员和开发人员相处是一个很值得探讨的问题,很多时候他们都是站在对立面上想事情,所以自然就会有很多事情发生,那么要怎么处理好这种关系呢?

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

熟悉了干啥都方便

2. 不要打扰开发人员

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

3. 集中问问题。

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

4. 测试人员要对自己找出的bug,做非常详细的描述,尽量给开发人员带来方便。

为了让开发人员尽快的找出bug的并且修复,测试人员要尽量把bug描述清楚,最好可以配上截图,让问题一目了然,这样给开发人员修改bug提高效率,利人利己。

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

 测试人员最好掌握一门编程语言 ,虽然测试人员不用去写代码,但是做的工作既然软件,软件是有代码构成的,那么测试人员是无法避免不接触代码的;如果可以懂得这个产品的代码比如常用的java,c++等语言的话,很多藏在代码中的底层bug也可能被你揪出来,体现你的专业性,其他同事可能就要拜你为大神了;另外测试人员掌握了语言还可以写些脚步或者自动化的工具,都是非常受重用的。

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

 测试是非常重视文档的一个职位,充分利用文档可以大大提高工作能力.所以在工作中要尽量的整理有用的文档,积累文档.

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

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

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

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

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

7.测试人员的瓶颈

 很多的测试人员工作了两三年以后就会发现到了瓶颈,然后就觉得测试是一项没有技术含量的工作,出现这个问题的主要原因在于IT知识体系的不完善,基础知识掌握的不够牢固,所以在深入学习的时候就出现很难深入的情况;解决的方法就是建立一套完善的知识体系,不断学习相关的技术知识,才能突破这个瓶颈。

尽量实现自动化

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

8.自动化测试VS手动测试

现在很多公司招测试的要求越来越高,自动化是趋势, 只会做手动测试的人,以后肯定会失去竞争力。

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

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

10.优秀的测试人员非常稀少

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

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

测试人员如果有英语的优势,将会有更多的机会进入外企,而目前的公司现状是外企对测试人员的重视程度远远大于国内企业,所以进入外企不仅仅是薪水可观,重视程度也不一样。

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

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

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