302班

java突击队
posts - 151, comments - 74, trackbacks - 0, articles - 14
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

做软件测试三四年后的感想

Posted on 2007-07-04 00:13 停留的风 阅读(261) 评论(0)  编辑  收藏 所属分类: 美文转载
我出来做软件测试三,四年了,确实正应了那句“测试不如开发”,只是个人观点,而且我工作过都是外企和大型国有企业,软件测试流程和管理都相对很规范化的。

  下面几点给做测试的朋友参考一下:

  1、钱肯定少过开发人员,除非你工作七,八年才能拿年薪10W以上,一般的软件测试工程师很难上6K以上,开发人员工作四,五年后拿7,8K是太多数的。

  2、加班的现象可以说是很普遍,周一到周五随时加班是很正常的,周末肯定有一天要加班。

  3、不管怎么样努力和用什么测试效果的数据说明,领导还是不太重视测试部,领导认为我们测试的没有什么技术含量。但是我们已经在流程上改进很大,使用测试管理工具和自动化测试工具来提高测试生产力等等,这些努力的结果好象只有我们的老大才得分比较高,我们下面的小兵就只有吃苦的份。

  4、团队合作精神比较差,都是做技术的人的通病,以为你在一间公司呆久了,就很牛B一样,说话口气难于接受,好象现在公司就是他的一样。这个问题在几间公司里面的测试队伍中得到证实。在工作之余,很少团队一起聚餐或是出外游玩的机会,好象大家就知道上班---吃中午饭--上班--吃晚饭---加班---下班回家---睡觉的简单模式。

  5、人际关系和沟通技能都很重要,这一点不用我多说,大家都知道的。

  6、还有一点要提醒测试人员的是:做测试容易懒惰,因为重复性的工作比较多,然后在公司呆着好好的,什么都不想学和提高了,这样容易使你在软件的测试面比较狭窄了,其实你到其他的公司面试的时候,才发现自己很多不知道,不懂的。

  7、我们做测试几年了,都不想老是停留在执行测试,写测试用例,设计测试计划,写测试脚本,评审开发/测试文档上,写缺陷报告,写测试报告,管理和维护测试工具。但是上面的几点工作后,我们软件测试人员还能做些什么?

  怎么样提高软件测试员自身素质培养?

  (1) 首先,应对软件测试感兴趣和对自己有自信,如果具备了这两点,那么在开发过程中不管遇到什么样的困难,我相信你一定能克服。

  (2) 善于怀疑,世界上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事,我却认为可能发生。别人认为是对的,我却认为不是对的。

  (3) 打破砂锅问到底的精神,对于只出现过一次的bug,一定找出原因,不解决誓不罢休。

  (4) 保持一个良好的心情,否则可能无法把测试作好。不要把生活中的不愉快的情绪带到工作中来

  (5) 做测试时要细心,不是所有的bug都能很容易的找出,一定要细心才能找出这些bug。

  (6) 灵活一些,聪明一点,多制造一些容易产生bug的例子。

  (7) 在有条件的情况下,多和客户沟通,他们身上有你所需要的。

  (8) 设身处地为客户着想,从他们的角度去测试系统。

  (9) 不要让程序员,以“这种情况不可能发生”这句话说服你,相反,你应该去说服他,告诉他在客户心里,并不是这样的。

  (10) 考虑问题要全面,结合客户的需求、业务的流程、和系统的构架,等多方面考虑问题。

  (11) 提出问题不要复杂化,这一点和前面的有点矛盾,如果你是一新手,暂时不要管这一点,因为最终将有你的小组成员讨论解决。

  (12) 追求完美,对于新测试员来说,努力的追求完美,这对你很好,尽管有些事无法做到,但你应该去尝试。

  (13) 幽默感,能和开发小组很好的沟通是关键,试着给你的开发小组找一个“BUG杀手”,或对他们说“我简直不敢相信,你写的程序居然到现在没有找到BUG”。

  (14) 到此是不是对测试很有兴趣呢?不过我要告诉你,测试过程中有酸甜苦辣,其中的滋味只有你知道,也许你会感到枯燥,要学会放松自己,去溜冰或做你喜欢做的事,不过,别放弃,因为你的自信告诉过你“你会是很优秀的测试员”不是吗?

我们常见软件测试的技巧 :

  软件测试虽然辛苦,但是掌握了一定的技巧之后将使你事半功倍。

  (1) 边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。

  (2) 非法测试,例如在输入数字的地方输入字母。

  (3) 跟踪测试,跟踪一条数据的流程,保证数据的正确性。

  (4) 在开始测试时应保证数据的正确性,然后在从系统中找出各种BUG。

  (5) 接口测试,程序往往在接口的地方很容易发生错误,要在此模块测试勿掉以轻心。

  (6) 代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成的错误。

  (7) 突发事件测试,服务器上可能发生意外情况的测试。

  (8) 外界环境测试,有些系统在开发时依赖于另外一个系统,当另外一个系统发生错误时, 这个系统所受到的影响的情况。

  (9) 在程序员刚修复Bug之后的地方,再找一找,往往程序员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误。

  (10) 认真做好测试记录在做完一天的测试记录之后,第二天再根据第一天的测试记录重复测试你会发现有未修正的错误。

  (11) 文字测试,如果在系统中有用词不当的地方,我想这是不应该的。

  (12) 系统兼容测试,例如有些程序在IE6能运行正常,到IE5下不能运行。有些程序在WIN2000下能运行,而到WIN98却不能运行。像一些很特别的用户去使用系统,你很有可能发现BUG。

  (13) 用户的易用性测试,往往用户的需求是不断的变化的,而其中的一部份变化的原因,是有用户操作上不方便引起的。

  软件测试是软件开发中的重中之重,没有一点可以马虎的,在项目管理过程,我强调的时是每个过程的每一个环节都要进行测试,保证系统在每个阶段可以控制。因为软件测试中考虑的问题基本上是项目管理中考虑的问题。

  我认为在项目管理中考虑的一些问题应该是在软件测试时有些体现,体现的内容是软件测试的一些侧重点,具体说,软件测试是事务性的,而项目管理是策略性,一些策略性的东西必须在一些事务性的事务上来实现。

  不知道大家的公司是怎么样对你们软件测试部门的?可以讨论一下吗?


只有注册用户登录后才能发表评论。


网站导航: