随着计算机技术以及现代雷达技术的迅速发展,雷达系统中软件的比重越来越大,保证雷达系统质量、提高系统可靠性成为人们关注的焦点。软件测试对于雷达软件质量的保证、雷达系统可靠性的提高具有重要意义,是软件质量保证的一项关键活动,是最有效的排除和防止软件缺陷与故障的手段。本文通过研究典型的雷达系统软件测试V模型以及敏捷方法的观点与原则,提出一种改进的雷达系统软件测试模型,以期通过软件测试更早发现问题、发现并解决更多的问题,保证雷达系统软件质量。
1 软件测试模型
软件测试是贯穿于整个软件开发生命周期中的对软件分析、设计以及程序进行验证(verification)和确认(validation)的活动过程。软件测试的原则包括以下几点:
⑴尽早地和不断地进行软件测试(Check early, check often);
⑵测试用例应由测试输入数据和对应的预期输出结果这两部分组成;
⑶程序员应避免检查自己的程序;
⑷在设计测试用例时,应当包括合理的输入条件和不合理的输入条件;
⑸充分注意测试中的群集现象;
⑹严格执行测试计划,排除测试的随意性;
⑺应当对每一个测试结果做全面检查;
⑻妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
软件测试发展至今,比较典型的测试模型有V模型、W模型、H模型。其中V模型是最具有代表性的测试模型,也被广泛应用于雷达系统测试过程,意在改进软件开发的效率和效果。如图1所示,V模型从左到右从上至下地描述了基本的开发行为和测试过程,箭头代表了时间方向,左边下降的是开发过程各个阶段,相对应的是右边上升的部分,即测试过程的各个阶段。以编码为分界把开发和测试两个过程划开,表达了这种模型下测试与开发相分离的思想。
V模型指出,单元测试和集成测试主要作用是验证程序设计,开发人员和测试人员应检测程序的执行是否满足软件设计的要求;而系统测试主要作用是验证系统设计,检验系统功能、性能的质量是否达到系统设计的指标;由测试人员和用户进行软件的确认测试和验收测试,以确定软件的实现是否满足用户需求或合同的要求。
然而雷达系统软件测试V模型存在测试起始时间晚、釆用串行的测试过程以及将测试与开发分开进行等不足。V模型仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的阶段,容易让人理解为测试是软件开发的最后一个阶段,主要是针对程序进行测试来发现错误,而需求分析阶段没有发现的错误一直到后期验证测试才被发现。测试的开始时间规定为编码结束之后,这大大增加了前期错误的隐藏时间,不符合尽早发现错误的原则。
2 敏捷方法的观点及原则
敏捷开发(agile development)的概念从2004年初开始流行起来,它是一种以人为本、通过迭代、循序渐进的软件开发方法。在2001年2月,17位软件开发领域的大师发表了敏捷宣言,在宣言中明确提出敏捷的价值观:个体与交互重于过程和工具;可用的软件重于完备的文档;客户协作重于合同谈判;响应变化重于遵循计划。
敏捷联盟同时发表了敏捷的十二条原则,归纳这些原则,可以分析出敏捷过程具有以下几个要点:
⑴通过频繁迭代与客户形成早期的良好合作,及时反馈提高产品质量。敏捷小组关注完成和交付具有用户价值的功能,而不是孤立的任务。即使到了开发的后期,也欢迎改变需求,敏捷过程利用变化来为客户创造竞争优势;
⑵客户、需求人员、开发人员之间必须进行有意义的、频繁的交互,这样就可以在早期及时的发现并解决问题;
⑶衡量功能是否实现的唯一标准是该功能的开发和测试均已完成,并且测试通过;
⑷使用更好的设计模式,或者辅助工具来加强团队敏捷能力。不断学习新的技能,使得敏捷运行得更加顺畅。
敏捷方法在几周或者几个月的时间内完成相对较小的功能,强调尽早的将可能小的并且可用的功能交付给用户使用,并在整个项目周期中持续改善和增强。敏捷方法重视频繁的功能交付、重视交流与沟通,并以迭代方式强调对变化的快速响应能力。
3 基于敏捷方法的V模型改进
通过对典型的雷达系统软件测试模型的研究分析,在改进和设计新模型时,应遵循以下设计原则:(1)使软件设计中的错误尽可能早地暴露出来;(2)采用测试与开发并行的测试模式;(3)简单实用原则。
针对V模型的不足,结合雷达系统软件的特点,本文基于敏捷方法的观点与原则对雷达系统软件测试V模型进行改进,如图2所示,它可以更好地满足测试的原则,具有以下特点。
⑴在初始阶段进行计划和测试设计,验证雷达系统需求与设计。雷达系统软件测试需要针对软件的不同特点,结合测试需求分析和风险分析,确定测试策略。改进模型中测试活动从可行性分析文档、需求文档的撰写阶段开始部署测试,从需求的可实现性考虑,进行需求分析和设计逻辑分析,尽早发现设计错误。
⑵将雷达系统软件开发过程和测试过程并行化,测试过程与开发过程紧密结合。这使得软件测试的各个环节不再是软件编码工作之后串行的后续内容,而是与其它开发环节并行的独立流程,这样有利于针对雷达系统软件的功能和特点设计高效的测试用例。强调测试应和设计同时进行,从而可以提高雷达系统软件开发和测试的效率。
⑶对每一个可交付产品进行测试。改进模型的测试内容不只包括程序的源代码及基本的功能。重要的测试文档,包括可行性分析文档、需求分析文档也需要进行完备而有效的测试,以保证这些文档的正确性以及可靠性。
⑷软件的开发过程是一个循环往复的过程,相应地软件测试也是一个循环往复的过程,不断修改测试设计并重新执行测试的过程。
⑸不断回顾、维护原有的测试用例。测试人员在编写测试用例的同时,可以编写测试用例跟踪矩阵(Test Case Matrix),标注测试用例已覆盖的功能、每个具体功能对应的测试用例编号等,明晰测试用例覆盖率,从而及时发现覆盖率不足的功能点,便于提高测试效率。
4 结束语
面对软件高度集成的现代雷达系统,软件测试作为必不可少的环节,对提高产品质量具有 重要的意义。V模型是雷达系统软件测试常用模型,但存在不足之处。在测试过程中使用基于敏捷方法改进的雷达系统软件测试V模型,对雷达系统进行规范、系统的测试,能够及早发现问题并解决问题,有利于提高软件测试效率,降低发现问题成本,保证雷达系统软件测试的充分性、有效性和产品质量。
张玉彬.军用软件测试现状及对策.装甲兵工程学院学报.2008(05):66-70.
姚有文.军用软件质量及其测试的探讨.舰船电子工程.2005(4):38-41.
WANG Desheng, GONG software ation Research of Computers,2008,25(12):3531-3533(in Chinese).
Paul C Jorgensen.软件测试.北京:机械工业出版社.2003.
戴莉萍,熊小勇.基于敏捷开发的X测试模型的研究与改进.计算机工程与设计.2007(9).
Brain Models for Testing ://,Quality Week,2006.
周学海,陈蓓蓓.软件测试过程模型的改进—并行V模型.计算机工程与应用.2005,21(10):16-18.
王元珍,付新,李东.基于并行工程的软件测试模型研究.计算机工程.2002,2(5):45-47.
The Agile Alliance.(2001).“The Agile Manifesto”,Available on-line:http://.
, Pragmatic Programmer.北京:中国电力出版社.2003:124-157.
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。 返回电子论文列表