51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1305|回复: 0
打印 上一主题 下一主题

即将来临的招聘季你还在愁APP测试面试题不能通过吗?

[复制链接]
  • TA的每日心情
    擦汗
    1 小时前
  • 签到天数: 1047 天

    连续签到: 5 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2022-8-17 11:44:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     一、请介绍一下,APP测试流程?
      APP测试流程与web测试流程类似,分为如下七个阶段:
      1. 根据需求说明书编写测试计划;
      2. 制定测试方案,主要是测试任务、测试人员和测试时间的分配;
      3. 测试准备,包括搭建测试环境,准备测试数据,确定测试方法;
      4. 测试用例的设计与编写,进行用例评审及补充完善;
      5. 执行测试时首先进行冒烟测试,然后对主功能流程进行测试,包括客户端的单个功能模块,及功能业务逻辑功能交互,回归测试;
      6. 提交测试结果,包括测试用例,测试计划;
      7. 日常维护性测试。
      思维导图如下:

    二、APP原生开发、H5开发和混合开发的区别?
      1、原生开发
      原生开发(Native App开发), 利用官方提供的开发语言、开发类库、开发工具进行App开发。比如Android是利用Java;IOS是利用Objective-C进行开发。
      原生开发优点:
      ·运行速度快、性能高,绝佳的用户体验;
      · 支持大量图形和动画,不卡顿,反应快;
      · 兼容性高,每个代码都经过程序员精心设计,一般不会出现闪退的情况,还能防止病毒和漏洞的出现;
      · 比较快捷地使用设备端提供的接口,处理速度上有优势。
      原生开发缺点:
      · 开发时间长;
      · 制作费用高昂,成本较高;
      · 可移植性比较差,一款原生的App,Android和IOS都要各自开发,同样的逻辑、界面要写两套;
      · 必须等下载完毕用户才可以打开,获得新版本时需重新下载应用更新。
      2、H5开发
      HTML5应用开发,是利用Web技术进行的App开发,可以在手机浏览器里面打开的网站就称之为webapp。Web技术本身需要浏览器的支持才能进行展示和用户交互,因此主要用到的技术是HTML、CSS、Javascript以及jQuery、Vue、React等JS框架。
      H5开发优点:
      · 支持设备范围广,可以跨平台,编写的代码可以同时在Android、IOS、Windows上运行;
      · 开发成本低、周期短;
      · 适合展示有大段文字(如新闻、攻略等),且格式比较丰富(如加粗,字体多样)的页面;
      · 用户可以直接使用最新版本(自动更新,不需用户手动更新)。
      H5开发缺点:
      · 由于Web技术本身的限制,H5移动应用不能直接访问设备硬件和离线存储,所以在体验和性能上有很大的局限性;
      · 对联网要求高,离线不能做任何操作;
      · APP反应速度慢,页面切换流畅性较差;
      · 图片和动画支持性不高;
      · 用户体验感较差。
      3、混合开发
      混合开发(Hybrid App开发),是指在开发一款App产品的时候,为了提高效率、节省成本而利用原生与H5的开发技术的混合应用。通俗点来说,这就是网页的模式,通常由“HTML5云网站+APP应用客户端”两部份构成。
      混合开发优点:
      · 开发效率高,节约时间。同一套代码Android和IOS基本上都可使用;
      · 更新和部署比较方便,每次升级版本只需要在服务器端升级即可,不再需要上传到App Store进行审核;
      · 代码维护方便、版本更新快,节省产品成本;
      · 比web版实现功能多;
      · 可离线运行。
      混合开发缺点:
      · 功能/界面无法自定:所有内容都是固定的,不能换界面或增加功能;
      · 加载缓慢/网络要求高:混合APP数据需要全部从服务器调取,每个页面都需要重新下载,因此打开速度慢,网络占用高,缓冲时间长,容易让用户反感;
      · 安全性比较低:代码都是以前的老代码,不能很好地兼容最新手机系统,且安全性较低,网络发展这么快,病毒这么多,如果不实时更新,定期检查,容易产生漏洞,造成直接经济损失。
      三、app上线之后很卡,要从哪些方面考虑原因呢?
      如果是当前升级的这个功能很卡的话,可能的原因:
      · 可能是当前功能的资源太多了,所以加载起来比较慢,从而很卡;
      · 可能是请求用户太大了,所以导致卡。
      如果是整个app操作都很卡的话,大概有如下的几个原因:
      · 可能是网络问题,要检查一下你的网络;
      · 可能是app的占用内存太大了,导致的内存不足;
      · 可能是与手机的其他软件,或者是手机系统有不兼容的问题;
      · 可能是服务器的资源不足了。
      四、说下你了解的APP测试工具
      1、APP自动化测试工具
      (1) appium
      Appium 是一个开源的、跨平台的自动化测试工具。支持自动化 iOS,Android 和 Windows 桌面平台上的原生、移动 Web 和混合应用。开发者可以使用 WebDriver 兼容的任何语言编写测试脚本,如 Java,OC,JS,PHP,PythonRuby,C#,Clojure 和 Perl 语言。是做 UI 自动化测试必须要掌握的工具之一。
      (2) Airtest
      Airtest 是网易游戏推出的一个 UI 自动化测试工具,适用于游戏和应用,支持的平台为 Windows,Android 和 iOS。Airtest 提供了跨平台的 API,包括安装应用、模拟输入、断言等。基于图像识别技术定位 UI 元素,你无需嵌入任何代码即可进行自动化测试。并且测试脚本运行后可以自动生成详细的 HTML 测试报告。
      (3) uiautomator2(python)
      uiautomator2 是一个可以使用 Python 对 Android 设备进行 UI 自动化的库。其底层基于 Google uiautomator,Google 提供的 uiautomator 库可以获取屏幕上任意一个 APP 的任意一个控件属性,并对其进行任意操作。
      2、APP 稳定性测试工具
      (1) Monkey
      Monkey 是一个在模拟器或设备上运行的程序,可生成伪随机用户事件(例如点击、轻触或手势)流以及很多系统级事件。使用 Monkey 以随机且可重复的方式对正在开发的应用进行压力测试
      (2) MonkeyRunner
      monkeyrunner 工具提供了一个 API,用于编写可从 Android 代码外部控制 Android 设备或模拟器的程序。使用 monkeyrunner,可以编写一个 Python 程序去安装 Android 应用或测试软件包,运行它,向其发送按键,截取其界面的屏幕截图,并将屏幕截图存储到工作站中。monkeyrunner 工具主要用于在功能/框架级测试应用和设备以及运行单元测试套件,但也可以自由地将其用于其他目的。
      (3) Maxim
      Maxim 是基于 monkey 做的二次开发,相较原生 monkey,相对智能。除了保留原生 monkey 已有的功能外,可深度遍历控件,可自定义黑白名单,可设定执行时长,增加防睡眠/防假死机制、防跳出/防误点状态栏及下拉状态栏等。
      3、APP 性能测试工具
      (1) GT
      腾讯开源的 APP 的随身调测平台,支持 iOS 和 Android。直接运行在手机上,可对 APP 进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash 日志查看、网络数据包的抓取、APP 内部参数的调试、真机代码耗时统计等。
      (2) Perfdog
      腾讯游戏部门开发的移动全平台 iOS/Android 性能测试、分析工具平台。手机无需 ROOT/越狱,手机硬件、游戏及应用 APP 也无需做任何修改,极简化即插即用。
      PerfDog 支持 iOS 和 Android,支持移动平台所有应用程序(游戏、APP 应用、浏览器、小程序、小游戏、H5、后台系统进程等)、Android 模拟器、云真机等性能测试。PC 上 PerfDog 可多开,单 PC 可同时测试多台手机。目前免费体验,谁用谁香。
      4、APP 兼容性测试工具
      (1) TestIn
      Testin 是国内较早涉足云测试领域的平台之一。终端种类及数量都比较全面。提供远程真机测试、标准/深度/遍历兼容测试、自动化测试、测试专家驻场等。支持 Android 与 iOS 系统。但目前仅少部分服务为免费,绝大多数服务为收费项目。
      (2) 腾讯优测
      腾讯旗下的云测试服务平台,拥有超过 3000 台真机实验室,覆盖市面 99% 主流机型。拥有十年终端测试服务经验,提供兼容性测试、自动化测试、云真机、设备分享等多种服务方式。
      (3) 百度 MTC
      百度 MTC 是百度开放平台旗下的移动云测试中心。提供超过 1500 款热门机型。提供的测试服务种类有兼容性测试、性能测试、功能测试。并且提供了脚本录制工具,类似 Testin。百度 MTC 的服务目前主要为收费服务。
      五、APP偶然出现anr和crash,你是怎么处理的?
      APP偶然出现anr和crash是比较头疼的问题,由于偶然出现无法复现步骤,这也是一个测试人员必备的技能,需要抓日志。查看日志主要有3个方法:
      ① 一般app在测试阶段会开发debug版本,出现anr和crash的时候会自动把日志保存到本地实际的sd卡上,去对应的app目录取出来就可以了。
      ② 当出现偶然的crash时候,手机连上开发的开发代码的环境,有ddms会抓日志,这时候出现crash就会记录下来日志。
      ③ 测试人员自己通过adb logcat保存日志到本地。


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 10:56 , Processed in 0.070706 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表