大家好,又见面了,我是你们的朋友全栈君。
https://blog.csdn.net/weixin_45912307/article/details/109501092 1. Web 端测试和 App 端测试有何不同(常见)
Web 项目
,b/s架构,基于浏览器的;Web 测试只要更新了服务器端,客户端就会同步会更新;App 项目
,c/s结构的,必须要有客户端;App 修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍;Web项目
:a. 浏览器(火狐、谷歌、IE等)b. 操作系统(Windows7、Windows10、Linux等)App项目
:a. 设备系统: iOS(ipad、iphone)、Android(三星、华为、联想等) 、Windows(Win7、Win8)、OSX(Mac)b. 手机设备可根据 手机型号、分辨率不同web项目
:需监测响应时间、CPU、Memoryapp项目
除了监测响应时间、CPU、Memory外,还需监测流量、电量等2. WEB测试和APP测试的区别。
专项测试
。比如app的安装,卸载,升级或者更新,还有兼容性测试,性能,交互性,稳定性,弱网测试。3. adb命令用到哪些? Adb命令是监控手机资源在Android里使用 命令如下:
查看设备号 | adb devices
安装 | adb -s 设备号 install 包名
卸载软件 | adb -s 设备名 uninstall 软件包名(以com开始的例如:com.qqmusic)
查看安装的软件包名 | adb shell pm list package 查看所有的手机软件包名
查看第三方的手机软件包名 | adb shell pm list -3
查看手机当前使用的内存情况,各个线程的内存占用情况 | adb shell dumpsys meminfo
查看手机的电池信息 | adb shell dumpsys batteryinfo
查看系统资源状态 | adb shell top
手机日志
产看手机日志 | adb logcat
清除手机日志 | adb logcat -c
显示时间 | adb logcat -v time
将日志导入一个文件中 | adb logcat > mobile.log
将手机的图片导入到PC端 | adb pull 手机文件的路径 电脑路径
例如:Adb pull /storage/emulated/legacy/Pictures/Screenshots/Screenshot_2019-02-21-17-48-55.png F:\
adb 命令录屏 | adb shell screenrecord --time-limit 10 /sdcard/demo.mp4 (10表示录制10秒,默认是180s)
获取当前页面元素(activity名) | adb shell dumpsys activity top
获取任务列表 | adb shell dumpsys activity activities
查看app入口(activity) | 1)adb logcat |findstr -i displayed ;2)adb shell dumpsys window w | findsrt mCurrent ; 3)aapt dump badging 安装包名.apk | findstr launchable-activity
启动应用 | adb shell am start -W -n com.hundsun.winner.pazq/.ui.home.activity.MainContainerActivity -S
设置时间的比率 | --pct-touch(percent touch)
adb shell monkey -p app 安装包名 --throttle 25 --pct-touch 50 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v -s 种子数 执行事件次数 >保存在pc的路径\日志名.log(一般不设置,都选择默认的事件处理事项)
4. 你用过哪些adb命令
adb install
安装包,卸载的话用adb uninstall 包名
。这个包名可以通过adb -s 设备ID uninstall com.taobao.taobao(包名)
去查询到。平常用到最多的是adb devices
,查到当前连接的设备,以防掉线了执行命令会报错。找到bug时,我会去分析查找bug的原因,要去查日志的话会用到adb logcat -d
,或者用adb logcat <tag>:I *:S
,通过信息错误等级去查找。查找到的结果为了方便查看我会导出到windows里查看会用adb logcat -d > 路径\文件名
。5. App是怎么测试?
腾讯优测
来进行测试的,web界面我们一般是通过appscan
进行扫描测试的,把扫描结果发给开发进行修复的数据加密主要是考虑在前端输入的时候进行加密,传输过程中进行加密,数据库进行加密,在服务日志文件中也是需要加密的6. app怎么测试。
需求分析
,提炼测试点,设计测试用例
,并进行评审
。搭建测试环境
。冒烟测试
。不通过就打回,通过了再进行执行测试用例
。功能测试
,保证每一个功能都能过关。专项测试
。主要的专项测试有安装,卸载,升级,交互性,稳定性,弱网,兼容性,性能测试。31.app兼容性你是怎么测的?
兼容性测试主要测试app在不同机型,不同手机系统版本上能不能正常启动,运行
。不同屏幕分辨率和屏幕大小能不能正常显示,会不会出现拉伸,显示不全的情况。以前我们公司测试兼容性主要是通过真机和云测相结合
的方法做测试的。公司会我们提供七八台真机,一般都是市场上主流的几款机型,比如华为P10,华为荣耀10,vivo x20,vivo y85,小米8等。我先用公司提供的真机一台一台测试。其他没有真机的手机就在云测上测试,生成测试报告,进行分析。云测上如果发现某些有问题的手机型号,就会拿真机进行再次测试,这里一般公司会租用手机,降低成本。8. app性能你是怎么测的?
app占用手机
的性能,一个是app对服务器
的性能测试。 cpu占用率,内存占用率,耗电量,流量以及流畅度
。除此之外也要重点关注app的安装,启动,卸载时间,加载页面的响应时间,以及是否有内存泄漏的情况
。测试之前,一般se会给我们提供指标。如果没有给的话,我会通过分析竞品,比如要测试京东,我会拿淘宝作为竞品,所测的京东性能要强于淘宝的才行。如果app之前有版本的话,可以拿上一个版本的数据作为对比对象,所测的性能要优于上一个版本的。通常来说,cpu平均占用率不超过10%,内存占用率不超过100M,平均安装时间50S,平均启动时间4S等,这都是一些比较普遍的app的性能,也可以作为一种参考。jmeter进行测试
。主要看并发数,响应时间,事务通过率,以及资源占用情况
。 测试一个场景一般15-30分钟
。在测试混合场景,就是各个不同场景,一起压测,找出未满足的需求。测试时间一般为30-60分钟
。9. APP测试怎么测? 我们app测试有Android app 和ios app 两种。Android app主要是从以下几点进行测试
ss脚本和sql注入来进行代码攻击
,一般使用扫描工具Appscan来进行攻击
,然后还会用fiddler进行抓包
,查看关键信息有没有进行加密,查看日志中有没有加密,数据库有没有加密,以及界面上的展示和输入是否加密了,会在fiddler抓包的时候设置断点,篡改数据,看能不能篡改成功
。monkey测试App的稳定性
,一般运行100W次,大概八个小时,查看日志文件,如果出现crash,anr,exception这些单词,则是出现bug,我们会将bug提交给开发,开发修复之后,我们会用种子数来进行回归复测用emaggee来测试监控App的cpu、内存、fps等性能指标
,监控完之后编写性能测试报告,然后再对比性能指标,看是否达标。10. App 的兼容性怎么测,App 的接口测试怎么测?
12. 原生开发、H5开发、混合开发的区别
原生开发(Native App开发)
:
是在Android、IOS等移动平台上利用官方提供的开发语言、开发类库、开发工具进行App开发。比如Android是利用Java、Eclipse、Android studio;IOS是利用Objective-C 和Xcode进行开发
优点
: 缺点
: 开发周期长
:快则3个月左右完成,慢则五个月左右;开发成本较高
可移植性比较差
:一款原生的App,Android和IOS都要各自开发,同样的逻辑、界面要写两套;H5开发(web app开发)
:
HTML5应用开发,是利用Web技术进行的App开发,可以在手机端浏览器里面打开的网站就称之为webapp。Web技术本身需要浏览器的支持才能进行展示和用户交互,因此主要用到的技术是HTML、CSS、Javascript以及jQuery、Vue、React等JS框架
优点
: 支持设备范围广
:可以跨平台,编写的代码可以同时在Android、IOS、Windows上运行;缺点
: 混合开发(Hybrid App开发)
:
开发效率高,节约时间
:同一套代码Android和IOS基本上都可使用;更新和部署比较方便
:每次升级版本只需要在服务器端升级即可,不再需要上传到App Store进行审核;功能/界面无法自定
:所有内容都是固定的,不能换界面或增加功能;加载缓慢/网络要求高
:混合APP数据需要全部从服务器调取,每个页面都需要重新下载,因此打开速度慢,网络占用高,缓冲时间长,容易让用户反感;安全性比较低
:代码都是以前的老代码,不能很好地兼容最新手机系统,且安全性较低,网络发展这么快,病毒这么多,如果不实时更新,定期检查,容易产生漏洞,造成直接经济损失;看加载的方式
:如果在打开新页面导航栏下面有一条加载的线的话,这个页面就是H5页面,如果没有就是原生的发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/174490.html原文链接:https://javaforall.cn