谈软件测试的心得

发表于:2009-06-19来源:作者:点击数: 标签:软件测试心得
离开软件有一段时间,离开 项目管理 也有时间,今日和以往的同事交流,我提出 软件测试 的重要性,希望他们在这方面工作的能写出一点的心得,他们谦虚的非要我作些点评,我也就欣然同意了,这是一件好事呀! 从我 软件工程 网开设专栏到今天,已经两年了,这
离开软件有一段时间,离开项目管理也有时间,今日和以往的同事交流,我提出软件测试的重要性,希望他们在这方面工作的能写出一点的心得,他们谦虚的非要我作些点评,我也就欣然同意了,这是一件好事呀!
    从我软件工程网开设专栏到今天,已经两年了,这两年我跟随软件工程网一起发展,原先也是保有一份热情做下来,到今天做一个企业的系统规划时,虽然没有什么证书,没有什么荣誉,但自己能力已经得到提高,从一个不合格程序员到系统分析员,到项目经理,再到ERP的顾问,再到现在为全球化的公司的整个系统的做规划与整合。一路学习过来,现在做规划的时候还是没有什么概念,正是书到用时方恨少呀!
    现在的刚毕业的学生能这样的好学,我们这样早毕业两年的应该给予好好支持,能学习这样的心得真让人叫好。
    文章现在来写基本就是抄抄东家,借借西家的,能自己静下心总结东西的不多,我自己也懒的写东西。
    王呈军是我做项目经理时的一个测试员,我记得有些时候,他能找到很多种方法,测试到深夜,想起那一段艰苦的日子,真为现在担心呀。也希望现在的程序员多总结,多提高。下面是他在学习过程点滴记在本子上,与大家分享的经验,后面我想从项目管理的角度谈一下软件测试。
一、软件测试员自身素质培养
(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) 用户的易用性测试,往往用户的需求是不断的变化的,而其中的一部份变化的原因,是有用户操作上不方便引起的。
软件测试是软件开发中的重中之重,没有一点可以马虎的,在项目管理过程,我强调的时是每个过程的每一个环节都要进行测试,保证系统在每个阶段可以控制。因为软件测试中考虑的问题基本上是项目管理中考虑的问题。
我认为在项目管理中考虑的一些问题应该是在软件测试时有些体现,体现的内容是软件测试的一些侧重点,具体说,软件测试是事务性的,而项目管理是策略性,一些策略性的东西必须在一些事务性的事务上来实现。
在小王的总结中,我们不难看出,软件测试的事务性操作很多,这些操作需要一个良好的心态去对待。必须有一个良好团队合作的习惯,以前我做项目的经理的时候,在团队建设上自己不注意,合作起来也不流畅,导致项目的部分的延期。工作中真的需要多总结,多剖析,对于毛病:“有则改之、无则加冕”。
软件开发是一件很辛苦的事,只有在工作中多总结,才能找到符合自己的方式方法,才能在工作中事半功倍。这个是我第一次对别人的文章进行短评,以后在项目管理上也许还有更多的东西来和大家交流。

原文转自:http://www.ltesting.net