手机APP测试用例补充点

上一篇 / 下一篇  2014-10-15 15:34:14 / 个人分类:手机测试

测试网络相关的App,有三个非常重要的最佳实践

    12G3Gwifi都要覆盖

    这三者之间不仅仅只是网络速度的差别,它们代表了三种不同的网络环境。另外你可能没有想到一种特殊的情况可以用它们来测出问题:开发环境和生产环境。

    一个有经验的开发团队会在内网搭建测试环境来进行开发时的测试,在上线时将配置切换到线上的生产环境。这个切换应该是在发布流程中需要Check的一个环节。但是,我们有可能遗漏。

    所以这个测试用例可以用来防止这种情况的出现,在wifi下内网环境可以work fine,但是2G3G就不行,只有真实的环境下2G3G才能正常工作(想想2G3G是否可以正常访问http://192.168.1.xxx这样的地址就可以了)。

    2HTTPHTTPS都要覆盖

    许多App和后台服务都是通过HTTP来交互的,正常情况下都一切正常。为什么需要测试HTTPS环境?在一些免费上网的环境中,例如在麦当劳、星巴克里,它们的网络环境都要输入用户名和密码,通过SSL认证来访问网络。如果你使用HTTP Clientlibrary对这种异常没有做捕获处理,那么你的App必定会崩溃掉。

说明: http://namepk.sinaapp.com/blog/app%20test/2.jpg

    3、进行网络异常、服务器宕机或出现404502等情况下的测试

    后台服务的稳定性是你有时很难去控制的,尤其是牵涉到DNS、空间服务商的情况下。国内某著名DNS服务商经常出现大规模域名解析故障,碰到这种情况,你对后台API的请求很可能就会出现404错误。而你和API交互的数据应该是某种固定格式例如JSONXML,这样你的数据解析必然会出现错误,抛出异常。如果你对异常没有进行正确的处理可能会导致程序不能正常工作。以下用伪代码解释一下逻辑:

[html]view plaincopyprint?

1. try {  

2. if(request() == success) {  

3.     callSuccess();  

4. } else {  

5.     callFail();  

6. }  

7. hidePopup();  

8. } catch(e) {  

9.     // do nothing, just wait….now popup window will show forever on the screen!!!  

10.    // if it is a iOS app, the popup window will lock the screen  

11.}  

try {

if(request() == success) {

callSuccess();

} else {

callFail();

}

hidePopup();

} catch(e) {

// do nothing, just wait….now popup window will show forever on the screen!!!

// if it is a iOS app, the popup window will lock the screen

}

   而针对不同的手机系统也有需要注意的地方。Android系统固件1.51.62.0以上版本都是要分别详细测试的。因为Android 1.51.6及以上的SDK有很多实现不一致的地方,兼容性有很大问题。在没有做特殊处理时,可以在Android 1.6上正常运行的程序基本在1.5上打开就会崩溃(资源文件和API的问题,这个可以单独写一篇文章来解释这个问题)。

说明: http://namepk.sinaapp.com/blog/app%20test/3.jpg

TAG:

引用 删除 Tusna   /   2014-10-18 20:39:27
5
 

评分:0

我来说两句

日历

« 2024-04-21  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 9050
  • 日志数: 5
  • 建立时间: 2014-07-24
  • 更新时间: 2014-10-15

RSS订阅