当我们用iPhone玩一个很有名的游戏——坚守阵地(FieldRunners)时,防御的布局非常重要。如果布局不好,如图2-1所示,就玩得很累,看着“生命”一个一个死去,即使采用了一些小的技巧,最后也过不了关。
图2-1 不好的布局决定着失败
而如果换一个思路,进行不同的布局,如图2-2所示,不采用自然的竖直排序,而采用斜线排序,充分利用空间,而且进攻部队前进的速度会大大降低,结果就很不一样,游戏者便能轻松过关。
图2-2 良好的布局是成功的一半
这里的布局,是指处理问题的全局规划、整体设计。全局规划如何、整体设计效果如何,自然关系到后面的整个过程,所以总会受到我们重视。
说到架构,我们会想到软件架构,如C/S架构、SOA架构,甚至会想到以架构设计为中心的RUP。软件架构的概念由来已久,软件架构师的头衔容易被大家认可,但“测试架构”的概念还不够清晰,人家会有很多的问题要问:
什么是测试架构?
测试架构对软件测试有什么帮助?
软件公司需要设置“软件测试架构师”职位吗?
软件测试架构师做哪些事情?
当人们知道微软公司、阿里巴巴集团等设有“测试架构师(Test Architect)”职位时,可能会惊奇地问:什么? 测试团队也设立“架构师”头衔吗?人们对开发团队设立架构师已经比较习惯了,因为大家知道,在设计一个软件系统时,需要考虑整个产品架构如何设计、系统各个组件如何集成在一起、如何相互协调工作,而这些都需要“软件架构师”来完成,但对测试团队为何要设立“架构师”头衔还是不够清楚,主要是因为不了解测试架构从何而来。
在日常测试工作中,如何选择测试工具和如何建立统一的自动化测试框架?这是经常困扰我们的问题。除此之外,我们还会碰到如下的一系列问题:
如何帮助开发人员提高产品设计和代码的可测试性?
如何找到更有效的办法来设计测试用例?