在软件测试中,画MM路径(方法/消息路径)通常涉及以下步骤:
理解MM路径的概念
MM路径是由消息连接的方法执行序列,用于体现面向对象软件中对象发送消息调用方法的交互过程。
选择合适的工具和方法
可以结合现有的调用图构建算法来自动生成MM路径。
例如,可以使用类层次分析和安德森指向分析这两种典型的调用图构建算法。
对象识别
对象识别是自动化MM路径技术的核心部分,目的是自动识别测试代码中的对象实例。
对象识别可以基于动态或静态的方式实现:
动态对象识别:通过插桩技术解析对象构造和调用的信息,获得对象的详细信息。
静态对象识别:利用静态分析工具对测试代码进行静态分析,分析出对象实例的定义和使用情况。
路径构造
路径构造是根据对象识别结果自动构造M-N-M路径的过程,其中M表示方法调用,N表示初始对象的创建。
路径构造的方法包括静态和动态两种方式:
静态路径构造:通过静态分析工具分析对象的类型和方法的调用关系,构造出MM路径。
动态路径构造:在运行时分析对象的类型和方法的调用关系,并对路径进行动态构造。动态路径构造方法能够实现更高层次的自动化,但需要更多的计算资源。
生成测试用例
基于生成的MM路径,可以自动产生测试用例集,以提高结构测试的覆盖率。
例如,针对安德森指向分析生成的类间MM路径进行面向路径的测试用例自动生成,其生成的测试用例集对被测程序获得的结构覆盖率比采用类层次分析平均提高2%到7%。
验证和优化
通过大量实验验证自动生成MM路径的方法的有效性。
根据实验结果,可以进一步优化方法,例如改进对象识别和路径构造的算法,以提高生成MM路径的数量和效率,同时确保测试用例集的有效性和覆盖率。
通过以上步骤,可以有效地在软件测试中画MM路径,从而提高面向对象软件集成测试的效率和效果。