FY-3地面应用运行控制系统软件项目的测试策划
2020-04-23肖岚
肖岚
(国家卫星气象中心 北京市 100081)
1 引言
风云三号气象卫星(FY-3)是我国第二代极轨气象卫星,搭载了多个遥感仪器,对全球进行全天候观测。FY-3 地面应用运行控制系统(以下简称OCS 系统)实现对地面应用系统的任务调度、运行和设备状态的监视等。
OCS 系统作为工程软件项目,从立项至项目验收, 遵循软件工程规范开展项目活动,经过需求分析阶段、概要设计阶段、详细设计阶段、编码实现阶段、测试阶段、直至验收阶段。软件测试活动是OCS 系统项目实施中必不可少的环节。软件测试目的是为了发现软件设计和实现过程中所产生的错误,验证软件是否满足任务需求和软件设计所规定的功能和性能要求,更是保证软件质量的一种手段。测试策划是软件测试活动的开始部分。
2 测试过程模型的确定
软件项目测试过程原则上都应遵循一个测试过程模型,定义过程模型的目的在于将本质上无序的活动有序化,为开发过程中的软件测试工作提供一个基本的框架,并在此框架上展开测试活动。如图1 所示。
针对OCS 系统的项目阶段,测试过程模型中的V 模型和W 模型都可以与之对应。但传统的V 模型仅把测试过程作为编码后的一个阶段,忽视了测试对需求的分析,不利于发现设计过程中的错误。W 模型可以看作双V 模型,测试活动与开发活动是同时进行的,体现了“尽早地和不断地进行软件测试”的原则,这样有助于及早发现问题,提高测试效率,故我们选择W 模型来开展OCS 系统项目测试。
3 测试策划
按照W 测试过程模型,测试活动是贯穿OCS 系统软件项目整个生命周期的。我们按照项目进展的顺序,对测试策划活动分别进行说明。
3.1 OCS系统需求分析阶段测试策划
在需求分析阶段,开发人员对用户提供的OCS 系统任务书进行需求分析,编制需求规格说明书和软件开发计划等。
我们在需求分析阶段,以OCS 系统需求规格说明书为依据,开展OCS 系统的系统测试策划。
3.1.1 系统测试资源需求
系统测试策划需明确OCS 系统的系统测试环境,包括软件项和硬件项:
(1)软件项:操作系统(Unix/Linux, Windows 系列)、支撑软件(数据库、消息通信中间件、网络管理软件)、编译器、测试设计与文档工具、测试管理工具。
(2)硬件项:计算机硬件(服务器、PC 机)接口设备(以太网卡、通讯卡、语音卡)
测试策划中需明确测试准备工作:包括建立测试环境和在测试环境中安装被测试的软件。
3.1.2 系统测试人员与进度安排
OCS 系统测试是由独立的测试组来完成的。独立测试组人员包括:软件测试组长1 人、软件测试工程师4 人、软件质量保证工程师1 人。测试进度安排包括测试用例设计、测试实施、测试总结的预计最早和最晚开始的日期,以及所需的工作日,这些进度日期的设置来源于软件开发计划中的活动网络甘特图。
图1
3.1.3 系统测试内容
在对OCS 系统的需求规格说明书进行分析后,确定以下测试内容:
(1)适合性测试:对业务应用服务、客户端监视、WEB 检索统计等功能进行测试。
(2)准确性测试:测试预报的时间和位置偏差是否满足需求规格说明书中的精度要求。
(3)安全性测试:测试系统运行是否具有基于角色的安全控制以及应用软件安全测试。
(4)容错性测试:测试出现异常数据输入或进行异常操作时,系统的容错处理能力。
(5)可靠性测试:测试系统是否满足需求规格说明书中的可靠性指标要求。
(6)易维护性测试:测试系统是否满足需求规格说明书中的易维护性要求,检查是否具有离线维护环境。
(7)可扩展性测试:测试是否可以通过外部配置予以完成OCS 核心软件的扩展。
(8)时间特性测试:测试是否满足需求规格说明书中的时间效率指标。
(9)资源特性测试:测试是否满足需求规格说明书中的资源效率指标。
(10)易用性测试:测试软件界面操作易用性,评价用户手册和联机帮助等的易读、易理解性。
我们建立测试项到测试依据(需求规格说明书)之间的追踪矩阵,确保测试内容覆盖需求,如表1 所示。
3.1.4 系统测试准则与文档标准
OCS 系统的系统测试准则遵循已建立的系统测试工程规范标准。系统测试用例、系统测试记录、系统测试报告模板在测试策划中予以提供。
表1
表2
3.2 OCS系统概要设计阶段测试策划
OCS 系统的概要设计阶段完成对OCS 系统的软件结构设计、数据库设计、接口设计。
我们以概要设计阶段输出的概要设计文档为依据,进行OCS系统的集成测试的策划。
3.2.1 集成测试策略
集成测试的基础策略通常分为两大类:非增量式集成测试策略和增量式集成测试策略。OCS系统的集成测试采用增量式集成策略。增量式集成的策略有很多种,根据OCS 系统的设计特性,OCS 系统的集成测试采用的是自底向上集成与基于功能集成相结合的集成策略。
3.2.2 集成测试环境部署
由开发人员搭建OCS 系统的集成测试环境:包括C/S 结构和B/S 结构,并部署需集成的软件部件。
3.2.3 集成测试人员与进度安排
OCS 系统的集成测试人员由开发人员和独立测试组人员共同组成,在单元测试实施完毕后,进入集成与集成测试阶段。OCS 系统的集成测试进度安排参照软件开发计划中的活动网络甘特图来制定。
3.2.4 集成测试内容
OCS 系统集成测试内容包括对C/S 和B/S 两种结构的集成功能测试、与其它应用系统仿真接口的测试、关键业务流程集成测试。
在集成测试说明中对测试内容细化,设计集成测试用例。
3.2.5 集成测试准则与文档标准
OCS 系统的集成测试准则遵循已建立的集成测试工程规范标准。集成测试说明、集成测试记录、集成测试报告模版在集成测试策划中予以提供。
3.3 OCS系统详细设计阶段测试策划
详细设计阶段完成模块的详细设计,每个模块的模块描述、实现算法,流程逻辑,数据结构等都有详尽的描述。
在详细设计阶段,对应的是单元测试的策划。单元测试以详细设计为依据,采用白盒测试法对各模块进行测试。OCS 系统的单元测试由开发人员在编码阶段同步进行。
3.3.1 单元测试方法和工具
单元测试采用的方法是白盒测试法。白盒测试是按照模块的内部的结构来测试,测试者可以看到被测模块的源代码,并分析其内部结构。因此,白盒测试也叫结构测试或逻辑驱动测试。单元测试的目的在于发现各模块内部可能存在的各种错误。考虑采用Visual Studio 测试工具开展单元测试。Visual Studio“测试资源管理器”可帮助开发人员创建、管理和运行单元测试。测试框架可以使用 Microsoft 单元测试框架或第三方和开源框架。
3.3.2 单元测试环境
OCS 系统的单元测试环境与开发环境相一致。多数情况下,模块并不是独立可运行的程序。因此,在考虑测试模块时,同时要考虑到它和外界其他模块的联系,用一些辅助模块去模拟与被测模块关联的其他模块。这些模块分为驱动模块和桩模块。驱动模块相当于所测模块的主程序,负责接收测试数据,将测试数据传送给被测模块,输出实测结果。 而桩模块是由被测模块所调用,用以代替由被测模块所调用的模块功能。因此在OCS 系统的单元测试的测试环境中,需要构建驱动模块和桩模块,从而达到单元测试的目标。
3.3.3 单元测试人员与进度安排
OCS 系统的单元测试人员安排为开发人员,开发人员有责任编写功能代码,同时也就有责任为代码编写单元测试代码,以保证开发出的代码与设计要求一致。OCS 单元测试进度安排参照软件开发计划中的活动网络甘特图来制定。
3.3.4 单元测试内容
OCS 系统的单元测试内容包含详细设计中所有模块。如表2 所示。
3.3.5 测试准则与文档标准
OCS 系统的单元测试准则遵循已建立的单元测试工程规范标准。单元测试用例说明、单元测试记录和和单元测试报告模版在单元测试策划中予以提供。
3.4 OCS系统验收阶段测试策划
当项目的生命周期进入验收阶段,意味着开发任务已经完成,通过了系统测试,达到了验收测试的准入条件。验收测试是以最终用户为主导的测试。由最终用户组织验收测试组,通过验收测试活动来确认OCS 系统是否满足任务书中规划的功能和性能的要求,并决定是否通过验收测试。
3.4.1 验收测试沟通
验收测试是项目最后一个测试阶段,也是启动项目验收评审的先决条件,其重要性不言而喻。因此,在着手准备验收测试之前,应与用户方进行充分的沟通。根据用户方的要求,提交技术文档,准备验收测试数据;协助用户方,梳理验收测试用例与任务书要求之间的追踪关系,确保验收测试内容完全覆盖了任务书功能和性能要求。
3.4.2 验收测试环境部署
OCS 系统的验收测试是在真实业务环境下进行的,在验收测试开始之前,需要将系统安装到用户真实业务环境下(用户业务机房),安装必要的运行支撑环境,并配置好所有的运行参数。
4 结语
伴随OCS 系统软件项目生命周期的进展,我们在需求分析阶段进行了系统测试策划,概要设计阶段进行了集成测试策划,详细设计阶段进行了单元测试策划。 越早进行测试策划,越有利于发现需求和设计中存在的问题。而验收阶段的测试策划,着重与用户充分沟通, 做好验收测试准备,保障验收测试顺利进行。软件项目的测试策划对后续设计测试用例,实施测试,完成各阶段测试总结,直至通过最终验收测试,都起着重要的作用。正是通过合理的测试策划,为OCS 系统软件测试工作的圆满完成奠定了良好的基础。