当前位置: 首页 > 后端技术 > Python

【移动测试】你的测试用例中,是否包含App前后台切换

时间:2023-03-26 01:58:45 Python

【移动端测试】在你的测试用例中,你的测试用例是否包括App的前后台切换?通过最近打开的应用列表等来筛选或切换应用。由此我们可以得出一个结论:当应用放在前台时,它的页面对我们是可见的;当应用程序被置于后台时,它的页面对我们来说是可见的不可见的。无论是安卓还是IOS,应用程序前后台切换的过程都是很漫长的,因为涉及到应用程序生命周期的管理,所以在测试过程中,可以帮助我们发现一些意想不到的惊喜。不知道你们的App测试用例是否包括前后切换?如果没有,您必须从现在开始将它添加到您的测试用例中。本文将带你了解Android和IOS在前后端切换的过程中经历了什么。这样,在考试中遇到相关问题时,也能有章可循。Android前后台切换的原理在早期的Android中,只有Activity用于显示页面元素。直到2011年Android3.0引入了Fragment的概念,Fragment才被立即使用。大多数开发者仍然使用Activity来编写Android页面。个人感觉,Android4.x之后,工作中更多的是使用Fragment。但是Fragment不能单独存在,它必须依赖于某个Activity,所以后来GitHub上出现了很多Activity+Fragment的基础框架,其核心思想是:一个BaseActivity+多个Fragment。BaseActivity主要用来管理Fragment的生命周期,Fragment用来实现不同的页面。要理解Android前后台切换的原理,其实需要理解Activity+Fragment的生命周期及其对应的方法。这里我根据Android官方文档Activity和Fragment的生命周期流程图,将前后台切换相关方法整合成一张图,让大家明白:梳理之后,方法流程还是很多的,但是大家肯定会有一个直观的感受。按一次home键,App会执行很多回调方法,这些方法可能会被重复调用(后面会整理测试思路)。IOS前后台切换的原理ios前后台切换的方法比较少,但是思路和Android差不多。个人对IOS不是很熟悉,只能从网上查几篇关于ios状态切换的文章。下图是我整合后整理出来的:看过上面Android和IOS流程图的朋友,估计不是很明白其中的原理。所以,根据自己的经验,帮大家梳理一下前后台切换测试的一些思路和切入点,供大家参考:因为有重复调用同一个方法的可能,开发可能会使用flags(用过的)识别是否是第一次调用)等,所以可以验证以下几点:接口上的逻辑是否正确,如:数据不一致。界面显示是否正确,例如:有些按钮不应该显示,但是显示了。因为有可能创建新的对象,所以需要注意是否存在内存泄漏。是否会导致网络请求异常,比如重复请求同一个接口。当app即将进入后台时,会保存当前界面上的数据,当app再次回到前台时,会重新渲染:验证front后界面数据是否清空-背景切换。另外,界面数据显示是否正常。其他人会崩溃。是否会导致app特有的数据异常,比如:cpu、功耗等。总结软件测试,其实在一定程度上就是用探索性思维去挖掘不太可能出现的“惊喜”出现。因此,我认为“app前后台”切换绝对是一个很好的探索方式。如果大家有更好的想法或者问题,欢迎在评论区留言。关注【公众号:软件测试布道师】,回复【python】,即可获得【python自动化与编程实践资料】