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

移动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);加上
输出为: <ignore_js_op>
 
 
 
下面这段代码,就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     }  
 
<ignore_js_op>
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等等。
原文地址:https://www.cnblogs.com/ce5201314/p/5310478.html