关闭

初出茅庐 我的测试工程师之路

发表于:2010-9-06 13:19

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  软件项目是一个系统工程,软件质量牵扯到多个部门和人员,需求分析,设计,编码等各个环节和过程。软件测试是项目开发中不可缺少的环节,软件测试不是万能的,因为不可能发现全部的软件缺陷。但测试应该是贯穿于软件开发的整个周期,编程只是软件开发的一个环节。但往往大家非常重视软件编程,把测试作为编程后的一个辅助环节,这是典型的本末倒置。

  我在测试过程中明白到与具体测试技术相比,掌握测试的核心思想比具体技术更重要。软件测试不是孤立的简单活动和过程,测试的最高境界在于建立体系的测试流程,运用最简单有效的测试技术,最大限度的发现软件缺陷。一个完善的测试流程应该是从测试计划--测试用例的编写--执行测试--测试报告编写等。

  建立体系的测试流程和缺陷管理是重中之重,我的测试经历认为可以从以下这几方面来掌握测试体系之甜和美:

  1、制定符合软件开发计划的测试计划

  软件测试计划是一个老生常谈的问题,一般来说计划的目的是用来识别任务,分析风险,规划资源和确定进度。拟定软件测试计划需要测试人员的积极参与,这是因为主项目计划已经确定了整体项目的一个时间框架,软件测试作为阶段工作必须服从时间和资源上的约定。

  在实际的工作中,我们总是不自觉的在调整软件测试的计划,比如在时间紧张的情况下,通常优先完成重要功能的测试。所以在接收到一项测试任务的时候,需要根据主项目计划的时间来确定测试计划。确定计划并进行任务的划分,简单的说就是分解测试任务。分解任务有两个方面的目的,一个是识别子任务,二是方便估算资源的需求。

  2、准确理解需求

  我认为测试首先要准确的了解系统是干什么的,要达到一个什么样的效果。测试不单是各个功能单独的测试,最好能够从整体上了解整个系统的结构,流程等等。理解需求包括两方面:一个是从我们程序的角度,即我们的详细设计文档所描述的具体什么表,什么字段等来了解。了解什么功能的实现跟那些表,那些字段有关,做了某些操作后,这些表的字段应该发生什么样的变化。这些都是建立在对系统的深刻理解的基础上面的。另一方面,从客户哪个角度去理解需求。

  3、测试重点要分明

  测试整个系统的过程中,对一些关键的重要功能测试,必须重视它,反复进行测试。根据可能出现的种种情况进行测试。因为这些关键的部分有问题会引起其他相关的一连串错误。测试的可以通过单元测试,集成测试和压力测试等,还有白盒测试,黑盒测试等。对整个系统的全局的了解,整个测试流程怎么走必须心中有数。通过测试驱动开发,从而提高软件的质量。

  4、测试案例的准备和保留

  对于系统整个流程的各个功能,每个功能的各种应用的情形,准备好相应的情形的数据(做好备份),以备修改好后可以重现或检查。理想状态下应有完整的记录说明,什么样的数据是做什么测试用的。有些经常要用到的测试,最好能够另外编写很简单的测试驱动程序。可以写些专门用于校对数据准确性的小程序。案例的准备数据和应用正确结果对于回归测试特别有意义。

  5、版本控制

  对于版本控制这个概念大家都不陌生,它是软件配置管理的初期表现形式。测试版本控制简单的说就是测试版本明确的标识说明。我在测试中认为版本号码的用处很重要,例如在填写错误报告的时候往往需要提供发现错误的那个版本。在做缺陷分析时,我们可以利用版本号来区别缺陷和判断缺陷的发展趋势。测试版本是开发人员和测试人员之间交流的有效形式。测试人员可以通过这份文档了解到当前的测试版本中就上一版本而言有那些显著的变化。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号