51Testing软件测试论坛

标题: 我的测试观 [打印本页]

作者: CSTerminator    时间: 2009-10-12 20:49
标题: 我的测试观
我在软件测试行业已经滚打一年半了,所在公司的软件测试部门也有一定的规模,自己也对测试这门手艺有了小小的认识,在此和软件测试同行们交流一下,希望大家指正,谢谢。
一. 测试目的:
    我们来到公司做软件测试人员是为了什么,那就是挣钱,当然也是为了实现个人价值。那么公司老总为什么很乐意将金钱投到我们测试人员身上呢?那他希望我们测试人员能给他带来什么好处?
    我们都知道,现在的软件规模是越来越大了,同时软件的功能更加丰富,软件的复杂度也不断增加,软件的可靠性却面临着严重的危机。我们在大学里都做过课程设计,多多少少有点编程的经验,我想很少有人能够保证他编写的程序可以第一次运行就能成功。软件中存在bug是必然的,但是如果使用存在严重bug的软件,那后果可能是灾难性的,至少会影响到这种产品在市场的推广。当一款已经投放到市场上的手机存在一个严重的bug,如手机的按键经常接触不良,这款手机用户们很可能将这个消息发布到了网站上,结果其他很多打算买这款手机人都知道了这个问题,他们还会愿意发钱买这款手机吗,这款手机的生产商还会从这款手机上挣到钱吗。很显然,手机的生产商很希望这款手机在投放到市场之前,我们测试人员能够发现这个问题并及时反馈给研发人员进行修复。老总们希望我们测试人员能够通过自己的努力来保证公司产品的质量,从而在市场上买个好价钱。
    我们对一款软件进行测试时,应该怀着怎样的一个测试目的呢?是验证软件的各部分功能是否能够正常运行吗?不,我们测试的目的是要发现软件中各部分功能存在哪些问题。寻找到软件中的bug是我们劳动成果中很重要的一部分,你的劳动成果越多,你的价值就越高,你就会得到老总们的重视,你的提升机会也就越大。我们测试软件的过程就是在寻找我们宝库的过程,怀着这样的心情去测试,我们的就会有无穷的动力,我们的工作热情就会很高涨,我们的劳动成果自然就会很多。
二. 我们需要做什么
    我们为了收获更多的劳动成果(即发现更多的软件bug),我们需要做哪些工作呢?
1. 熟悉我们要测试的产品
    当你到手机市场去买手机之前,你一般会做些什么?你一定会去了解这款手机有哪些功能,手机的外壳是什么材料做的,是什么样式的(直板的,还是翻盖的),手机的理论待机时间是多少等等。熟悉我们要测试的产品,我们测试的方向就会更清晰,我们就会更容易找到我们期待已久的bug,并且我们可以判断某一现象是否为bug,如我们买手机后,结果发现这手机不能照相片,是个严重的bug,要求退货,营业员解释说:这手机本来就不支持照相,你早干嘛去了。还有我们买完手机回家后才发现这手机还有收音机功能,但不能使用,要求退货,一般有良心的厂商会同意退货,但你坐车跑到代理商那要花费车费、时间、精力,岂不很亏吗,可能还不止跑一两趟就能解决的。在你那这手机之前知道这手机还有收音机功能,并进行有效地测试,岂不给你省了很多麻烦。
    我们可以通过哪些途径了解我们将要测试的产品呢,研发人员、测试部的老员工、产品设计书就是很好的选择。
2. 编写测试用例
    测试用例(即测试计划)在软件测试中的作用主要体现在四个方面:
    1)它可以指导测试的实施,令软件测试的实施重点突出、目的明确,可以避免盲目测试并提高测试效率;
    2)在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期;
    3)有利于测试的跟踪;
    4)评估测试结果的度量结果以及分析缺陷的标准;

