软件测试学习笔记——APP测试专项知识

软件测试知识——APP测试专项知识

  1. 什么是 APP ?
    APP是英文单词 Application 的简称,现在的 APP 指代的是智能手机的第三方应用程序。目前国内互联网公司都会有自己的APP产品,比如淘宝、京东都有APP客户端。

  2. 什么是 APK ?
    APK 是 Android Package 的缩写,即 Android 安装包,我们可以从Andriod手机的应用商店进行下载。
    开发人员会将 Android App 项目源码进行编译、打包成APK包给到测试人员进行测试。

  3. 什么是 IPA ?
    IPA是苹果程序应用文件:iPhoneApplication 的缩写,即 iPhone 安装包。

  4. 什么是 APP 应用商店 ?
    应用商店其本质上是一个平台,用以展示、下载手机使用的应用软件(App),苹果手机用户可以在 Apple Store 进行下载,而安卓手机用户可以有很多的选择,比如:豌豆荚、应用宝等。

  5. 什么是 Native App ?
    移动端原生应用,基于手机操作系统如:iOS、Android,使用系统底层所提供的 API 编写运行的第三方应用程序。
    Android 端可以使用 Java、Koltin 语言进行开发,iOS端可以使用 Objective-C、Swift 进行开发。
    想要创建 Native App,开发者必须编写源代码,使用由操作系统开发上提供的工具。

  6. 什么是 Web App ?
    主要依靠浏览器进行访问,其属性决定了可以不需要修改就能直接运行在 Android 、iOS、PC 端。
    虽然看起来跟其他 app 没有什么区别,但其本质是 web 站变种然后打包了一个app壳,可以发布到各个平台上,比如:安卓、iOS、黑莓、win phone 等等。

  7. 什么是 Hybrid App ?
    混合应用是指同时使用前端技术与原生技术开发的App。
    通常由前端负责大部分界面开发和业务逻辑,原生负责封装原生功能供前端调用,二者以 Web-View(负责用来显示和渲染网页)作为媒介建立通信,从而既拥有Web开发的速度优势,又能拥有强大的原生能力。
    现在大部分应用都是采用的 Hybrid 开发模式,如:美团、爱奇艺、微信等。

  8. 什么是 React Native ?
    React Native(简称 RN)是 Facebook 于2015年4月开源的跨平台移动应用开发框架,是 Facebook 早先开源的JS框架React在原生移动应用平台的衍生产物,支持 iOS 和安卓两大平台。
    RN使用JavaScript 语言,类似于 HTML 的 JSX,以及 CSS 来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。

  9. 什么是移动端 App 测试?
    App测试要通过各种手段和测试工具找出App中的BUG,判断App是否能够满足预期标准。
    移动端由于增加了终端、外设和网络等多项因素,因而测试内容和项目也相应增加了。
    在App开发过程中容易出现缺乏有效沟通,功能复杂、编程错误、需求不断变更、时间压力、缺乏文档的代码、App开发工具、SDK和人员的疏忽等原因引发的错误,通过测试能够发现、找出其中的错误,解决错误,从而提高App的质量。

  10. App 测试要点有哪些?
    包括功能测试、兼容性测试、用户体验测试、安全性测试、安装卸载升级测试、交叉事件测试、UI界面测试、性能测试等等。

  11. App 测试和 Web 测试区别?
    安装、卸载、更新方面:
    Web测试是基于浏览器的所以不必考虑。而App是客户端的,则必须测试安装、更新、卸载。
    兼容性测试方面:
    Web的兼容性主要关注:操作系统,浏览器类型。
    App的兼容性主要关注:不同品牌及型号,操作系统类型及版本,屏幕大小,分辨率。
    性能测试:
    Web客户端关注响应时间,CPU,内存,而App需要关心流量、电量、CPU、内存、FPS。
    App端专项测试:
    交叉时间测试、兼容性测试、电量测试、流量测试、弱网测试、稳定性测试、安全性测试等。

  12. 什么是 adb ?
    adb(Android Debug Bridge),是 Android SDK的一个工具。
    adb 是用来连接安卓手机和PC端的桥梁,可以让用户在电脑端对手机进行全面的操作。
    Android 的初衷是用adb这样的一个工具来协助开发人员在开发android应用的过程中更快更好的调试apk,adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能。

  13. 什么是 Android SDK ?
    Android SDK(Software Development Kit,软件开发工具包)被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
    它提供了 Android API 库和开发工具构建、测试和调试应用程序。简单来说,Android SDK可以看做用于开发和运行 Android 应用的一个软件。

  14. 什么是 App性能测试?
    用户在使用App会注意到一些情况,比如:这个App使用起来比较耗流量,又或者比较耗电,还有的是在切换一些页面的时候会存在卡顿的现象。
    作为测试人员,必须要提供有效的数据来去衡量 App的性能。
    一般会关注这些指标:CPU、内存、电量、页面响应速度、App启动时间等。

  15. 为什么需要 App 专项测试?
    测试人员在做完功能测试、自动化测试以及性能测试之后,App上线到达用户手中,还是会发现用户有很多问题反馈回来,比如:App崩溃、无响应、兼容性问题、App卡死等等,通过常规的测试方式难以发现问题,所以就引入了App专项测试。
    通常包括:兼容性测试、电量测试、流量测试、弱网测试、稳定性测试、安全测试等等。

  16. 什么是 App兼容性测试?
    兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够很友好的运行的测试。
    目前App碎片化十分严重,尤其是安卓的设备碎片化、品牌碎片化,大家熟知的安卓品牌都有好多家,每家可能还有定制的系统,除此之外还有系统版本碎片化、屏幕碎片化等等,这些都是需要去做兼容性测试来保证App的适配。

  17. 什么是 App 流量测试?
    目前的网络类型包含 2G\3G\4G\wifi,其中还有不同运营商的区分,我们在APP的使用过程中经常遇到大资源,重复请求,调用响应慢,调用失败等各种情况。
    在不同的网络类型之下,我们不仅要控制流量使用,还需要加快请求的响应,通过流量测试我们可以知道产品的流量耗用情况,并且以此指导开发进行资源和速度的优化。

  18. 什么是 App 电量测试?
    所谓的电量测试,是测试移动设备电量消耗快慢的一种测试方法。
    电量测试是通过不同的测试场景,找出APP高耗电的场景并进行优化,从而使APP的耗电量更低,提升用户的使用体验。

  19. 什么是 App 弱网测试?
    目前移动端产品所处的网络并非完全的流畅 WIFI 环境,仍有相当体量的用户主要使用 4G、3G、2G等网络,另外因移动端产品使用场景多变,如地铁、公交、电梯等,使得弱网测试显得尤为重要。
    弱网测试主要考虑到各种场景的客户端展示及容错,能极大提升产品印象和用户体验。

  20. 什么是 App 稳定性测试?
    现在的App长时间在手机系统前台/后台运行,用户对App的长时间使用的稳定性有了更高的要求,测试人员需要通过App稳定性测试来避免长时间运行下App出现的闪退、崩溃、内存泄漏等等问题。
    通常会选用Monkey等工具全自动遍历App。

  21. 什么是 Android App 安全测试?
    Android 系统由于其开源的特性,市场上针对开源代码定制的ROM参差不齐,在系统层面的安全防范和易损性都不一样。
    Android应用市场对App的审核相对 iOS 来说也比较宽松,这也为很多漏洞提供了可乘之机。
    安全测试要点包含如下:安装包安全性、数据安全性、软键盘劫持、账户安全性、通信安全性、备份检查等。

  22. 什么是云测平台?
    云测平台提供了远程租用真机的服务,通常是利用自动化框架来实现真机上的脚本自动化运行,或远程租用真机人工测试,或真人真机测试。
    由于 Android 端设备的种类众多,云测试服务在Android 端应用广泛。
    国内外都提供了多种云测试平台,比如国内有:testin、百度MTC、腾讯优测;国外有:Pefecto、TestDroid等。

  23. 什么是 App 埋点?
    埋点就是在APP中加入一些程序代码,用以收集和统计用户在App中的浏览、访问数据和应用使用情况,分析用户交互行为,从而帮助产品和运营进行后续优化。
    App上线后才能观察到相应的数据进行分析研究。数据埋点可以在自己的后台进行收集和统计,也可以借助第三方数据分析平台。

  24. App测试为什么以Android 为主?
    用户量大;
    Android 碎片化严重;
    iOS 相对于Android更为封闭,并且闭源(Android 是开发源代码的);
    App在Android系统上问题更多。

  25. 什么是 ANR ?
    在Android上,如果应用程序有一段时间响应不够灵敏,系统会向用户显式一个对话框,这个对话框称为应用程序无响应(ANR:Application Not Responding)对话框。
    用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。

  26. ANR 异常日志获取?
    如果是第三方数据上报,或者测试人员测试时抓取了日志,我们可以直接查看日志,但如果是我们自己发现或者复现了问题可以用以下方式获取日志:
    1、traces.txt,获取方式: adb pull /data/anr/traces.txt
    2、applogcat-log,获取方式: adb pull /data/log/android_logs
    3、dropbox,获取方式: adb pull /data/system/dropbox

  27. 什么是 Appium ?
    Appium是一个自动化测试开源工具,支持 iOS 平台和 Android平台上的原生应用,web应用和混合应用。
    并且 Appium 是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了 iOS 和 Android 测试套件间代码的复用性。

  28. 什么是 App 上架?
    App开发完成,需要将应用发布到应用商店供用户下载。
    对于Android平台,国外只有 Google play,由于其开放性,导致国内有无数的应用平台,各平台要求不尽相同。而对于 iOS 平台,不管是国内还是国外,只有统一的入口——Apple Store。

  29. 如何打开Android的调试模式?
    各类型号手机存在细微区别,大概路径:打开手机设置->关于手机->连续点击5下版本号->返回上一级->点击开发者选项->打开USB调试模式->弹出框选择确定->认证框勾选->一律使用这台计算机进行调试(必勾选)。

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值