大摩娱乐注册 大摩娱乐登录 大摩娱乐招商QQ

Navigation menu

来源:未知 责任编辑:admin

基于W模型的软件测试设计与实现

  摘要:该文首先简单分析了软件测试重要性,然后介绍了W模型及其对软件测试的指导作用,最后以模拟Margarita Mid的COPY模块为为测试对象,采用W测试模型,以等价类划分、边界值分析、错误推测法为主要方法,实现从需求分析、系统设计到编码各个软件开发阶段的测试设计与实现。

  随着计算机软硬件技术的不断发展,计算机应用已经深入到我们整个社会的经济体系,甚至人们生活的各个层面中。在计算机应用的过程中,人们对计算机软件的依赖性也越来越大。虽然质量可靠的软件给我们的工作和生活带来了前所未有的便利,但是质量不好的软件也让我付出了惨痛的代价[1]。这让我们逐渐认识到软件质量正在牵动着社会的命脉,提高软件质量是软件开发过程中非常重要的一个环节。

  为了提高软件质量,软件开发人员进行了大量的研究和实践。最初的研究重点是技术革新,从各种软件工具,如编辑、编译、调试工具等到各种计算机辅助软件工程环境,同时注重软件开发模型的研究。但是这种以技术、方法为重心的作法未能达到保证软件质量的目的。不过,在这个过程中,人们逐渐认识到只有对软件开发过程的质量加以控制,才有可能大幅度的提高软件质量。因此,软件质量保证也从最初的技术、方法为重心转移到以过程管理为重心。

  软件质量保证的本质是为了确保软件开发过程和结果符合预期要求而建立的一系列活动及其结果评价,其最终目的是缺陷预防。软件测试作为软件质量保证中重要的一项活动,则是通过检测错误,发现缺陷来保证软件质量。因此,在软件开发的过程中,如何采取有效的测试方法,对软件进行合理的测试设计,已经成为当今保证软件质量的一种重要途径。

  目前主流的软件开发模型有瀑布模型、原型模型、螺旋模型、增量模型、渐进模型、快速软件开发(RAD)以及Rational统一过程(RUP)等,这些模型对于软件开发过程具有很好的指导作用,但在这些过程方法中,并没有充分强调测试的价值,也没有给测试以足够的重视,利用这些模型无法更好地指导测试实践。软件测试是与软件开发紧密相关的一系列有计划的系统性的活动,也需要测试模型去指导实践。目前常见的软件测试模型有V模型、W模型、H模型、X模型等[3]。

  W模型是众多测试模型中相对比较成熟的一种测试模型。它本质上是在V模型的基础上,基于“尽早地和不断地进行软件测试”的原则而设计的。该模型强调测试应该伴随着软件的整个开发周期,测试的对象不仅仅是程序,还包括需求、功能和设计。因此,在W模型中,只要相应的开发活动完成,就可以开始执行测试,即,测试与开发是同步进行的,从而有利于尽早地发现问题。以需求为例,需求分析一完成,我们就可以对需求进行测试,而不是等到编码完成后才进行针对需求的验收测试。具体如图1所示。

  在W模型中,软件开发各个阶段的文档是软件测试开始的重要准则之一,即一旦某个开发阶段的文档一经交付,就要及时确定测试条件,以及编写测试用例,这对测试的各个级别都有意义。例如,当需求被提交后,就需要确定高级别的测试用例来测试这些需求。当概要设计编写完成后,就需要确定测试条件来查找该阶段的设计缺陷。如果测试文档能尽早提交,那么就有了更多的检查和检阅的时间,这些文档还可用于评估开发文档。另外,测试者可以在项目中尽可能早地面的规格说明书中的挑战。这意味着测试不仅仅是评定软件的质量,测试还可以尽可能早地找出缺陷所在,从而帮助改进项目内部的质量。参与前期工作的测试者可以预先估计问题和难度,这将可以显著地减少总体测试时间,加快项目进度。

  该文通过一个实例,以模拟惠普打印机Margarita Mid的COPY模块为测试对象,采用W测试模型,以等价类划分、边界值分析、错误推测法为主要方法,实现从需求分析、系统设计到编码各个阶段的测试设计。

  为了更好的对模拟Margarita Mid的COPY模块进行测试,首先需要测试人员要熟悉该软件各个模块的需求。由于缺乏完整的需求资料,该文采用输入随机命令和数据、请专业人员演示和阅读相关帮助文件等方法来了解应用程序,整理出测试需求。对于整理出的测试需求文档,该文主要依据以下5条原则来对其进行测试。