51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3069|回复: 2
打印 上一主题 下一主题

[转贴] 移动app中断测试之来电中断

[复制链接]
  • TA的每日心情

    2016-3-23 13:49
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    跳转到指定楼层
    1#
    发表于 2016-3-23 11:46:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 piooix 于 2016-3-23 11:58 编辑

    移动app中断测试之来电中断



    智能设备功能的日益强大和用户使用场景的多样性,使一款APP在移动设备端中断操作非常频繁,APP在中断场景的表现直接影响用户体验,中断测试是APP功能测试的必测内容。
    说到手机的中断测试,来电中断是大家最容易想到的,常规的测试包括呼叫和通话中断,如下图。


    贴近智能手机的用户应用场景,我们发现打电话已经不局限于使用运营商网络,常用的社交软件如QQ、微信都支持语音和视频电话。这些软件使用网络进行通话或者视频,与运营商电话网络形式不同,所以非常有必要做中断测试。来电中断的测试场景添加如下图。



    中断测试要点

    中断指软件在工作中被其他的任务或意外事件等情况终止推出,相应的测试即为中断测试,中断测试有人为中断、新任务中断以及意外中断等几种情况
    中断详细包括以下:

    一. 来电中断:呼叫挂断、被呼叫挂断、通话挂断、通话被挂断  

    二:短信中断:接收短信、查看短信

    三:其他中断:蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机、重启)  

    中断场景:

    在以下场景介入外部事件(来电、短信、插拔数据线等)

    1. 登陆界面load时交互信息数据

    2. 读取好友列表界面load时交互信息数据(最密好友列表刷新、好友列表刷新)

    3. 好友列表界面load时交互信息数据(添加、删除好友时)

    4. 查询个人资料界面load时交互信息数据

    5. 查询排行榜界面load时交互信息数据

    6. 查询游戏战绩界面load时交互信息数据

    7. 查询财务界面load时交互信息数据

    8. 游戏积分上传界面load时交互信息数据

    游戏中断 :

    在游戏运行的过程中,对游戏进行停止动作,例如短信,来电等,使游戏暂停。从而验证游戏的稳定性。 中断操作:
    在游戏从开始起,一直到游戏完全退出,都算游戏过程,此过程中,游戏中的任何一屏,都应该可以中断,平且正常返回,且不会出现任何问题。游戏在中断后,应该会显示出一个暂停屏,此屏一般为黑底,提示信息为:“press center/5 key to continue” 或“按中心键/5键继续”。按中心键后游戏继续运行


    举一个中断测试的案例:

    最近一个项目,大量用到时间中断,也经常出现各种bug,为了查找原因,特意做了几个小test

    1 using UnityEngine;  
    2 using System.Collections;  
    3   
    4 public class test : MonoBehaviour {  
    5   
    6     // Use this for initialization  
    7     IEnumerator  Start () {  
    8      
    9         InvokeRepeating("test1",0f,1f);  
    10             //yield return new WaitForSeconds(1f);  
    11             CancelInvoke("test1");  
    12             yield return null;  
    13         }  
    14           
    15         // Update is called once per frame  
    16         void Update () {  
    17           
    18         }  
    19           
    20         void test1()  
    21         {  
    22             Debug.Log(Time.time);  
    23             Debug.Log("haha");  
    24         }  
    25     }  

    什么都不输出
    如果把name="code" class="csharp">yieldreturn new WaitForSeconds(1f);加上
    输出为:


    下面这段代码,就canel不掉,真他妈的坑爹啊
    1 using UnityEngine;  
    2 using System.Collections;  
    3   
    4   
    5 public class test : MonoBehaviour {  
    6   
    7   
    8     // Use this for initialization  
    9     void  Start () {  
    10           
    11             StartCoroutine("createstart");  
    12         }  
    13           
    14         // Update is called once per frame  
    15         void Update () {  
    16           
    17         }  
    18           
    19         IEnumerator createstart()  
    20         {  
    21             int i=0;  
    22             while(true)  
    23             {  
    24             InvokeRepeating("test1",0f,1f);  
    25             yield return new WaitForSeconds(5f);  
    26             CancelInvoke("test1");  
    27                 print("ok i ge");  
    28             yield return null;  
    29                  
    30             }  
    31         }  
    32           
    33         void test1()  
    34         {  
    35             Debug.Log(Time.time);  
    36             Debug.Log("haha");  
    37         }  
    38     }  

    1 using UnityEngine;  
    2 using System.Collections;  
    3   
    4 public class test : MonoBehaviour {  
    5      
    6     public bool isok=true;  
    7     // Use this for initialization  
    8     void  Start () {  
    9      
    10             StartCoroutine("createstart");  
    11         }  
    12           
    13         // Update is called once per frame  
    14         void Update () {  
    15           
    16         }  
    17           
    18         IEnumerator createstart()  
    19         {  
    20             int i=0;  
    21             while(isok)  
    22             {  
    23             InvokeRepeating("test1",0f,1f);  
    24             yield return new WaitForSeconds(5f);  
    25             isok=false;  
    26             CancelInvoke("test1");  
    27                 print("ok i ge");  
    28             yield return null;  
    29                  
    30             }  
    31         }  
    32           
    33         void test1()  
    34         {  
    35             Debug.Log(Time.time);  
    36             Debug.Log("haha");  
    37         }  
    }  

    目前能做中断测试的一些公司,我知道的有TestFlight、TestFairy、TestBird、GooglePlay等等。


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏6
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2016-3-23 13:55:52 | 只看该作者
    好东西~! 收藏了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-3-23 13:49
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    3#
     楼主| 发表于 2016-3-25 10:13:34 | 只看该作者
    memoholyii 发表于 2016-3-23 13:55
    好东西~! 收藏了

    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-6 00:11 , Processed in 0.066791 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表