基于需求的测试:确保需求与软件的统一

发表于:2011-5-27 13:38

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

 作者:张勇    来源:51Testing软件测试网采编

  软件质量保证是软件开发过程的重要一环。所谓软件质量保证就是使软件综合品质符合用户需求,软件质量保证的理论、技术、措施很多,测试是其中最重要的手段之一。实践证明,虽然软件的质量并不完全依赖于测试,但科学、合理、有效的测试方案却可以极大地提高软件质量。其中,基于需求的测试(RBT)就是软件质量保证的重要工具途径之一。相关权威研究表明,已发现的软件缺陷中超过50%的缺陷源于错误或者不恰当的软件需求。

  保证需求与软件的统一

  Richard Bender是基于需求的软件测试方法创始人。他认为:改进软件系统测试方法的最佳途径在于改进软件需求定义开发过程和功能测试设计过程,基于需求的测试是一种最根本的软件测试。

  软件需求分析解决的主要问题是“软件产品必须或应该做什么”,软件需求分析的最重要成果就是需求说明书,需求说明书是软件产品的雏形,软件产品是需求说明书的最终展现成果。由于需求和软件之间是相互对应的,编码和测试用例之间也是相互对应的,所以需求和测试用例之间是互相对应的,在本质上也是互相关联、密不可分的,可以实现需求和测试用例之间的双向跟踪追溯。

  值得一提的是,在软件开发过程中,编程和测试是紧密相关、相辅相成的活动,两者同等重要、缺一不可。测试的目的是为了发现尽可能多的缺陷,并期望通过修改完善缺陷以提高软件的质量。成功的测试在于发现了迄今尚未发现的缺陷,测试人员的职责是设计这样的测试用例,它能有效地揭示潜伏在软件里的缺陷。

  然而,在企业应用软件项目的实施过程中,普遍存在重编码轻测试、缺乏高素质软件测试人员的现象。事实上,设计与测试应该完全分离,好的开发者构建事务,好的测试者破坏事务,一个好的软件测试工程师应该要比开发工程师对整个系统的理解更加透彻。目前很多软件测试工程师处在软件项目组的最低职级,缺乏高层的重视和支持,自身对于整个应用系统“该做什么、要做什么、必须做什么”并不清楚,如果再加上与设计人员的沟通交流协作过程中不讲究原则性、策略性,其工作成效可想而知。

  基于需求的软件测试方法

  要实施基于需求的软件测试,其正确的工作步骤如下:

  1.全面清晰地掌握用户需求

  全面、清晰、准确地认识理解用户需求、软件平台架构是软件测试工程师开展一切测试工作的前提和基础。软件测试工程师应认真阅读、研究、分析《用户需求说明书》、《软件产品设计说明书》(分为概要设计和详细设计)等关键文档,清晰掌握平台架构设计、数据库结构设计、模块功能设计、核心算法、界面展现、人员权限角色分配、输入输出数据等要素,将业务操作流程和以上要素分别逐一对应关联。

  2.明确测试的目标和任务

  软件测试的任务就是验证软件是否准确地实现了用户需求,检验需求和软件之间是否一致。好的测试用例能发现软件中潜在的新缺陷,糟糕的测试用例在目标及任务尚不明确的情况下盲目进行评测,不仅效率低下,而且毫无效果。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号