3. 完成测试报告
    测试报告是大多数软件测试人员的主要工作产品。有些人认为测试报告只是一种形式化的文档,可以尽量简化,实际上,准确而客观的测试报告是保护你事后免受指责的有效武器。如果产品投入市场后,出现了比较严重的缺陷,在这种情况下,如果在你的测试报告中已经警告过了这种缺陷的存在,尽管你仍然有可能受到批评,至少准确的测试报告可以表明你是无辜的。高层管理人员、开发人员和客户构成了测试报告的观众群。如果测试报告看起来解释不清,研究不充分或提出过于追究小问题的建议,会给开发人员带来额外的工作量,开发人员就会躲避测试人员及其工作。同时,这样差的测试报告会使管理人员对测试人员产生消极影响,直接影响到测试人员的奖励和提升的机会。
    下面是我总结的写好测试报告的经验与技巧:
    1)及时报告缺陷。不要等到忘记了一些关键细节才报告,拖延时间越长,缺陷被解决的可能性就越小。同时,如果项目经理知道测试员在测试产品的某一部分,而且没有看到测试报告,他们会错误的认为测试员没有发现缺陷,这部分程序的功能一定很稳定。
    2)针对看起来很小的代码错误执行后续测试。如果看到的是小缺陷,不要只是重现该缺陷并写入测试报告,继续测试这一部分,并有可能发现更大的缺陷。
    3)每个缺陷都需要单独的报告。有时为了提高效率,可能会在一份报告中包含多个小缺陷,有些缺陷可能得不到修复。
    4)不要夸大缺陷。如果测试员所报告的缺陷比实际要严重,那么测试员的可信度就会下降。
    5)只要清晰的报告缺陷。不要试图解释或解决缺陷,这是开发人员的工作,作为测试人员只需清晰的报告缺陷,描述如何重现缺陷即可;重要的是要描述该缺陷产生的环境或条件。
    6)注意自己的口气。测试报告要对事不对人,不要带有责备或居高临下的语气。
    7)跟踪缺陷,直到缺陷的确被修复。也许由于时间的压力或开发人员的情绪,开发人员会采取最快的技术路径修复报告中的缺陷。这种修复可能并不能完全修复缺陷,甚至引进新的缺陷。

三. 高级测试人员应该具备的知识:
    1) 产品知识:对于你所测试的产品,你一定要非常熟悉。小到你所测试的模块,大到整个产品的架构,内部实现,代码,等等。
  2) 测试知识:黑盒测试,白盒测试,手工测试,自动化测试,性能测试,安全测试等等。
  3) 开发知识:编程,数据结构,算法,调试等等。
  4) 专业知识:以上2,3是基本的知识,你还应该精通一些你从事的更专的技术知识。比如,如果你的产品是基于.net的,你应该精通.net, 或者类似的J2ee等。(例如这方面我应该掌握的Win32系统编程,Windows内核,WDM等等)
  5) 领域知识:你应该精通你所工作的领域的知识,比如手机领域,数据库领域等等。
  6) 行业知识:你要对计算机行业的整体状态,新技术,动态,发展趋势有一个明确认识。(比如我除了自己从事的领域还关注Web2.0,云计算等等)
