尽量不使用非标准控件-移动App测试的22条军规(7)

发表于:2015-7-29 10:20

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:黄勇    来源:51Testing软件测试网原创

  军规16  尽量不使用非标准控件
  在特定的操作系统版本上,如果想要App支持某种特性,可是操作系统并没有提供这种特性,开发人员很可能会自己设计控件,或者使用第三方库来实现这个功能。
  但是这么做却会带来一些问题。接下来以App可以切换主题(Theme)这个特性为例(如图16.1所示)具体说明一下。
  
图16.1  不少App都支持在App中切换主题的功能
  在iOS 4中App如果想提供用户切换App主题颜色的功能,就需要App自己实现相应的代码,因为iOS 4.x操作系统并不提供相应的功能。而当iOS操作系统升级到iOS 5的时候,开发者可以使用iOS 5新增的UIApperance协议定义一些可以自定义外观的控件。到了iOS 7时,开发者可以只使用着色(tintColor)属性来设置控件的颜色,以实现App主题颜色的切换(如图16.2所示)。
  
图16.2  对于如何实现在App中切换主题颜色,不同iOS版本实现的方式也不相同
  通过这个例子可以看到,如果App在iOS 4就实现了主题颜色切换的功能,也就是App自己实现了对应的代码,当iOS操作系统升级到iOS 5之后,实现的方式改变了,如果需要把主题颜色切换功能的实现代码切换到iOS 5上使用UIApperance的方式,就需要对于所有涉及到这些代码的功能进行回归测试
  如果不使用iOS 5原生代码支持的实现方式,还是保持之前代码的实现方式,当iOS操作系统升级到iOS 7时,就会发现新版iOS原生代码提供的实现方式大大方便了App的开发、维护和测试工作。如果还按照以前的方式来实现代码,随着iOS操作系统的升级,这些代码会越来越臃肿和复杂。这是因为后来添加的很多功能代码都是基于这些代码添加的,而之前的这些代码都成为了App代码的基础设施,随着时间的推移,想要替换这些基础设施的开发和测试的代价会越来越大,而不替换这些基础设施,开发和测试的代价会更大。
  同样还有一个例子,是关于iOS操作系统上的小工具Widget的(如图16.3所示)。
  
图16.3  从iOS 8开始支持的小工具Widget
本文选自《移动App测试的22条军规》第十六章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号