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

浙公网安备 33010602011771号