本帖最后由 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等等。
|