论文部分内容阅读
测试是提高软件可靠性和保证软件质量的重要手段。目前,GUI程序已经得到了广泛的使用,进行有效的GUI测试变得十分重要。GUI程序所独有的事件驱动等特点使得传统的软件测试方法不能完全适用于GUI测试。因此,如何进行有效的GUI测试将成为软件测试研究的一个新的热点。 现有的测试工具大多是基于录制/回放机制的,它们通过录制事件序列进而实现回归测试。但是,这样的方法在业务出现变动,程序做出了修改的时候,就必须重新录制事件序列,因此具有很大的局限性。而基于其他理论的一些方法,由于存在组合爆炸问题,很难与实践相结合,为了解决这样的问题,文中给出了基于事件流图的GUI测试方法。 该方法针对GUI程序事件驱动的特性,采用事件流图作为研究的依据,通过遍历它来生成事件序列,对于程序的变动,只需要灵活地修改事件流图,而不会存在上述的局限性。同大多数方法一样,当输入的事件流图非常庞大时,该方法也会存在组合爆炸的问题。为了解决这个问题,文中指出,可以通过分析事件之间的关系,对事件进行分类,进而划分为若干集合。将这些集合作为图的节点,同时合并有向边,就能够得到简化了的事件流图。对简化的图进行遍历,可以很好地解决组合爆炸问题。 此外,论文中还给出了测试的覆盖准则及对简化事件流图的遍历规则,描述了通过遍历该图,产生事件序列的步骤。按照论文中所阐述的测试步骤,利用.NET平台上的反射技术,可以实现GUI自动测试工具。在对实际页面的测试中,可以看到该方法能够有效的对GUI进行测试,它提高了测试的效率,节约了测试的时间和开销。 基于事件流图的测试方法不但可以解决GUI测试理论与实践之间的矛盾,而且能够灵活的处理业务变动带来的影响,实践证明这一方法是可行的,是对GUI测试研究的一个新的探索。