摘 要 本文针对目前嵌入式软件设计可靠性测试用例的手段主要依靠手工分析,沿用传统的软件测试用例设计方法进行,不能够满足可靠性测试用例设计的基本要求的问题,设计了一套行之有效的可靠性测试用例自动生成测试方法。
关键词 嵌入式软件 可靠性测试 测试用例 可视化
中图分类号:TP311.5 文献标识码:A
可靠性测试作为软件可靠性工程的重要环节,是进行可靠性评价的主要手段之一。成功实现可靠性测试的关键在于设计出满足测试要求的一组用例,通过测试运行,获得能够比较真实的反映软件运行时可靠性、安全性等方面的评价数据,从而为软件的可靠性评估提供一个量化的依据。
1嵌入式软件特点及其影响
嵌入式系统为包容它们的更大的系统提供控制和计算功能,它们往往是系统的灵魂,管理和控制着系统中的其它部分。具备以下特点:嵌入式软件和硬件联系紧密;实时性和严格的时序;高安全性、高可靠性、高精度;用汇编语言编制。
由于以上嵌入式软件的特点,使软件测试变得十分困难,对软件测试的影响主要有以下几点:
(1)嵌入式对可靠性测试的影响
在嵌入式系统中,软件与硬件具有极高的耦合度,这就使得对其进行软件测试时,不可避免地要涉及到硬件的操作,所以充分理解软硬件结合体的系统特性是进行测试的不可缺少的一步。
(2)实时性对可靠性测试的影响
嵌入式软件通常是高实时性要求的系统,其正确性不仅由其功能和行为决定,还依赖于其时间特性。如何对软件的时间特性进行验证也就成为软件可靠性测试的核心问题之一。
(3)软件结构和开发语言的影响
目前多数嵌入式软件采用汇编等面向机器的语言编码,汇编语言是低级语言,编写出的程序往往是非结构化的,造成程序可读性差,结构化程度低。需要花大力气钻研被测程序的语言风格、语法及特性,以便在测试时进行特殊处理。
(4)高可靠性、高安全性对可靠性测试的影响
由于嵌入式软件的高可靠性、高安全性要求,这使得一些通常测试中很少涉及的测试项目在这里成了必须的项目或在测试中必须考虑的因素。
2嵌入式软件测试用例自动生成过程
嵌入式软件可靠性测试用例自动生成的基本过程分为5个步骤:操作剖面的图形化建模、外部参数的输入、测试用例的自动生成、测试用例的调整和优化、测试用例的可视化。图1给出了嵌入式软件测试用例的自动生成过程。
(1)操作剖面的图形化建模
软件系统的操作剖面描述了该软件在实际运行时各操作 的发生概率。操作剖面可通过两种方法获得:参考老版本或现有类似系统的实际操作;或者从可行性及需求分析阶段开发的功能剖面出发,估计建立操作剖面。经常是两种方法混合使用。
(2)外部参数的输入
软件在运行过程中读入的外部参数是软件持续运行的一个关键因素,输入各种外部参数也是建立一个完整测试用例的必要条件。通常外部参数可以分为两类:一类是具有发生概率的参数,称为关键参数;另一类则是根据关键参数的取值情况而进行赋值的参数,称为非关键参数。
(3)测试用例的自动生成
测试用例自动生成根据概率统计等基本数学原理,在用户提供操作剖面和外部参数输入的基础上,利用后台算法随机产生若干参数变量值,并通过一定的规则和步骤将它们组织起来,从而完成测试用例的构建。
(4)测试用例的调整和优化
对测试用例进行调整和优化是使测试用例具有可用性的主要实现手段和方法。在诸如边界条件取值、测试用例数目限定的条件下,通过调整和优化算法,最终找到一个尽可能满足各种发生概率的最优测试用例布局方案, 从而满足可靠性测试的要求。
(5)测试用例的可视化
在测试用例生成并进行调整后,如何将测试用例以用户友好的方式表示出来也是检验测试用例能否满足实际测试需求的保障条件。可视化技术以直观的形式将测试用例在工具中呈现出来,同时通过标记边界值、生成发生概率对比视图等手段,为用户最终判断测试用例的可用性提供依据。
图1
以上设计了一套行之有效的可靠性测试用例自动生成测试方法,根据方法的需求还要设计相关配套的计算机辅助工具,为真正实现嵌入式软件可靠性测试提供保证。
参考文献
[1] 康一梅,等.嵌入式软件设计[M].机械工业出版社,.