基于UML的面向对象系统测试环境设计

时间:2022-09-11 10:43:09

基于UML的面向对象系统测试环境设计

摘要:系统测试在软件的测试中起着重要作用。由于系统测试强调软件运行环境的真实性,进行系统测试的难点是测试环境的建立。良好的软件测试环境对测试人员进行测试是个很好的保障,不仅提高测试效率,也是对项目质量的一种保障。

关键词:面向对象;系统测试;测试环境

中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2010) 15-0000-02

UML-based Object-oriented Design of the System Test Environment

Liu Juan1,Ye Bailong2,3,Lu Lan2

(1.Hunan University,Changsha410082,China;2.Central South University,Changsha410083,China;3.Hunan BLRise Information Technology Co.,LTD,Changsha410205,China)

Abstract:System testing plays an important part in software testing.Because of the system test stressed the authenticity of the software operating environment,the difficulty of system testing is establishing the test environment.Good software testing environment is a good protection to the tester,it not only to improve test efficiency,but also a guarantee of project quality.

Keywords:Object-Oriented;System testing;Software Testing

一、引言

测试环境是测试的基础,贯穿测试的各个阶段,每个测试阶段中对测试的影响不同,需要根据客户的需求进行测试环境的设计。稳定和可控的测试环境,可以使测试人员花费较少的时间就完成测试用例的执行,也无需为测试用例、测试过程的维护花费额外的时间,并且可以保证每一个被提交的缺陷都可以在任何时候被准确的重现,保证测试的效率和质量[1]。

本文从基于UML面向对象的理论,从测试方法与测试环境结合的角度提出了系统测试环境的设计框架。

二、基于UML的面向对象设计

在软件工程领域,面向对象方法和技术的研究得到了广泛的重视和发展,面向对象程序设计提出了一种新的系统设计模型,将系统看成通过交互作用来完成任务的对象的集合,每个对象用自己的方法管理数据[2][3]。

标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护,UML建模过程是一个迭代递增的开发过程,每次迭代都包含了软件生命周期的所有阶段,增加一些新的功能,解决一些新的问题。

三、测试环境的设计

(一)测试层次结构的设计

根据面向对象的特点和测试的层次机构,面向对象的软件测试结构总体上呈现从单元级、集成级到系统级的分层结构[4],软件层次结构如图1所示。

1.单元测试(Cell testing)。

测试软件单元(软件基本组成部件),保证单元的设计细节被正确实现。面向对象的单元测试以封装的类或对象作为最小的可测试单位,考察封装在一个类中的方法和类的状态。单元测试方法可分为:随机测试、划分测试、基于状态的测试和基于故障的测试。

2.集成测试(Integration testing)。

逐步增多软件测试单元,组装软件基本单元直到软件被完整的测试,主要测试其软件单元之间接口的正确性、稳定性。面向对象的集成测试能够检测出相对独立的单元测试无法检测出的那些类相互作用时才会产生的错误。面向对象的集成测试分为静态测试和动态测试两步进行。

3.系统测试(System testing)。

将整个软件项目/产品作为一个整体,包括网络、服务器和工作站的软硬件以及应用软件的配置到位的情况下,进行测试。是公司内部的验收测试,为公司内部软件项目/产品的验收评审提供测试依据。系统测试的方法包括功能测试、强度测试、安全测试、恢复测试。

4.功能测试(Function testing)。

测试软件项是否满足功能需求和设计要求。

5.回归测试(Regression testing)。

测试过的软件发现缺陷、经过返修后,同一软件两个版本之间差异标识的测试,检测系统或系统部件在修改时所引起的故障,用以验证修改未引起不希望的有害效果,或证明修改后的系统或软件仍满足规定的需求。在这种情况下为了确保软件的改变没有副作用,需要重复的早期的成功测试。

(二)测试环境配置的设计

配置测试环境是测试实施的一个重要阶段,测试环境适合与否会严重影响测试结果的真实性和正确性。一般来说,配置测试环境应该满足5个基本要素是:硬件、软件、网络环境、数据准备、测试工具。硬件、软件是测试环境中的最基本的两个要素,并派生出后三者[5][6]。

1.硬件环境。

硬件环境是指软件赖以运行的硬件平台,如工作组服务器、个人服务器、PC机及配套设备等。测试中所需要的计算机的数量,以及对每台计算机的硬件配置要求,包括CPU的速度、内存和硬盘的容量、网卡所支持的速度、打印机的型号等。

一台服务器的性能指标主要是由cpu,主板,内存,硬盘,显示卡等决定的。通常一个较完善的测试环境包括标准配置,最佳配置和最低配置的硬件设备,只是根据项目的需求和条件的限制所占比例的不同。

