APP软件测试是指对移动应用程序(Mobile Application)进行系统性验证和评估的过程,旨在确保其功能、性能、兼容性、安全性及用户体验符合设计要求和用户期望。其核心目标是发现并修复潜在缺陷,提升应用质量,降低上线后的风险。那么在app测试时候会问及哪些问题,下面一起来看看。
功能这块,app测试与Web测试基本是一样,没有什么区别。(需求分析->提炼测试点->编写测试用例->执行用例->提Bug->复测,回归)等等
区别主要在于:web 端是B/S 架构的,App 是C/S架构的,由于架构的不同,所以web 端一般服务器更新的时候,客户端不需要更新,因为它是通过浏览器来访问的,服务器更新了,客户端也更新。app服务端要更新,同时客户端软件要进行升级更新,才算是新的版本;
对于app 测试来讲,除了功能之外,更多的还要考虑一些'专项测试',比如:web 测试是基于浏览器的所以不必考虑安装卸载。而app是客户端的,则必须测试安装、更新、卸载。兼容性,稳定性,性能测试,弱网测试,交互性测试等等;
对于兼容性这块:Web端主要考虑是:不同的浏览器,不同的操作系统的兼容性接口。而对于app测兼容性更多的考虑:不同的品牌机型,不同操作系统,不同手机屏幕大小,屏幕分辨率;
性能方面也会有所不同:Web端性能测试更多关注的后台的性能,app的性能测试关注的是手机本身的资源的性能问题:比如:CPU,内存,电量,流量,页面加载响应时间,软件启动时间等等;
对于App 这块,我们一般首先都先做功能,先保证功能过关是第一位。对于功能这块的话,基本都跟Web端是一样。
除了功能之外,公司还要求做了一些专项测试,像:安装,卸载测试,兼容性测试,稳定性测试,性能测试,弱网测试,交互性测试都有测试过的。专项测试这块,我主要负责的是:兼容性测试,稳定性测试,性能测试,弱网测试,交互性测试这是我负责的。
兼容性测试:公司有提供了差不多了5-6款的真机,像:华为,小米,三星,vivo,oppo等这些主流的机型都在真机有测试过。其他的机型,公司用的是云测,云测平台我们用的TestIn 这个平台,公司会给我们提供账号。
稳定性测试:用的Monkey 命令工具去测, 主要就是通过monkey模拟用户发送一些伪随机时间, 看app是否有Crash,ANR,Exception等现象,一般都是在晚上的时候去执行monkey 命令,然后出报告,分析。
性能测试:用的GT工具结合Android Studio工具去检测app在手机上运行的时候的CPU,内存,电量,流量,启动时间,安装,卸载时间以及页面的响应时间。弱网我们用的fiddler工具去进行模拟的,模拟2G,3G,4G ... 等弱网场景,看app 在弱网情况,功能是否能正常使用。
交互性测试:主要就是看app与其他应用程序之间的交互运行,以及与系统应用程序之间交互运行,来回进行前后台切换,看是否会出现闪退,数据丢失等现象。
adb start-server
adb kill-server
adb devices
adb -s 设备ID install 路径/包名.apk
adb -s 设备ID shell pm list packeages -3
adb -s 设备ID uninstall com.baidu.BaiduMap
电脑端文件传输到手机上
adb -s 设备ID push D:\路径\文件/sdcard/路径/
手机上的文件传输到电脑端
adb -s 设备ID pull /sdcard/路径/文件D:\路径#查看手机端的日志
adb logcat
adb logcat -d #打印完所有的日志文件之后,退出shell 终端
adb logcat -c #清除手机系统运行生成的日志文件
adb logcat -v time #需要打印日志详细时间的简单数据
adb logcat -d *:E #需要打印级别为Error 的信息
adb logcat -d *:E > D:\hello.log
adb logcat -d *:I > D:\hello555.log #打印I 以上级别的所有日志信息
adb logcat -d *:E | findstr cn.csdn.activity > D:/hello_error2.log
adb其实是一个android调试桥,主要是用来监控手机设备的,实现手机端与电脑端的通信通过adb来实现对手机的管控。比如:通过adb安装软件卸载软件,通过adb可以查看手机的资源使用情况,可以查看cpu,内存等资源。还通过adb实现手机端与电脑的文件的传输通过通过adb查看手机端app运行的日志,通过看日志来分析具体问题。
像兼容性这块当时,我们主要用真机测试为主,公司当时使用提供大概7,8 款机型吧,我记得像'华为荣耀系列'两款,小米机型有选择2款,还有就是像vivo,oppo 当时都有测过,对了还有三星等这些系列机型上都有做过真机测试。真机这块,像系统版本主要覆盖的系统其中6.0 7.0 8.0 为主;
对于其他的机型覆盖不到位,我们都是通过云测进行覆盖的,云测这边,我们公司用的testin这个云测平台,公司有提供账号给我们只要登录上去,然后把apk上传上去,之后选择机型要测试的机型,当时我们在云测测试有差不多有几十款多款机型吧,主要是市面上流程的主流机型,每个系列都会选个几款,如果用真机测了的就不在选择了,然后做一些相关的配置,云测平台上主要帮我们做了智能遍历,安装,启动,运行,卸载,初始化,Monkey测试相关的测试,不过monkey 一般都是通过真机测的,云测平台没有测过。配置好了之后,提交测试就可以了。一般提交测试之后,需要几个小时就会出报告。然后分报告,主看遍历,安装,启动,运行,卸载,初始化相关哪些机型有出问题,对于出问题的机型,一般会先补测一下,如果还有问题,我们项目组一般会向公司申请真机再真机进行复测,如果真机复测有问题,就通过利用adb logcat查看错误日志,分析具体的问题所在。
兼容性测试:主要就是看软件在不同机型,不同系统版本下能不能正常安装,卸载是否能正常启动,运行,初始化,我们都把各个功能都进行运行一遍,主要就是跑下主流程,看有不有问题。例外,就是看软件在不同屏幕大小,不同的分辨率的手机下显示是否正常,有不有拉伸,显示不全,或者显不清晰的等问题,当时我们兼容性就这么测的。