作者: fangbin    时间: 2009-10-12 22:30
谢谢搂主分享~`
作者: pp_psy    时间: 2009-10-12 22:43
谢谢指教
作者: 月上百合    时间: 2009-10-13 09:20
谢谢分享心得
作者: mentgmery    时间: 2009-10-13 16:15
哈哈,指点的很对啊
作者: CSTerminator    时间: 2009-10-13 21:27
jimmyseraph 指点的很到位,领教了,3Q;
作者: yang26111    时间: 2009-10-14 23:14
。谢谢各位。学习了。
作者: yang26111    时间: 2009-10-14 23:15
我是新手。。我都工作两年了。 可是和测试无关。我怎么进这个门槛儿呢。
作者: apple_test    时间: 2009-10-15 12:34
写的很详细,很有指导意义!
作者: duanduanbo    时间: 2009-10-15 15:39
写得很详细,感谢楼主~
作者: Ade_Huang    时间: 2009-10-18 11:51
非常感谢,受教了
LZ写的也很详细,评论者也剖析的很透彻。
作者: yixinjun0824    时间: 2009-10-21 12:29
谢谢分享心行,学习了。。。
作者: eggtoegg    时间: 2009-10-21 14:53
多看看软件质量方面的书吧,楼主对部分概念理解的不够透彻,推荐多看看CMMI相关的书籍,会有帮助的
作者: crystal0214    时间: 2009-10-27 21:19
现在开始准备多看些测试方面的书。
作者: amy_love    时间: 2009-10-31 19:30
谢谢lz  借走  呵呵
作者: 左岸提香    时间: 2009-11-3 18:13
我今年才毕业的,学的软件开发,但是想从事测试,先来学习学习,谢谢
作者: caixiaoyan6    时间: 2009-11-3 21:37
路过
作者: alice_0812    时间: 2009-11-14 10:05
学习了~~~~~

作者: meery    时间: 2009-11-19 15:18
看看,新近学员
作者: hello_angle    时间: 2009-11-20 17:41
呵呵!学习了.
作者: wangh0206    时间: 2009-11-23 19:04

作者: eidolor    时间: 2009-11-24 14:55

作者: zhuwenfeng    时间: 2009-11-24 15:13
学习了
作者: wangwang9394    时间: 2009-11-26 15:16
新学员,受教了!
作者: Wheatlee    时间: 2009-11-26 16:48
个人觉得说的很实在。但是感觉有点千篇一律,没有推陈出新(当然,我也出不了啥新)。

我的测试观就是: 你懂的不见得比开发深,但是一定要比开发广。你知道的不见得比开发精,但是一定要比开发多。

测试,开发,其实从技术层面上来看,都一样的。千万不要有我技术不好我也能当好测试的念头。那是扯淡。

:)希望楼主加油:)我也加油
作者: nutian    时间: 2009-12-2 11:47
写得很不错~
很受用!
作者: 雨后的阳光    时间: 2010-2-14 20:40
真的不错,值得借鉴和学习!
作者: 雨后的阳光    时间: 2010-2-14 20:41
真的不错,值得借鉴和学习!
作者: CSTerminator    时间: 2010-2-20 13:34
标题: 改正
我在这文章中写到:测试用例(即测试计划)。这观点是错误的,在此向各位同行说声抱歉。
测试计划和测试用例是完全不同的概念;
    测试计划是提供一个测试框架,不断收集产品信息,对测试过程中不确定性(测试范围、测试风险、测试小组人员安排等)进行分析,将不确定因素转化成确定因素,从而对测试策略、测试方法、测试小组人员分配、日程表等做出安排;
    测试用例是指对一项特定软件产品进行测试任务的描述,体现测试方案、方法、技术及策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果及测试脚本等。
作者: hechun_ling@126    时间: 2010-2-24 11:32
感谢楼主的分享心得,让我受益匪浅
作者: catchp    时间: 2010-7-19 22:24
谢谢分享
作者: 影儿2009    时间: 2010-7-23 16:47
学习一下
作者: xiaoli_javaY    时间: 2010-8-12 15:35
楼主辛苦了、很触动偶幼小的心灵、我是开发转测试、没什么测试经验、更不会测试 所以没事多看看学学、多多照顾哈
作者: swinfans    时间: 2010-9-2 18:57
谢谢分享,LZ加油哦
作者: 116497509    时间: 2010-9-23 11:20
写的很精辟,谢谢你的分享
作者: yxfz    时间: 2010-9-26 10:41

作者: 金测试    时间: 2010-9-26 13:55

作者: 收东纳西    时间: 2011-1-7 11:48
我是新手,进来看看
作者: 忆の海    时间: 2011-1-28 14:17
新来的,前来学习中
作者: hqzhong    时间: 2011-3-9 19:31
谢谢分享 学习了
作者: hqzhong    时间: 2011-3-9 19:31
谢谢分享 学习了
作者: hqzhong    时间: 2011-3-9 19:31
谢谢分享 学习了
作者: hqzhong    时间: 2011-3-9 19:32
学习了
作者: byx310    时间: 2011-3-16 09:39
受教了,
作者: gobylcy    时间: 2011-3-22 22:06
学习了
作者: 249146544    时间: 2011-4-7 12:15
不错
作者: plmzk    时间: 2011-4-12 11:01
顶。。。
作者: dc0640305231    时间: 2011-5-11 16:30
我也是测试新手,但是我却不同意楼主的“老总们希望我们测试人员能够通过自己的努力来保证公司产品的质量,从而在市场上卖个好价钱”观点,我的观点里测试人员不是保证产品质量的,而是发现产品问题的,这2个观点可能导致测试的出发点不同,前者因为想要保证产品质量,所以处处不想出问题;后者,想要发现问题,所以处处已有问题为前提,更有助于发现问题。另外,测试人员不能保证产品质量吧,求指点。
作者: successlcm    时间: 2011-6-27 17:00
看了文章 受益匪浅 谢谢
作者: qi0321    时间: 2011-8-5 19:25
O(∩_∩)O谢谢分享
作者: xah_626982012    时间: 2011-8-6 16:40
不错 学习了
作者: ROZH_WANGYUANY    时间: 2011-8-9 16:43
路过
作者: flywei2655    时间: 2011-9-30 17:37
看了之后很有感觉!当然是看中了部分的意思!
作者: trees10000    时间: 2011-10-25 15:18
多谢啦,很好,要多多学习一下啊
作者: a5914361    时间: 2011-11-17 14:56
测试用例不是测试计划
作者: a5914361    时间: 2011-11-17 14:57
测试用例不是测试计划
作者: a5914361    时间: 2011-11-17 14:58
测试用例不是测试计划!
作者: XuMeilingGoOn    时间: 2011-11-22 10:03
谢谢分享  学习了
作者: buguai    时间: 2011-12-6 16:35
thanks
作者: zhengechou    时间: 2011-12-7 12:27
看看,谢谢指点
作者: liuyuwangood    时间: 2011-12-8 14:41
哈哈,还是要谢谢lz
作者: lentil1013    时间: 2011-12-9 09:55
学习
作者: ruyiceshi    时间: 2011-12-19 16:33

作者: lan911126    时间: 2013-4-15 10:20
谢谢楼主。O(∩_∩)O~
作者: XuMeilingGoOn    时间: 2013-4-15 15:17
谢谢分享,学习了
作者: feipiao    时间: 2013-7-29 11:30
通过测试发现问题,从而修改问题,提高质量
我认为测试不要总是抱着找问题的心态去做事,如果拿到你测试的东西总是抱着有问题的心态,后期会陷入没有标准的状态(我测试一个软件将近一年发觉越测试,感觉越不会以前的知识了,对于测试的东西总是觉得有问题。我认为这种测试心理是不对的。)
作者: 再见女郎    时间: 2013-7-29 15:01
感谢LZ分享
作者: 夕阳西下°    时间: 2013-7-30 11:01
要学的东西还有很多,要攀过的山还有很多座
作者: richie122    时间: 2013-7-30 14:11
写得很细,谢谢楼主
作者: 紫隐    时间: 2013-7-30 15:55
谢谢楼主的分享,可是我现在空有理论知识,没法实践,我该怎么办?
作者: 冉冉的小屋    时间: 2015-12-9 21:08
6年前的好帖子,6年后看完,感触还是很深。帖子和回复都很精彩
作者: p0280833    时间: 2018-4-16 22:41
谢谢




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2