软件测试学习笔记——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
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cda备考学习学习笔记——基础知识篇(二)主要涉及了计算机科学与技术领域的基本概念和知识。 首先,它介绍了计算机网络的基础知识。网络是将多台计算机通过通信链路连接起来,使它们能够相互通信和共享资源的系统。笔记中详细介绍了网络的组成、拓扑结构和通信协议等重要内容。 其次,笔记还解释了计算机系统的基本组成。计算机系统由硬件和软件两部分组成,其中硬件包括中央处理器、存储器、输入输出设备等,而软件则分为系统软件和应用软件。笔记详细介绍了各种硬件和软件的功能和作用。 此外,笔记还对数据库管理系统进行了介绍。数据库管理系统是一种用于管理和组织数据的软件系统,它能够实现数据的存储、检索和更新等操作。笔记中详细介绍了数据库的概念、结构和操作等内容。 最后,笔记还包括了算法和数据结构的基础知识。算法是解决问题的一系列步骤和规则,而数据结构则是组织和存储数据的方式。笔记中介绍了常用的算法和数据结构,如排序算法、树和图等。 总之,通过学习CDA备考学习笔记中的基础知识篇(二),我们能够更好地理解计算机网络、计算机系统、数据库管理系统以及算法和数据结构等相关概念和知识。这些基础知识对于我们深入研究计算机科学与技术领域是非常重要的,也为我们日后的学习和工作奠定了坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值