基于PB环境下的软件测试
网络技术和数据库技术的飞速发展,使管理信息系统(MIS)向客户机/服务器(Client/Server或C/S)或B/C(Browser/Server)加SQL Server(或Sybase、Oracle)模式发展。开发工具也大多不再是面向过程的语言,而是使用诸如PB(Power Builder)的Script等具有面向对象特征的脚本语言。开发环境的改变及应用的日趋复杂使MIS的开发方法也正在从传统的结构化方法向面向对象的方法转变。因此,对基于PB等环境下的软件测试技术及方法的研究,不仅具有方法论上的理论意义,而且具有使用价值。
1.PB软件的特点
利用PB开发中大型的MIS应用系统,一般采用三层C/S的体系结构.在这种结构下,系统可分为两部分,即后台数据库部分和前台应用程序部分,后台采用非面向对象的关系数据库管理系统RDBMS(如SQL Server等)实现对应用数据的组织,安全性、完整性维护,以及存取控制;前台应用程序部分利用PB提供的可视化编程技术实现用户的各种需求。其特点表现在,利用PB提供的窗口、菜单及数据窗口等对象很方便地实现友好的用户界面,系统的各种功能以窗口对象为主线,利用PB 提供的Script语言,通过对窗口的各控件的事件描述来实现。与传统的面向过程的语言相比较,PB支持面向对象的程序设计方法,其用户界面的元素都是对象,所以都有属性、事件和方法,具有继承、封装和重用等面向对象的特性。
2.测试目标
无论传统的系统,还是基于PB的C/S系统,测试的目标都是确保所开发软件的功能符合用户的要求。具体表现在以下几个方面:
(1)确保系统达到需求功能的说明;
(2)确保系统满足性能需求;
(3)强度测试确认程序能够处理要求的负载;
(4)确保系统在要求的硬件和软件平台上工作正常。
3.测试方法
原则上讲,可以将软件测试方法分为两大类,即静态测试和动态测试。静态测试是对被测程序进行特性分析的一些方法的总称,这种方法的主要特性是不利用计算机运行被测试的程序,而是采用其他手段达到检测的目的。动态测试是实际运行被测程序,输入相应的测试用例,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性。动态测试的两种主要的方法是黑盒测试和白盒测试。
4.测试过程
测试虽然是软件生存周期的一个独立阶段,但测试工作却渗透到从分析、设计直到编程的各个阶段中,如测试计划的编写从分析和设计阶段就开始了,而具体的测试工作随编程工作的不断深入也在进行中。在实际工作中,测试环节可分为明显的、同等重要的三个阶段:即单元测试、集成测试(又称构件测试)和系统测试。测试工作中的第四个阶段是验收测试阶段,验收测试无论在规模上或性质上都和系统测试很相似,它们的根本区别在于:前者是内部的,而后者则是受“客户”控制的。
(1)单元测试
软件单元定义了一个软件很底层的块,用PB开发的客户机/服务器的软件系统中,一个窗口、函数、菜单、报表或一个存储过程都可以作为一个单元进行测试。单元测试是测试的第一步。
1)人员安排:对于一个完整的软件单元,没有人比它的开发者更熟悉它,因此,开发者自己对其进行测试是最合适的。
2)单元测试计划:测试计划必须在单元测试之前被设计和记录好。大量的文档说明必须足够详细,以备当单元开发者调离、提升或其他原因离开其岗位时,其他人员也能对相应的单元进行测试。此外,在集成测试和系统测试阶段,清晰、详细、易于理解的单元测试文档对于测试者也将发挥巨大作用。
单元测试的测试计划由单元的开发者(也是该单元的测试者)编制,但在测试计划执行前必须进行审查。这些审查由开发者以外的人进行,第一遍审查由开发者的直接上司去做,其目的在于找出测试计划中的错误、缺点和疏漏之处。第二遍审查由测试该单元所属系统的测试人员进行,其目的在于确认测试计划符合公布的标准。如果测试计划在任何方面有问题,都将被立即退回到开发者手中。
3)进行单元测试的时间:在客户机/服务器的开发过程中,单元测试是测试的第一步。经验表明,单元测试执行得越快,它的结果就越有价值,在开发周期中错误发现得越早,纠正它们所花的代价就越小。一般来讲,单元编码完成后,就对其进行单元测试。另外,单元测试可以并行进行。对于彼此独立的单元,进行并行测试可以加速测试的进程。
0条评论