App测试知识点


 

一、APP测试类型

  1. APP手工测试

    • 手动操作APP进行测试(手点)。

  2. APP UI自动化测试

    • 使用代码或工具(如Python + Appium)代替手工测试。

  3. APP接口测试

    • 与Web接口测试类似,测试APP与服务器之间的接口。

  4. APP性能测试

    • 使用工具(如Monkey)进行性能测试。

二、APP测试流程

  1. 需求分析

    • 查看需求文档,分析测试需求。

  2. 编写用例

    • 编写测试用例,包括自动化脚本。

  3. 环境搭建

    • 部署APP自动化测试环境。

  4. 测试执行

    • 通过Jenkins打包生成最新APK包,安装到模拟器或手机中。

  5. 问题反馈与修复

    • 测试发现问题后,开发修复bug,重新提交版本。

  6. 测试报告输出

    • 输出测试报告,总结测试结果。

三、Web测试与APP测试的区别

  1. 功能测试

    • 从功能测试层面看,Web和APP测试流程和内容基本一致。

  2. 架构与更新

    • Web项目:B/S架构,基于浏览器,更新只需服务器端同步。

    • APP项目:C/S架构,客户端必须更新,服务端修改后需全面回归测试。

  3. 性能测试

    • Web项目:关注响应时间、CPU等。

    • APP项目:除响应时间、CPU外,还需考虑流量和电量。

  4. 兼容性测试

    • Web项目:兼容不同浏览器(如火狐、谷歌、IE)和操作系统(Windows、Linux等)。

    • APP项目:兼容不同设备(如iOS、Android)、分辨率、系统版本等。

四、APP专项测试

  1. 干扰测试

    • 测试中断(如来电、短信、关机、重启等)对APP的影响。

  2. 网络测试

    • 弱网络测试:模拟2G、3G、4G、WiFi等网络状态及丢包情况。

    • 网络切换测试:测试网络断开重连、3G切换到4G/WiFi等。

  3. 安装、更新、卸载测试

    • 安装:测试安装中断、弱网、安装后删除安装文件等。

    • 卸载:测试卸载后是否删除相关文件。

    • 更新:测试强制更新、非强制更新、增量包更新、弱网状态下更新。

  4. 界面操作测试

    • 测试手势、横竖屏切换、多点触控、前后台切换等。

  5. 安全测试

    • 检查安装包是否可反编译、是否签名、权限设置等。

  6. 边界测试

    • 测试存储空间不足、无SD卡、飞行模式、系统时间错误等。

  7. 权限测试

    • 测试APP是否获取必要权限(如通讯录、相册、照相机等)。

五、APP系统分类

  1. 安卓端与iOS端

    • iOS端:需要MacOS系统、企业级证书,自动化测试较少。

    • 安卓端:开发人员常用模拟器(模拟多种手机,连接稳定)。

  2. iOS与安卓的区别

    • 运行机制:iOS采用沙盒机制,安卓采用虚拟机机制。

    • 后台制度:iOS不允许第三方程序后台运行,安卓允许。

    • UI权限:iOS中UI指令权限高,安卓中数据处理指令权限高。

    • 流畅性:iOS系统更流畅,安卓系统易卡顿。

    • 编程语言:iOS使用Objective-C,安卓使用Java。

    • 界面:iOS界面单一,安卓界面多样化。

    • 省电性:iOS更省电,安卓较费电。

六、APP测试包

  1. 生产包

    • 已上线的APP包(后缀名:APK或IPA)。

  2. 灰度包/测试包

    • 开发提交代码后,通过Jenkins构建生成测试包。

    • 下载方式:通过URL或二维码。

七、ADB命令

  1. 常用命令

    • 查看连接设备:adb devices

    • 进入Shell:adb shell

    • 查看日志:adb logcat

    • 安装APK:adb install xxx.apk

    • 卸载APP:adb uninstall +包名

    • 查看包名:aapt d badging +包路径

    • 传递文件到SDCard:adb push 文件名 手机路径

    • 从手机下载文件:adb pull +文件

    • 查看所有包名:adb shell pm list packages

    • 启动Activity:adb shell am start 包名/路径

    • 屏幕截图:adb shell screencap

    • 启动/停止ADB服务:adb start-server / adb kill-server

    • 查看ADB版本:adb version

八、APP测试中常见问题

  1. ANR(无响应)

    • 原因:主线程执行耗时操作,其他进程占用CPU。

    • 细分原因:网络访问、数据读写、数据库操作、硬件操作等。

  2. Crash(崩溃)

    • 原因:内存管理错误、程序逻辑错误、设备兼容问题、网络因素等。

  3. 闪退

    • 软件问题:版本不兼容、未更新、第三方下载、网络差、分辨率不兼容等。

    • 系统问题:内存不足、越狱、缓存垃圾多、安装路径错误等。

  4. 白屏现象

    • 原因:手机使用过长、质量问题、内存不足、软件与设备不兼容等。

九、APP测试面试题

  1. APP与Web端的区别。

  2. Appium的原理。

  1. APP的搭建流程。

  2. 常用的ADB命令。

  3. APP测试的关注点(专项测试)。

  4. APP自动化测试中遇到的问题及解决方法。

  5. APP自动化测试流程。

  6. APP日志如何抓取。

  7. 测试过程中遇到Crash或ANR的处理方法。

  8. Android与iOS系统的区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值