论文部分内容阅读
随着软件规模的不断扩大,软件错误也越来越容易产生。尽早地检测软件中的错误是软件开发过程中的一个重要任务,也是降低软件开发成本的主要手段。特别是针对人机交互操作较多的软件,如:CAD软件,人们希望能通过自动产生测试用例来对其进行测试,因此研究自动产生软件测试用例是非常有意义的。 本课题研究以国家863基础类研究课题“三维数字化设计系统自动测试技术研究与系统实现(课题编号:2002AA411510)”为背景,研究了基于UML Statechart图的软件测试用例自动生成技术。论文从UML Statechart图的操作语义出发,结合其层次结构的特点,讨论了UML Statechart图的测试用例自动生成的问题。主要工作如下: (1) 以李留英等人对UML Statechart图的形式化操作语义为基础,在形式化的语义定义中,增加对junction伪状态连接的迁移关系的定义,并将迁移定义成迁移结构,使得它更适合软件测试且形式化语义更加容易被扩充。 (2) 根据迁移关系的结构化定义,提出了对fork、join、junction、choice等伪状态连接的复合迁移关系的测试方法。 (3) 根据UML Statechart图的层次结构,提出了对UML Statechart图分层产生测试用例的测试用例生成方法。根据状况的使能迁移关系集中存在迁移关系冲突而导致测试无法正确执行的情况,给出了插入测试子序列来避免迁移冲突的测试方法。 (4) 根据状态覆盖测试准则、迁移关系覆盖测试准则、迁移关系谓词覆盖测试准则、迁移关系全谓词覆盖测试准则、迁移关系谓词划分覆盖测试准则的需要,给出了相应的测试用例自动生成算法。为了辅助迁移关系划分覆盖测试准则自动产生测试用例,提出了分裂树的算法来产生谓词的DNF范式。 (5) 以上述研究工作为基础,实现了符合上述测试准则的测试用例自动生成原型系统。