2.软件环境。

软件环境是指支持待测软件运行的软件系统平台,包括用来保存各种测试工作中生成的文档和数据的服务器所必需的操作系统、数据库管理系统、中间件、前台、WEB服务器以及其他必需组件的名称、版本,以及所要用到的相关补丁的版本。建立软件测试环境的原则是选择具有广泛代表性的重要操作系统和大量的应用程序。

(1)常见的操作系统有:Windows系列:Windows Xp,Windows2000,Windows2003,Vista;UNIX系列:solaris2.6,solaris2.8,red hat9.0;MAC系列:OS嵌入式操作系统,VXWORKS,PSOS,QNX等。(2)常见的数据库管理系统:大型服务器数据库平台:oracle 8i、oracle 9i;sun平台:sybase,Mysql;PC平台:Mysql,server2000,Access;(3)平台常见的应用程序:microsoft office2000,microsoft office2003,金山Wsp2000等。

3.数据准备。

在软件测试中数据准备包括数据量和数据质量两个方面。数据的来源一般有三个:(1)“造”数据:根据被测系统需求的分析,针对正常业务,异常情况,边界情况等来构建完整的数据,适用于小系统。(2)利用现有系统,把已经在生产环境中运行的数据导出,在此基础上再进行数据的整理、加工为测试数据。适合针对升级或者增加功能的产品化的系统。(3)边测试边积累数据:将现有非电子化的业务数据录入到系统中,在验证业务的同时也完成了测试数据的积累。

确定好数据来源后,还要对已有数据进行分析、验证、检查,保证数据的质量,数据的质量需要满足测试需求、覆盖被测业务、覆盖测试边界,以及要满足完整性、一致性等。检查完后要整理和完善数据,清除无用和冗余的数据、补录不完整的数据,修改一些错误的数据。经过整理好的数据要纳入配置管理,以后根据需求和变更要进行数据的维护和更新,以保证满足系统测试的要求。

4.网络环境。

随着网络的普及,越来越多的软件产品离不开网络环境,网络环境是硬件因素和软件因素的综合。各种路由器,交换机,网线,网卡等是硬件基础,各种,网关,协议,防火墙等是软件基础。正确的网络环境需要负责网络环境的测试人员进行搭建,维护,调整网络环境来适应测试的需要。若测试结果与接入Internet的线路的稳定性有关,那么应该考虑为测试环境租用单独的线路;若测试结果与局域网内的网络速度有关,那么应该保证计算机的网卡、网线及用到的集线器、交换机都不会成为瓶颈。

5.测试工具。

依托测试工具,不仅可以提高软件测试的效率,也便于测试过程的自动和半自动执行、测试结果的自动或半自动评审和报告。测试工具的选择包括两方面:折中需求和实际条件来选择,有重点的自行开发测试辅助工具。

现在一般测试工具分为:代码分析工具,自动或半自动测试过程管理工具,测试资源管理工具,文档编写工具、性能测试工具、缺陷跟踪管理系统等软件的名称、版本、License数量,以及所要用到的相关补丁的版本。对于性能测试工具,则还应当特别关注所选择的工具是否支持被测应用所使用的协议。

四、结束语

软件测试环境设计的目的是提高系统测试的质量和效率,它的作用受到越来越多的重视,测试环境是软件测试的关键,测试环境的设计是关系到测试成败。基于UML面向对象的测试环境设计,可以针对系统和项目的特点具体的选择不同的测试方法、搭建不同的测试环境。该测试环境的设计为系统测试阶段的环境设计提供了依据。

参考文献:

[1]郭笑梅.面向对象的软件测试方法的研究.信息技术,2009,7

[2]郭笑梅.面向对象的软件测试的研究.信息技术,2009,7

[3]郭坚,付连芳,翟君武.一种星载软件系统测试环境的设计.计算机测量与控制,2005,13,5

[4]阳春新钢铁技术协议书

[5]朱虹.软件测试在软件开发过程中的应用.信息技术,2009

[6]杜文洁,景秀丽.软件测试基础教程.中国水利水电出版社

作者介绍:

刘娟(1986-),女,湖南大学工程硕士,研究方向:软件工程;叶柏龙(1964-),男,教授,研究方向:项目管理,计算机应用,土木工程。

国家发改委信息安全产品专项基金(发改办高技[20091886号],中央财政2010年科技成果转化基金[财建2010]341号,国家创新基金项目09C26224305084

上一篇:基于SEV体系结构的态势推演系统开发技术研究 下一篇:云计算项目中的安全考虑