iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >如何设计Android APP测试用例
  • 814
分享到

如何设计Android APP测试用例

app测试appAndroid 2022-06-06 12:06:21 814人浏览 八月长安
摘要

在当今竞争激烈的市场上一个APP的成功离不开一个可靠的用户界面(UI)。因此,对功能和用户体验有一些特殊关注和照顾的UI的全面测试是必不可少的。当涉及到安卓平台及其提出的独

在当今竞争激烈的市场上一个APP的成功离不开一个可靠的用户界面(UI)。因此,对功能和用户体验有一些特殊关注和照顾的UI的全面测试是必不可少的。当涉及到安卓平台及其提出的独特问题的数量(安卓UI提出显著挑战)时,挑战变得更加复杂。关键字“碎片化”象征着移动应用全面测试的大障碍,还表明了发布到市场上的所有形态、大小、配置类型的安卓设备所引起的困难。本文将介绍安卓模拟器如何能通过使用一些技巧和简单的实践提供覆盖大量设备类型的广泛测试。

简介—分散装置里的测试 一般安卓开发者在其日常工作中面临的大挑战之一是:终端设备和[url=]操作系统[/url]版本的范围太广。OpenSignal进行的一项研究表明,2013年7月市场上有超过11,828的不同安卓终端设备,所有设备在类型/大小/屏幕分辨率以及特定配置方面有所不同。考虑到前一年的调查仅记录有3,997款不同设备,这实在是一个越来越大的挑战障碍。

图1.    11,828 款安卓设备类型( OpenSignal研究, 2013年7月[ 1 ] )分布

  从一个移动APP开发角度出发,定义终端设备有四个基本特征:   1.操作系统:由“api指标”( 1 ~18 )专业定义的安卓操作系统版本( 1.1~ 4.3 ),。   2.显示器:屏幕主要是由屏幕分辨率(以像素为单位),屏幕像素密度( 以DPI为单位),和/或屏幕尺寸(以英寸为单位)定义的。   3.CPU:该“应用程序二进制接口” (ABI )定义CPU的指令集。这里的主要区别是ARM和基于Intel的CPU。   4.内存:一个设备包括内存储器( RAM)和Dalvik 虚拟存储器( VM堆)的预定义的堆内存。   这是前两个特点,操作系统和显示器,都需要特别注意,因为他们是直接由终用户明显感受,且应该不断严格地被测试覆盖。至于安卓的版本, 2013年7月市场上有八个同时运行导致不可避免的碎片的不同版本。七月,近90%这些设备中的34.1 %正在运行Gingerbread版本( 2.3.3-2.3.7 ),32.3 %正在运行Jelly Bean( 4.1.x版),23.3 %正在运行Ice Cream Sandwich( 4.0.3 - 4.0.4 )。

图2.  16款安卓版本分布(OpenSignal研究,2013年7月[1])

  考虑设备显示器,一项TechCrunch从2013年4月进行的研究显示,绝大多数(79.9%)有效设备正在使用尺寸为3和4.5英寸的“正常”屏幕。这些设备的屏幕密度在“MDPI”(~160 DPI),“hdpi”(~240 DPI)和“xhdpi”(~320 DPI)之间变化。也有例外, 一种只占9.5%的设备屏幕密度低“hdpi”(~120 DPI)且屏幕小。

图3.  常见的屏幕尺寸和密度的分布(谷歌研究,2013年4月)[2]

  如果这种多样性在质量保证过程中被忽略了,那么可以预见:bugs会潜入应用程序,然后是bug报告的风暴,后Google Play Store中出现负面用户评论。因此,目前的问题是:你怎么使用合理水平的测试工作切实解决这一挑战?定义测试用例及一个伴随测试过程是一个应付这一挑战的有效武器。

用例—“在哪测试”、“测试什么”、“怎么测试”、“何时测试”?   “在哪测试”   为了节省你测试工作上所花的昂贵时间,我们建议首先要减少之前所提到的32个安卓版本组合及代表市场上在用的设备屏的5-10个版本的显示屏。选择参考设备时,你应该确保覆盖了足够广范围的版本和屏幕类型。作为参考,您可以使用OpenSignal的调查或使用手机检测的信息图[3],来帮助选择使用广的设备。   为了满足好奇心,可以从安卓文件[5]将屏幕的尺寸和分辨率映射到上面数据的密度(“ldpi”,“mdpi”等)及分辨率(“小的”,“标准的”,等等)上。

