电脑里存的一篇文章,不知道是谁的,如果作者看到,我承认这个是你的版权- -
希望带给大家些许启发,当然里面的三大点内容都是可以深究的。
各小组测试人员:
首先,向你们道一声:辛苦了!感谢你们在整个项目开发过程中所做的努力,项目最终
的成功有你们的一份功劳!借此机会,我向你们阐述一些测试方面的知识,希望你们能够将
其运用于工作实践中,为自己的将来增添一些竞争的砝码。
下面我分软件测试综述,测试基础和测试中的配置管理三个方面来阐述,希望能够对你
们有所帮助。
一. 测试综述
软件测试不是无中生有的东西,而且随着时代的进步,它的地位日益升高。事实上,软
件是人写的,所以不完美。既然不完美,那么就必定有缺陷。从这个意义上讲,软件测试是
永恒的,只要软件存在,测试就不能避免。
软件测试一项批判性的工作。自从它诞生起,就需要测试人员挑剔的眼光和苛刻的性格,
甚至除此之外,还需要一些直觉和灵感,将深藏于软件内部的缺陷挖掘出来,暴露于世人。
这其实是一项了不起的工作。
当然,测试工作也是有章可循的。软件测试需要有坚实的理论基础和扎实的工作能力,
需要阅读客户需求分析文档,产品说明书,项目进度表,软件设计文档,需要编写测试计划,
测试用例,缺陷报告,需要使用自动化测试工具,需要进行条理清晰的度量统计和总结。
事实上,对程序进行完全测试是不可能的,而且软件测试是有风险的行为,当然测试也
无法显示所有潜伏的缺陷。这些都很容易理解,却不见得能够想得到。比如,要测试“杀虫
剂”是否有足够功效,怎么办呢?另外,有些道理听起来容易,却似乎难以理解,比如找到
的Bug 越多,说明了什么?是存在的Bug越少还是越多?还有,并非所有的缺陷都需要修
复,你能不能找出可以证明这个理论的例子?
这就是测试。它不是一件所谓的点点鼠标,敲敲键盘就ok的事情,它是一项复杂的工
程,这里面充斥着深厚的理论,甚至从某种意义上说,这里面蕴含着艺术。要成为一名优秀
的测试人员需要实践,需要经验,需要长期的努力并坚持。
二. 测试基础
测试的门槛说低就低,说高就高,具有一定的基础是必要的。你要能够区分静态测试和
动态测试,能够区分黑盒测试和白盒测试,区分手工测试和自动化测试,甚至能够组合的使
用动态白盒测试,或者是静态黑盒测试。
上面这些并不复杂,我们可以举出一些很简单的例子来证明它。比如,检查产品说明书,
就是静态黑盒测试,而动态白盒测试的例子,更是随处可见-----单元测试不正是吗?
还有逻辑驱动覆盖测试,基本路径测试,以及圈复杂度计算等理论,以及对不同的技术,
比如Java中的JUnit做单元测试等实践,这些对你将来的工作都是大有益处的。
这些基础,是你跨入这个行业的门槛所必需的。有了这个基础,能够让你在这个行业中
走得更加长远,更加顺利。
三. 配置管理
大家在做项目的时候,恐怕已经感觉到了配置管理的重要性。这种体会不是生硬的来自
书本的灌输,而是确确实实来自于切身经历。
比如,对于bug管理,你现在采取的办法是发现了bug后,将它填写在excel表格中,
然后以电子邮件的方式发送至开发人员。开发人员在收到bug 后,会有针对性地进行修改,
然后再通过邮件回复的方式进行反馈。你再次打开之前提交的bug登记表,对开发人员的反
馈进行复查。有可能,上面这个流程还有 重复。问题在于,随着项目的不断深入,暴露的
问题也会逐渐增多。这样的交互过程,也会更加的频繁。想要察看某个bug的历史跟踪记录,
似乎变成了一厢情愿 的事情,可望却不可企及。
我们需要以一种更好的方式去对这个过程,乃至软件开发的整个过程做相应的配置管理。
通过工具来改善并优化过程,从而提高我们工作的效率,最终确保我们项目的质量。
其实,这个项目还不是那么复杂,试想一下,项目复杂度再高一些,环境再复杂一些,
开发人员和测试人员再多一些,如何协同工作,有效沟通,如何保证项目按 照进度完成,
就会变成一项十分庞大的工程。比如,我们有开发环境,测试环境,正式环境,怎么样来控
制开发人员提交的代码,保证三套环境的异同,这需要流 程,需要专门的工具来保证这些
流程的精确运行。
软件是围绕人,工具,过程来进行的,以人为本,以工具来提升,以过程来保证。软件
不是简 单的人力积累,不是简单的工作集合,“人月神话”的故事,我以前就给大家讲过,
现在我想再给大家说一遍。比如,孕妇生孩子,10月怀胎是常识。可是,你要 追求进度,
就找10个孕妇来帮忙,结果怎么样?不用说,大家也知道。有些事情不是简单的数字计算,
软件开发中有很多风险,不管你采用什么样的开发模型,风 险都会存在。而我们充分利用
这些理论,抓好流程,做好文档将会有助于我们降低风险。
好了,就写到这里吧。希望这封信能够对大家的工作学习有所帮助,也祝福大家能够百
尺竿头,更进一步,实现自己的理想。
徐磊 2011-06-28
邓智群: 不错啊
响应号召,换个口味,hoho