Under the development background of network and software combination in depth, many software systems are presented the characteristics of distribution and parallelism. Parallel behaviors lead to the software system state space explosion, a large number of execution paths lead the software testing to be difficult to perform path coverage, so the software correctness is difficult to be guaranteed..In this project, the software under testing is modeled with Coloured Petri Net, trace equivalent model reduction approach is researched, controlling the scale of model state space; Testing purposes are described with linear (not parallel) sequence of behaviors under testing, path coverage testing approach is researched, on the one hand, state space graph under the certain system initial state is generated, and execution paths containing behavior under testing are taken as test sequences, from the subgraph divided according to behaviors under testing, on the other hand, redundant paths are removed, which are different in behaviors not under testing, and in which all beginning states of behaviors under testing are same; Finally, the test platform based on above contents is researched..The test approach proposed in this project, covered paths of linear behaviors sequence under testing, can completely cover parallel execution paths of behaviors under testing and all behaviors in the system under the certain system initial state, and remove a large number of redundant paths caused by parallelism of behaviors not under testing, so under the certain system initial state all implementation errors and design faults about behaviors under testing can be founded, and the reliability of the parallel software can be improved.
在网络与软件深度结合的发展背景下,很多软件系统都呈现出分布性与并行性的特点。并行行为导致软件系统状态空间爆炸,大量的执行路径导致软件测试时很难实现路径覆盖,故难以保证软件正确性。.本项目采用着色Petri网对待测软件建模,展开迹等价模型化简方法研究,控制模型状态空间规模;采用线性(非并行)待测行为序列描述测试目的,展开路径覆盖测试方法研究,一方面,在特定系统初态下生成状态空间图,在根据待测行为划分的子图中获取包含待测行为的路径作为测试序列,另一方面,去除非待测行为存在差异而每个待测行为的执行初态都相同的冗余路径;最后,研究基于上述内容的测试平台。.本项目提出的针对线性待测行为序列路径覆盖的测试方法,在特定系统初态下可以完成待测行为与系统中全部行为的并行执行路径覆盖,并去除非待测行为之间的并行而导致的冗余路径,可以发现特定初态下关于待测行为的全部实现错误或设计缺陷,提升并行软件的可靠性。
随着软件行业的快速发展,具有并行行为的软件系统逐渐成为常见软件形式。然而,并行软件执行过程复杂,状态空间爆炸,正确性难以保证。为解决上述问题,本项目基于着色Petri网(Colored Petri net, CPN),提出了待测行为执行路径覆盖标准,围绕并行软件测试方法与测试平台进行了研究。.(1)项目围绕并行软件面向测试的CPN建模问题提出了相关方法。首先,提出针对待测行为的初始Tokens自动设定方法,目标是保证模型执行覆盖待测行为;其次,提出自动建模辅助方法和启发式模型检测方法,依据软件源代码,实现粗细粒度结合的自动建模,结合启发式模型检测方法,为建模人员提供了模型正确性验证支持。.(2)项目针对并行软件CPN模型提出了相关行为自动探测方法。该方法依据模型中行为间的数据依赖关系,自动探测与待测行为存在数据相关性的相关行为。在后续的模型化简工作中,必须保证化简前后模型中待测行为及其相关行为的执行保持不变。因此相关行为自动探测方法为后续模型化简等工作提供了基础。.(3)项目针对状态爆炸问题提出了模型化简方法,该化简以待测行为及其相关行为的执行保持不变为原则。首先,提出了迹等价(输入输出等价)化简方法,在保证待测行为、相关行为、输入输出行为执行保持不变的前提下,通过模型元素删减、有向弧重定向及弧表达式重写的方式实现模型化简;其次,提出了支路化简方法,通过添加抑制弧的方式实现无关支路执行顺序化。.(4)项目提出了两种测试序列生成与优化方法。一是基于状态空间剪枝的测试序列生成优化方法,二是基于无关行为顺序化的测试序列生成优化方法。项目组证明了两种方法都可以实现待测行为执行路径覆盖的测试序列生成;实验表明,两种方法生成的测试序列均不含有无关行为并行执行导致的冗余序列。.通过上述研究,本项目提出的一系列方法可实现针对待测行为路径覆盖的并行软件测试序列生成,可以对并行软件正确性问题提供有力的支持。
{{i.achievement_title}}
数据更新时间:2023-05-31
粗颗粒土的静止土压力系数非线性分析与计算方法
面向云工作流安全的任务调度方法
F_q上一类周期为2p~2的四元广义分圆序列的线性复杂度
惯性约束聚变内爆中基于多块结构网格的高效辐射扩散并行算法
动物响应亚磁场的生化和分子机制
针对变化性的软件构件测试方法研究
基于组合覆盖的软件测试技术研究
针对微机电系统的测试访问与测试优化方法研究
软件测试方法与工具研究