图5.  多样性及分布很高的安卓终端设备的六个例子(手机检测研究,2013年2月)[3]

  有了2013手机检测研究的帮助,很容易找到了代表性的一系列设备。有一件有趣的琐事:30%印度安卓用户的设备分辨率很低只有240×320像素,如上面列表中看到的,三星Galaxy Y S5360也在其中。另外,480×800分辨率像素现在常用(上表中三星Galaxy S II中可见)。   “测试什么”   移动APP必须提供佳用户体验,以及在不同尺寸和分辨率(关键字“响应式设计”)的各种智能手机和平板电脑上被正确显示(UI测试)。与此同时,apps必须是功能性的和兼容的(兼容性测试),有尽可能多的设备规格(内存,CPU,传感器等)。加上先前获得的“直接”碎片化问题(关于安卓的版本和屏幕的特性), “环境相关的”碎片化有着举足轻重的作用。这种作用涉及到多种不同的情况或环境,其中用户正在自己的环境中使用的终端设备。作为一个例子,如果网络连接不稳定,来电中断,屏幕定等情况出现,你应该慎重考虑压力测试[4]和探索性测试以确保完美无错。

图6.  测试安卓设备的各个方面

  有必要提前准备覆盖app常用功能的所有可能的测试场景。早期bug检测和源代码中的简单修改,只能通过不断的测试才能实现。   “怎么测试”   将这种广泛的多样性考虑在内的一种务实方法是, 安卓模拟器 - 提供了一个可调节的工具,该工具几乎可以模仿标准PC上安卓的终端用户设备。简而言之,安卓模拟器是QA流程中用各种设备配置(兼容性测试)进行连续回归测试(用户界面,单元和集成测试)的理想工具。探索性测试中,模拟器可以被配置到一个范围广泛的不同场景中。例如,模拟器可以用一种能模拟连接速度或质量中变化的方式来设定。然而,真实设备上的QA是不可缺少的。实践中,用作参考的虚拟设备依然可以在一些小的(但对于某些应用程序来说非常重要)方面有所不同,比如安卓操作系统中没有提供程序特定的调整或不支持耳机和蓝牙。真实硬件上的性能在评价过程中发挥了自身的显著作用,它还应该在考虑了触摸硬件支持和设备物理形式等方面的所有可能终端设备上进行测试(可用性测试)。   “何时测试”   既然我们已经定义了在哪里(参考设备)测试 ,测试什么(测试场景),以及如何( 安卓模拟器和真实设备)测试,简述一个过程并确定何时执行哪一个测试场景至关重要了。因此,我们建议下面的两级流程:   1 .用虚拟设备进行的回归测试。 这包括虚拟参考设备上用来在早期识别出基本错误的连续自动化回归测试。这里的理念是快速地、成本高效地识别bugs。   2 .用真实设备进行的验收测试。 这涉及到:“策划推广”期间将之发布到Google Play Store前在真实设备上的密集测试(主要是手动测试),(例如,Google Play[ 5 ]中的 alpha和beta测试组) 。   在第一阶段,测试自动化极大地有助于以经济实惠的方式实现这一策略。在这一阶段,只有能轻易被自动化(即可以每日执行)的测试用例才能包含在内。   在一个app的持续开发过程中,这种自动化测试为开发人员和测试人员提供了一个安全网。日常测试运行确保了核心功能正常工作,app的整体稳定性和质量由测试数据透明地反映出来,认证回归可以轻易地与近的变化关联。这种测试可以很轻易地被设计并使用SaaS解决方案(如云中的TestObject的UI移动app测试)从测试人员电脑上被记录下来。   当且仅当这个阶段已被成功执行了,这个过程才会在第二阶段继续劳动密集测试。这里的想法是:如果核心功能通过自动测试只投入测试资源,使测试人员能够专注于先进场景。这个阶段可能包括测试用例,例如性能测试,可用性测试,或兼容性测试。这两种方法相结合产生了一个强大的移动apps质量保证策略[ 7 ] 。   结论 - 做对测试   用正确的方式使用,测试可以在对抗零散的安卓的斗争中成为一个有力的工具。一个有效的测试策略的关键之处在于定义手头app的定制测试用例,并定义一个简化测试的工作流程或过程。测试一个移动app是一个重大的挑战,但它可以用一个结构化的方法和正确的工具集合以及专业知识被有效解决掉。


--结束END--

本文标题: 如何设计Android APP测试用例

