测试框架 测试框架完全独立于自动化服务,因为测试框架只是用于在设备上运行测试所用。大部分测试可以无须自动化服务手工运行,而这也是设计这套系统时的一个核心原则。这种情况下可以手工启动测试,并在测试完成后的手工获得并查阅结果。 然而测试框架也可以配合自动化服务使用(例如用测试服务存储测试进度和结果)。如果通过运行器在CI中运行测试,我们需要将其与自动化服务相集成。 为了用灵活的方式实现这一目标,我们创建了一个在内部被称之为TPL(Test Portability Layer)的抽象层。测试和测试框架通过调用这个抽象层可以为每个自动化服务定义一个简单的接口。每个自动化服务可提供这些接口所需的实现。 针对该系统所实现的服务,这个抽象层可以让原本需要自动运行的测试能够通过TPL接口提供的截然不同的自动化系统来运行。这样就可以让其他团队(使用其他自动化系统)编写的测试案例不经改动直接运行。如果测试无须改动,设备上测试运行失败后就无须由测试的所有者进行排错,这正是我们希望实现的。
|