欢迎来到天天文库
浏览记录
ID:42054936
大小:61.50 KB
页数:5页
时间:2019-09-07
《高可靠性软件测试方案探讨》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、高可靠性软件测试方案探讨2007-09-1203:21:44・来源:CSDN・发布者:admin・评论数:0•点击数:413评论1内容简介:随着软件系统规模和复杂度口益升高,越来越多的软件项1=1明确提出软件的可靠性耍求。而涉及高可靠性软件开发的软件企业也越來越意识到,软件测试在这些项目开发过程中绝不是一种辅助性丄作,而是从软件质量控制角度保证软件工程过程质量的最有效方法。冇鉴于此,本文以CraftGS航天项II模型为例,系统地介绍了一套行Z冇效的软件测试方案,该方案对同类高可靠性软件项目测试工作的开展具有-定的参考意义和指导作用。高可靠性软件测试方案探讨(嫦娥工程地面应用系统软件
2、质屋部戴金龙)[关键词]高可靠性软件测试软件验证技术软件确认技术软件测试管理版权声明:此论文版权归戴金龙先生所有。任何大幅引用或转载请务必注明版权事项并征得作者同意。1引言高可靠性软件泛指一类软件:该类软件运行过程中若出现故障会引发重大灾难性事故或经济损失。通常航天烈号软件、银行系统软件、医疗行业软件、通讯行业软件等均属此范畴。目前,越来越多的软件企业涉及高可靠性软件项目,如何保证软件质量成为众多企业面临的一个很重要的课题。这篇文章结合某航犬项目地面应用系统模型(本文命名为CraftGS),重点讨论如何从软件测试的角度保证此类产品的软件质量。2CraftGS项目简介CraftGS是
3、一个很经典的卫星地面应用系统模拟项目。它分为5个子系统:数据接收了系统(DAS)、数据侦处理子系统(DPS)、运行管理了系统(OMS)、数据管理子系统(DMS)以及数据产品实现(DPRS)子系统。CraftGS的总体可靠度要求是0.95。各分系统分配到的可靠度指标是如下:分系统名可靠度指标DAS0.99994DPS0.99865OMS0.99910DMS0.99950DPRS0.99502CraftGS的业务逻辑是DataPackage从卫星传入DAS,DAS负责解包,将解包后数据传入OMS及DPS,OMS通过DAS传來的数据检测卫星是否正常运行并负责卫星飞行姿态调整;DPS负责调
4、制DAS传来的数拥,转换成有意义的逻辑数据。DPS处理后的逻辑数据传入DMS以及DPRS。其中DMS负贯数据备份、数据查询及数据链路维护等操作;DPRS负贵将DPS处理过的逻辑数据分门別类地转换成数据产品,并封装发布。考虑到项目尚有的可靠性安全性要求,CraftGS系统采用Java+Unix技术架构实现。该架构从编程语言级和系统级对软件产品质量做了保证。为了控制软件产品开发过程小的质量,笔者推荐采用如下软件测试方案。1测试方案:软件验证技术+软件确认技术+软件测试管理CraftGS系统的软件测试方案由三个部分组成,即软件验证技术、软件确认技术和软件测试管理技术。它们内涵及相互之间的
5、关系如下图所示:CraftGS测试方案测试技术层面测试管理层面软件验证技术需求规格说明验证软件测试团队组织管理设计规格说明验证代码验证软件测试计划管理交付验证软件确认技术单元测试软件缺陷(错误)跟踪管理集成测试系统测试软件测试件管理交付测试其中,软件验证技术着眼于排除软件开发文档中的错误。验证活动涉及的文档按开发流程主要涉及需求规格说明、设计规格说明(包括概要设计规格说明、详细设计规格说明、数据库设计规格说明)、编码规格说明、产品交付文档等一系列书面材料。目前验证技术的实施在很人程度上是依靠测试人员手工完成的。验证活动视实际需耍有时还会涉及到开发人员和H标客户,需耍得到他们必耍的理
6、解和支持。验证测试采用的主耍测试手段有:面对面质询、文档抽查、非正式会议、同行评审等等。相对于软件验证技术,软件确认技术则主要着眼于排除程序代码中的错误。活动涉及的对象主要是程序部件的代码或软件成品。在实施过程中,常常按被测代码的规模和测试所处的层次将软件确认测试分为四个阶段,即:单元测试(也叫类测试)、集成测试(也叫组装测试)、系统测试和交付测试。确认测试基本上由软件测试人员对照相关开发文档运行程序独立完成的。必耍时,也可让设计人员带领测试人员阅读程序代码共同发现其中的错误,(即所谓代码评审会)。有懣见认为,在单元测试(或类测试)阶段,应该冇软件编码人员参与,这样能减轻测试人员阅
7、读代码障碍。原则上,测试理论不捉出程序作者负责把关自己编写的程序的质量。在实际实施过程中,可视实际情况灵活处理。(如成对编程可能会较好的处理单元测试这个难题,上而提到的代码评审会也是为应对这个难题而想出的一个好办法。),软件确认技术目前已经部分地实现了测试工貝的自动化,市而上已有不少自动化工貝能在测试人员的辅助下完成相应的测试工作(例如用于Java代码单元测试的JunitT具,又如用于GUI测试的RationalVisualTestJ:具,等等)。软件验证技术和软件确
此文档下载收益归作者所有