论文部分内容阅读
随着计算机技术的不断发展,嵌入式软件在人们的生活中存在的更加广泛,逐渐渗透于国民经济发展的各个领域。保证嵌入式软件的可靠性十分重要。在嵌入式软件的测试过程中,嵌入式软件的时序特性不可忽略。嵌入式软件的时序特性表现在参数输入的次序以及参数注入时刻。本文对嵌入式软件参数输入时刻的时序特性进行研究。当前对嵌入式软件的测试主要集中在覆盖软件运行的状态,对于嵌入式软件参数的输入时刻的测试用例的生成算法研究较少。在软件测试领域,组合测试对于生成具有高覆盖率的测试用例方面有广泛的应用。本文在组合测试的基础上,对参数的输入时刻之间的组合进行覆盖。首先分析了嵌入式软件的输入时间空间,将等价类划分和边界值分析的方法相结合,完成了对参数输入时刻的选取。接着对参数的输入时刻中可能存在的约束进行了分析,输入时刻约束包括输入时刻的独立事件约束和相关时间约束,并且利用钟控计算树逻辑(Clocked Computation Tree Logic,CCTL)方法,对时刻约束进行了描述。最后分别利用粒子群算法和遗传算法,对参数的输入时刻之间存在的组合进行了覆盖,并且可以满足时刻之间存在的约束。在参数的取值组合覆盖的基础上,本文又研究了联合覆盖参数的取值与时刻的测试用例生成算法。首先提出了利用笛卡尔积对参数的取值与时刻进行联合表示,接着对参数的取值之间、参数的输入时刻之间以及参数的取值与输入时刻之间的约束进行了分析,利用CCTL方法,对这三种约束进行了描述,最后分别利用遗传算法和粒子群算法,取覆盖力度为2,对参数的取值之间的组合、参数的输入时刻之间的组合以及参数的取值与输入时刻的组合同时进行了覆盖,生成了联合覆盖数组,并且联合覆盖数组可以满足所存在的上述约束。开发测试用例生成工具,利用H-JTP平台的某些已有组件,结合开发的测试用例生成工具以及实验室开发的复杂嵌入式软件高覆盖率测试平台,搭建电子设备高覆盖率自动测试系统,验证本文算法在测试用例生成方面的高覆盖率以及在组合覆盖方面的全面性。