移动APP测试教程3-IOS测试

用户一直都很喜欢苹果的移动设备,无论是,iPhone、iPod Touch还是iPad。数据显示,全球有10亿左右台苹果设备在运行iOS系统。

以下是2016年iPhone的市场份额分析。

移动APP测试教程3-IOS测试


IOS

IOS是苹果公司专门为其设备设计的移动操作系统,通常被称为iDevices。2007年起IOS系统为iPhone而生,后来该操作系统发展到支持Touch设备和iPad。

目前的研究报告显示,IOS是市场上第二受欢迎的移动操作系统。安卓系统可以运行在各个厂商制造的设备上,但iOS只限于苹果硬件。

移动APP测试教程3-IOS测试


分发安卓ios

IOS操作系统以用户友好、操作流畅、应用无崩溃等特点著称。IOS应用相当丰富了,应用数量300万左右。应用的下载量千亿以上。它支持40种不同的语言。IOS设备的UI界面也是非常吸引人的,远非安卓能比。

移动APP测试教程3-IOS测试


  • 苹果iTunes应用商店每天1000左右个新应用提交。
  • iTunes应用商店中,约有1/3的应用是免费下载的。
  • 付费的iOS应用收费平均在1.10到1.30美元之间。
  • iOS游戏的平均价格在0.55到0.65美元之间。
    你在iPhone、iPod Touch或iPad上用过多少应用?
  • IOS测试

    苹果是封闭的系统,不像Android是开放的系统。

    跟安卓比更容易测试的地方:

  • 屏幕尺寸更简单
  • 自带丰富的测试工具
  • 苹果公司有很多种自己的自动化工具,虽然学习起来有点麻烦。我记得为了Android的GPS测试,我不得不花了2-3天的时间来了解如何创建脚本来发送假位置。但在iOS中就非常简单直接了,因为iOS有一个内置的功能,可以发送假的GPS,用于步行、跑步、骑车等。

    初期测试时,不建议通过实地测试,建议发送假的GPS数据,这样也能节省时间。

  • 苹果对提交申请有严格的指导原则,这在某种程度上对申请有很大的帮助,而不是提交后被拒绝,成功的几率很大。
  • 设备和操作系统本身的功能是固定的、直接的。
  • 因此它减少了错过应用程序工作方式的机会。在iOS系统中,没有办法强制停止应用程序,而我们可以在安卓系统中杀死和强制停止应用程序。因此这里的测试减少了复杂性。

    移动APP测试教程3-IOS测试


    OS应用测试的类型

    不同类型的iOS应用测试[因为它是在典型的条件下完成的]可以如下。

  • 手动测试 - 使用设备 系统测试 UI/UX测试 安全测试 现场(Field)测试
  • 手动测试--使用仿真器 单元测试 集成测试 UI测试
  • 自动化测试 回归测试 BVT(Build Verification Test 冒烟)测试 兼容性测试 性能测试
  • 以一个运动队筹款应用为例。该应用会有一个社交账号登录[Google / Facebook]和一个支付页面。

    在进入支付页面之前,应该有选项来选择系统定义的金额或自定义字段来键入金额。一旦支付完成,屏幕上应该会显示一个证书PDF,同时,这个PDF也必须通过电子邮件发送到当前登录的用户的电子邮件账户。

    移动APP测试教程3-IOS测试


    手动测试 - 使用设备

  • 系统测试。
  • iOS应用在真实的苹果设备上启动,然后与用户界面进行交互,以触发一组或多组特定的用户操作。典型的用户操作可以是触摸操作或在屏幕上滑动操作。比如

    1,使用Facebook账户登录,使用开放的身份验证方式登录iOS运动和筹款应用。
    2,从给定的选项中选择一个预定义的系统金额10美元。
    3,进入支付网关。
    选择PayTm手机钱包选项进行支付处理。

    系统测试是指主要涵盖系统中各种端到端流程的操作。每个测试都必须用各种可用的配置来执行。而且,这也取决于安装应用程序的设备和iOS版本。

  • iOS UI测试
  • 1,输入。触摸屏功能测试[如长/短触、3D触、滚动]、按钮大小、按钮的位置、字体的颜色和大小等,都属于这一类。
    2,硬键。原生应用程序能与设备上的内置硬件键/硬键无缝对接,如Home键、声音键等。被测试的应用程序也应该以类似的方式与硬键互动。
    3,软键/软键盘。当你进入Whatsapp消息页面时,键盘没有出现,这有多烦人?键盘的外观,在您不需要的时候可以隐藏,支持笑脸,符号,所有的字符/符号等都是必要的。
    4,在我们的例子中,键盘可以在多个地方出现,比如输入自定义金额,在支付网关中输入凭证/卡的详细信息等。
    5,屏幕。如果应用程序支持跨多个设备,则应在所有设备上测试其方向。根据测试过程中选择的设备,可能会有一些分辨率的变化。同时,还应该对纵向/横向模式以及键盘在每种情况下的使用进行测试。
    6,列表。在iOS系统中,当有一个列表要显示时,总是会显示一个全新的屏幕,不像Android系统会出现弹窗。

    移动APP测试教程3-IOS测试


    移动APP测试教程3-IOS测试


    7.信息。当应用程序崩溃时,iOS中显示的信息与Android中的不同。另外,如果你观察过,当你释放内存时,安卓手机上会有一些小消息闪现,比如 "#GB内存已释放 "等,但在iOS中我们永远看不到闪现的消息。

    移动APP测试教程3-IOS测试


    移动APP测试教程3-IOS测试


    8.删除确认。如果你仔细观察iOS应用,在弹出的删除确认窗口中,"取消 "的操作在 "删除 "选项的左边,而在Android或其他操作系统中,则是相反。而在Android或其他操作系统中,则相反。

    移动APP测试教程3-IOS测试


    移动APP测试教程3-IOS测试


    图片.png

  • 安全测试
  • 社交媒体登录和支付网关方面的数据应该加密或安全,以使应用程序免受黑客攻击。

    d) 现场测试。

    现场测试是为了验证应用程序在手机数据网络上的行为。

    这种测试通常是在应用达到稳定阶段,在内部测试时不崩溃,并且所有功能问题都已修复时进行。这主要是为了测试应用在慢速数据网络上的性能。

    手动测试--使用模拟器

    1.单元测试。

    这主要是由开发完成的,检查源代码中的某个特定模块是否按预期运行。

    1. 集成测试。

    这个测试是为了找出与各个集成点相关的问题。在我们的例子中,我们可以把登录作为一个模块,把支付网关作为另一模块。

    单元测试将单独覆盖这两个模块的测试。然而,集成测试将测试这两个模块的完整性。

    1. UI测试。

    购买所有的手机型号进行测试实际上是不可能的,因为这将花费很多。因此,使用模拟器是最好的选择,因为它是免费的,而且在模拟器上很容易发现明显的UI错误。

    iOS自动化

    1.回归测试。

    为了验证应用程序在实施变更后是否还能以同样的方式运行,必须进行回归测试。而且,由于这是一个重复性的活动,自动化在这种测试运行中非常方便。

    1. BVT测试。
    2. 兼容性测试。

    iPhone、Pod Touch、iPad、iPad Pro等。

    1. 性能测试。

    性能测试中的一些测试内容是:

  • 应用程序在运行或运行很长时间后的表现。在运行期间,使应用程序通信/交互/保持空闲状态。
  • 用不同的负载量进行相同的操作。
  • 当数据传输量真的很大时,系统的表现如何。
  • 这些都是重复性的,大部分都是使用自动化完成的。

    测试iOS应用的最佳实践

  • 忘记模拟器
  • 在大多数情况下,仿真器比真实设备更受欢迎。但是,这不是理想的情况。像用户交互、电池消耗、网络可用性、使用性能、内存分配等都无法在仿真器上进行测试。所以,尽量在真实设备上进行测试。

  • 自动化事情而不是手动做
  • 分享工作
  • 分担包括开发团队在内的各团队的测试工作。我们可以在手动执行测试用例方面得到帮助,也可以在手动测试用例的自动化方面得到开发团队的帮助。

  • 捕捉崩溃日志
  • iOS的应用程序在某些情况下可能会冻结或崩溃。为了解决这个问题,崩溃日志起着至关重要的作用。

    可以执行以下步骤来捕捉崩溃日志。

    对于MacOS:
    将iOS设备与电脑同步[Mac]。
    对于Mac OS,按住Option键打开菜单栏。
    进入 "去菜单",点击 "库"。
    导航到~/Library/Logs/CrashReporter/MobileDevice//。
    日志文件的名称应该以应用程序的名称开头。
    对于Windows操作系统。
    将iOS设备与电脑同步[Windows]。
    导航到C:/Users/AppData/Roaming/Applecomputer/Logs/CrashReporter/MobileDevice//。
    日志文件的名称应该以应用程序的名称开头。

    5)捕捉控制台日志。

    控制台日志给出了iOS设备上应用程序的整体信息。

    这可以使用iTools等工具来完成。在iTools应用程序中,当iOS设备连接到iTools运行的系统时,点击 "工具箱 "图标。点击 "实时日志 "就可以得到实时的控制台日志。

    6)捕捉屏幕。它变得很容易理解的问题,因此很容易修复,如果步骤是可视化的。

    建议记录屏幕或拍摄问题的截图,以使开发团队更好地理解它们。可以使用内置的功能,将电源键和Home键一起按下,进行截屏。

    在iOS设备使用闪电线连接到Mac时,可以使用Quick time player录制屏幕。

    iOS自动化框架
    下面列出一些最常用的自动化框架。

    1)Appium。

    Appium使用Selenium Web驱动来自动化iOS应用测试。

    这个平台是独立的,既可以在网络上使用,也可以在移动设备上使用[包括Android和iOS]。这是一个开源的,不受语言限制。使用Appium进行自动化不需要修改应用程序或访问源代码。

    Appium的无缝工作独立于应用程序的类型:无论是本地的,混合的还是Web的。

    2) Calabash:

    Calabash是一个开源的跨平台框架,支持Android和iOS自动化测试。

    Calabash的测试是用Cucumber编写的,类似于规范,易于理解。Calabash由库组成,使用户能够与本地和混合应用程序进行交互。它支持手势、断言、屏幕截图等交互方式。

    3)Earl Grey。

    Earl Grey是谷歌内部的UI测试框架。它已经被用于测试YouTube、Google Photos、Google Play Music、Google Calendar等。

    Earl Grey最近被开源了。Earl Grey的一些主要优点是,内置同步,交互前的可见性检查,真正的用户交互[点击,滑动等]。这与Google的Espresso非常相似,Espresso用于Android UI自动化。

    4)UI自动化。

    UI Automation是由苹果开发的,与Android的UI Automator非常相似。API由苹果定义,测试用JAVA编写。

    5)KIF。

    KIF是 "Keep it Functional "的缩写。这是一个第三方和开源框架。

    这是一个iOS集成测试框架,与XCTest测试目标密切相关,并用于XCTest测试目标。KIF很容易配置或集成到Xcode项目中,因此不需要额外的Web服务器或额外的包。在iOS版本方面,KIF的覆盖面很广。

    结语

    iOS应用测试是一项具挑战性的任务。希望你通过这篇文章对iOS应用测试有很好的了解。选择正确的方法、最佳的测试流程、方法论、工具、仿真器/设备等将使iOS应用测试非常成功。

    展开阅读全文

    页面更新:2024-06-21

    标签:苹果公司   测试   仿真器   网关   应用程序   框架   模块   屏幕   操作系统   苹果   操作   教程   用户   设备   系统   科技   日志

    1 2 3 4 5

    上滑加载更多 ↓
    推荐阅读:
    友情链接:
    更多:

    本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

    © CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
    闽公网安备35020302034903号

    Top