本文链接: https://www.lsjlt.com/news/28769.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何设计Android APP测试用例
    在当今竞争激烈的市场上一个APP的成功离不开一个可靠的用户界面(UI)。因此,对功能和用户体验有一些特殊关注和照顾的UI的全面测试是必不可少的。当涉及到安卓平台及其提出的独...
    99+
    2022-06-06
    app测试 app Android
  • 如何设计、挑选有效的回归测试用例
    其实最有效的回归测试方法建立在开发测试库的基础上;开发在创建测试库,每次生成程序的新版本时都可以运行这些用例。只有有效的从源头避免风险才能有效的进行回归测试(目前国内的公司,能从事此级别的,太少):强调单元测试时加强回归测试,引入代码评审,...
    99+
    2023-06-04
  • 移动App崩溃测试用例设计分享,快速找出bug解决麻烦!
    随着科技的发展、生活的进步,我们身边的移动设备越来越多,自然移动App测试也变得越来越重要,一旦移动App出现Bug,将直接影响人们的生活。移动App Bug的严重影响:用户体验差、App的商店评级下降、用户换用竞争对手的App,声誉和信誉...
    99+
    2023-06-05
  • 前端测试用例设计方法有哪些
    这篇文章主要为大家展示了“前端测试用例设计方法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“前端测试用例设计方法有哪些”这篇文章吧。测试用例指导我们怎么去...
    99+
    2022-10-19
  • Android如何利用OpenCV制作人脸检测APP
    这篇文章将为大家详细讲解有关Android如何利用OpenCV制作人脸检测APP,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。无图无真相,先把APP运行的结果给大家看看。如上图所示,APP运行后,点击“选...
    99+
    2023-06-21
  • Python自动化测试如何自动生成测试用例
    本篇文章给大家分享的是有关Python自动化测试如何自动生成测试用例,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。今天,陕西优就业小优整理了一些技术类干货知识,学习软件测试的小...
    99+
    2023-06-02
  • 测试工程师必备:掌握这5种设计方法快速编写测试用例~思路分析
    一四年我在YX公司带测试团队,一个用例评审的会议上,一不小心超常发挥,结果卡在了一个用例设计方法上,印象非常深刻,当时的业务场景是支付方式的选择和优惠方案。在后来的工作中,也曾几次遇到需要选择合理的设计方法来写用例,不过每次在网上都是搜索了...
    99+
    2023-06-04
  • TestNg中自动化测试用例设计与管理的通用策略有哪些
    本篇文章给大家分享的是有关TestNg中自动化测试用例设计与管理的通用策略有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。自动化测试的用例...
    99+
    2022-10-19
  • pytest如何实现测试用例参数化
    小编给大家分享一下pytest如何实现测试用例参数化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!说明软件测试中,输入相应值,检查期望值,是常见测试方法。在自动化...
    99+
    2023-06-14
  • Jmeter如何通过CSV保存测试数据、测试用例及将测试结果导出到Excel里
    这篇文章给大家分享的是有关Jmeter如何通过CSV保存测试数据、测试用例及将测试结果导出到Excel里的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。CSV保存测试数据,并上传到CSV Data Set Conf...
    99+
    2023-06-04
  • Android中如何使用JUnit进行单元测试
      在我们日常开发android app的时候,需要不断地进行测试,所以使用JUnit测试框架显得格外重要,学会JUnit可以加快应用的开发周期。   Android中建...
    99+
    2022-06-06
    单元 junit 单元测试 测试 Android
  • Android下如何使用JUnit进行软件测试
      软件测试作为程序员必备的一项技能是决定软件开发周期长短以及软件运行成败的关键,可以说好的软件不是代码写得好而是有效的测试决定的。本文将介绍在android下利用ecli...
    99+
    2022-06-06
    junit 软件测试 测试 软件 Android
  • Android应用开发中如何进行单元测试
      本文主要和大家分享如何在Android应用开发过程中如何进行单元测试,个人在做项目的过程中,觉得单元测试很有必要,以保证我们编写程序的正确性。下面我们先大概了解下...
    99+
    2022-06-06
    单元 单元测试 测试 Android
  • 如何使用appium做Android手机自动化测试
    这篇文章给大家介绍如何使用appium做Android手机自动化测试,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Appium这个听起来既生疏也熟悉的自动化测试工具,比起原生的UiAutomator可能是异常的不起眼,...
    99+
    2023-06-05
  • jQuery如何为函数创建一个基本测试用例
    小编给大家分享一下jQuery如何为函数创建一个基本测试用例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为函数创建一个基本测试用例//Separate ...
    99+
    2023-06-27
  • Android学习笔记之如何对应用进行单元测试
      开发环境:   Win XP + eclipse-jee-helios(版本号3.6) + ADT(版本10.0.1) + Android SDK(版本10);  ...
    99+
    2022-06-06
    android学习 单元 单元测试 测试 Android
  • Android如何在测试程序中删除被测应用私有的原始数据
      我们知道在Android App测试时,当我们想把应用程序恢复的初始状态,我们通常可以有以下几种做法:   手动   到Setting -> Apps -...
    99+
    2022-06-06
    程序 私有的 数据 测试 Android
  • Android设计编辑器不可用如何解决
    如果Android设计编辑器不可用,可以尝试以下解决方法:1. 重启编辑器:关闭设计编辑器并重新打开,有时候这可以解决临时的问题。2...
    99+
    2023-10-12
    Android
  • android studio设计编辑器不可用如何解决
    如果Android Studio的设计编辑器不可用,可以尝试以下解决方法:1. 清除缓存:在Android Studio菜单栏中选择...
    99+
    2023-09-28
    android
  • 如何使用设计模式系列之单例模式
    这篇文章主要介绍“如何使用设计模式系列之单例模式”,在日常操作中,相信很多人在如何使用设计模式系列之单例模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用设计模式系列...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作