Windows Phone应用在提交 Marketplace发布之前,通常需要做大量功能测试的工作,以确保应用程序的质量。除了应用程序本身的一些功能需要格外注意之外,通常开发者可能会忽略一些必要的测试工作,这里我部分总结了这些测试任务:
1.本地化测试 如果你的应用支持多语言,这个测试就需要额外的注意了。开发者在本地化过程中,通常是使用英语作为默认的语言进行开发,应用中每出现一条字符串,就需要在相应的 .resx文件里添加一则对应的资源项。然而在这个过程中,往往会疏忽遗漏一些字符串。比如应用中需要增加一个提示文本来提示用户,开发者在默认的 *.resx文件里添加了该项英文字符串,但是却忘记在 *.zh-CN.resx文件里也添加对应的简体中文字符串,这样无疑在手机语言切换成简体中文时,应用会出现空字符串问题。另外一个需要注意的事情是,由于每种语言表示同一个意思的内容,所需的字符长度是不同的,在本地化翻译时,要尽可能使字符串长度大致相同,会避免一些不必要的字符串长度溢出的问题。
2.切换主题 Windows Phone目前支持两种类型的主题背景和多种颜色的强调色,尤其是主题背景,如果应用本身处理不好,在很大程度上会影响应用控件内容的显示,应用发布前一定要来回切换主题,查验应用的UI显示是否依旧正常,文字是否清晰易于辨识。
3.墓碑测试 墓碑状态是Windows Phone 快速多任务切换里一个很重要的概念,当然也是最困扰我们开发人员的一个东西,应用在切换过程中一旦数据存储和恢复处理不好,将会引发很多意想不到的问题,甚至引起应用的崩溃。而这里最大的问题是正常的开发调试状态下,应用程序被切换出去只是进入了休眠状态,促成了很多开发者没有意识去做任何墓碑处理。只有发现了问题,才能更好地解决问题,我们可以在工程的属性页里,打开 “Tombstone upon deactivation while debugging” 一项,然后就可以进行相关的墓碑测试了。
4.来电测试 移动开发与其它类别的开发一个很大的区别是,应用程序随时可能会被突然的来电所中断,这就要求我们的应用在来电被切换到后台时,能够合理地处理相应的事件,保存相关的数据和状态,如果没有做处理或者处理有误,当来电结束后重新返回应用时,很有可能会产生意想不到的错误。
5.横竖屏切换 一般来说,目前大部分智能手机的屏幕都同时支持Portrait和Landscape两种显示模式,如果你的应用也支持横竖屏切换,那就需要花点功夫来测试这块了。不过一般情况下,Windows Phone的应用很少采用Landscape模式,增加一种显示分辨率,无疑对UI的开发添加了很大的复杂度,安卓的开发者一定深有感触。所以若确实没有必要,你完全可以在页面的xaml文件里,将SupportedOrientations属性置成Portrait即可。