移动应用架构之IO蒸馏
2017-01-22 本文已影响68人
王辉的博客
break.png
你需要测的是按钮吗,是文字输入框吗,是数据库的读写吗,是HTTP的调用吗?不是,一方面它们应该都是非常成熟的模块,是基石,它们必须好用。另一方面,也是最重要的,它们不是你存在的理由!你需要测的,是能把你的应用和他人的区分开来的东西,专属于你的那一部分,换句话说,你需要测的是你的核心业务,核心竞争力。这就是我们的指导思想。
IO蒸馏
这恰恰是我想提出的IO蒸馏的概念,通过IO蒸馏,我们要把我们的核心竞争力给提炼出来,越纯越好,纯到所有的IO都被分离出来。一旦实现分离,我们就可以用一种模拟的假IO来替换难以控制的真IO,这样既能保证我们通过IO来测验应用的功能,又大大的降低测试的复杂度。
下图表示的是我们IO蒸馏的过程。
结语
对任何一款应用来讲,IO都扮演着至关重要要的作用,IO是应用体现它价值的舞台。然而,IO的自然属性对自动化测试带来了巨大的挑战。面对这个挑战,以测试核心竞争力为出发点的IO蒸馏,给我们带来了一套高效的测试方法。它把IO和应用的核心业务高度隔离开来,一方面使得应用的核心竞争力得以凸显,另一方面,让模拟假IO替换真IO成为可能,大大了提高了测试的效率。