1软件工程过程模型的种类
随着软件技术的不断发展,基于软件开发的工程过程模型种类在不断地增多,其主要由:一是瀑布模型。瀑布模型是目前最为基本的一种模型,其测试程序主要是对软件开发系统进行需求分析,然后根据需求分析进行相应的设计,并且进行编码,最后在测试软件性能。其中每个环节的测试都有着严格的规定,其目的是就是要保证设计出来的产物要符合生产设计标准,及时发现软件系统所存在的问题,但是瀑布模型在实践中存在一些问题,比如对于小型项目则会因为前期的设计需要将设计人员与开发人员共同投入到该项目中,结果导致出现人力资源闲置的问题,因此在选择该模型时要根据实际情况而定;二是螺旋模型。螺旋模型是依托瀑布模型而产生的,选择螺旋模型能够降低项目的风险,因为螺旋模型的测试具有阶段性,也就是在结束某一阶段后,要进行测试,如果测试的结果不合格那么该系统就会终止项目;三是RUP模型。该模型主要包括增量过程和迭代过程。该模型的优势是每一次迭代过程都是对前一次阶段的优化,其最大的优势就是保证了软件产品开发过程的质量;四是原型法。原型法一般采取生命周期形式,它是集合了上述几种模型的所有特点的基础上而形成的,其主要优点是能够快速的获悉用户的需求,进而使得开发的软件能够满足用户的要求。
2目前软件工程模型测试存在的问题
2.1测试活动比较晚
传统的软件测试过程模型主要是对软件产品设计完成以后而进行的测试方案,这样的测试模型会给软件工程测试带来一定的难度,尤其是不能及时的对软件工程过程中所存在的缺陷进行及时的更改,结果造成测试结果的问题更改难度比较大。
2.2测试计划对软件开发的全过程覆盖不全
软件工程过程的测试主要分为静态测试和动态测试,其中很多模型的测试是人为的将软件工程过程开发划分为不同阶段,并且不能够迭代,这样即使在对软件的某个阶段进行测试并发现问题时,因为其不能及时的进行处理,结果导致其修复的成本比较大,进而这些缺点也不能根据软件开发的进度进行调整,结果给软件的质量造成巨大的影响。
2.3可操作性差
软件工程过程的测试模型要具备加强的可操作性,只有这样才能保证及时的对软件进行测试,但是分析当前测试模型发现,这些模型基本上都存在可操作性差的问题,使得在实践中不能有效的对软件进行测试。基于目前软件工程过程测试模型所存在的问题,需要我们设计一些新的软件工程测试模型,新的软件工程过程测试模型要集合所有模型的有点,并且消除现有模型所存在的问题,使得新设计的模型更加具有实用性。
3新软件工程过程测试模型的实践研究
为了切实克服原有软件工程过程测试模型多存在的缺陷,本文提出了构建新型的软件工程过程测试模型,新的模型构建原则是:采取测试与开发并重的测试模式、使软件设计中的错误尽早的暴漏出来以及简单实用原则。
3.1新模型各组件之间的关系以及执行过程的描述
针对上述模型在测试过程中所存在的问题,我们要对软件在需求设计分析阶段就要根据软件所形成的的软件需求文档进行软件系统的测试方案进行评审,通过评审及时地发现问题,进而及时的进行更改,当然在更改的过程中,软件的过程开发仍然不间断。然后在软件开发进入到概要设计阶段后,测试人员要停止设计系统测试用例及方案,并且经过对测试方案进行评审,评审通过后,进入代码编写阶段后要对每个模块进行单元测试,并且进行测试,对测试过程中发现存在问题的要进行修改,随着单元模块测试的完成,集成好的模块就可以进行测试阶段,然后在完成系统的整体测试。
3.2各种测试的实施
根据新模型测试的结构,对软件工程过程测试模型的实施主要分为:一是单元测试的实施。单元测试的主要对象就是软件中的最小单元,其主要是对模块的独立执行路径、接口以及局部数据结构等进行测试。新的软件工程过程测试模型突破了传统的在软件开发所有阶段后才进行单元测试的模式,将单元测试的设计和执行置前,也就是在设计阶段的后期就开始进行单元测试,在软件编码的进行中就已经完成了模块的单元测试,进而使得软件工程测试中存在的问题提前得以解决,有效的保证了软件工程开发的进度;二是集成测试的实施。集成测试就是讲已经测试好的各个模块进行组装后在进行的一个系统测试。集成测试的主要任务就是测试有不同模块之间的接口是否存在问题。集成测试的开始时间要比传统的测试时间要早,也就是在概要设计阶段就开始进行集成测试;三是系统测试的实施。系统的测试主要是对软件在特殊环境中的运行效果的测试分析,也是检验软件设计质量的最为重要的环节,因为任何软件的设计与开发都需要应用到实践中去。系统测试是对于软件应用所有有关的因素进行整体的测试,其功能主要是评估系统环境下软件的性能,并且发现和捕捉软件中潜在的错误。测试的主要内容包括安全测试、恢复测试、强度测试以及性能测试。同样本文所构建的新模型对系统测试的时间也大大提前了,即在编码阶段完成后,就开始进行测试,同时新模型还采取了开发与测试同步进行的方式,使得开发的周期也大大缩短了。
4改进后软件工程过程测试模型的应用实践
为了验证改进后的软件工程过程测试模型的性能,里哟没喝过该模型对移动通信系统中的账务管理系统项目进行了对比测试,移动通信财务管理系统主要分为记账、结算、营业以及账务管理等系统,它们之间通过接口实现数据的流通,因此加强对软件系统的测试具有重要的作用。根据应用系统的功能本软件模型主要分为财务管理和资源管理两个模块,本着软件模块之间的高聚合、低耦合的原则,本系统的结构尽量减少冗余的模块间的依赖关系。
4.1单元测试
首先对各个单元进行结构测试。被测单元基本上含有一个或者多个相同的数据类型参数,具体的数据参数编码是:取各个数据的上届和下届,采取二进制对参数进行编码,然后在把各个参数编码进行整体构建;然后在对集成系统进行测试。对财务优惠政策的测试方法是通过集成测试函数对定义的对数据库进行的插入、删除、增加、减少等操作方法。中间阶段测试则是将数据中的各条数据记录与数据中现存方案标识的阈值对比,实现对页面输入方案的定义是否在系统进行重点测试。
4.2系统测试
系统测试的主要功能是测试软件系统与计算机系统之间的协调工作,系统测试的主要目的就是要保证其安全性,并且能够在整个运行过程中,分析相应的文档和测试文档,以此实现错误纠正的目的。本文在系统测试中,编写了JAVA语言代码,以此实现在整个测试过程的正常结束。通过一些系列的测试检验,新的软件工程测试模型相比其它模型能够及时测试出更多的软件错误,进而大大提高了软件运行的质量,提高了软件的工作效率。
5结束语
总之,本文在对当前软件工程过程测试模型的种类分析的基础上,对当前软件工程测试模型所存在的问题进行全面分析后提出了新的软件测试模型,该模型能够更早的、更多的发现软件的错误,从而使得软件开发的时间大大缩短,并且节省了软件开发的费用、提高了软件开发的质量。
作者:潘明 单位:同济大学