个人网站建设收费标准,洛阳便宜网站建设公司,零基础网页制作培训,wordpress基本函数目录#xff1a;导读
引言
一、Web 端测试和 App 端测试有何不同?
二、App是如何测试的#xff1f;
三、app闪退的可能原因#xff1f;
四、给你一个登录页面,你要如何测试#xff1f;
五、测试过程中遇到app出现crash或者ANR#xff0c;你会怎么处理#xff1f; …目录导读
引言
一、Web 端测试和 App 端测试有何不同?
二、App是如何测试的
三、app闪退的可能原因
四、给你一个登录页面,你要如何测试
五、测试过程中遇到app出现crash或者ANR你会怎么处理
六、APP性能测试主要关注哪些指标?
七、常见的 adb 命令?
写在最后 引言
面对即将到来的金三银四求职季很多求职者都深感压力倍增。尤其是对于软件测试行业而言面试是最关键的一环。
如何在有限的时间内展现出自己的实力是每一个求职者面临的重要问题。
因此为了帮助广大求职者更好的应对网申和面试本文将会分享几个最常见的APP面试题让大家能够更好的准备展现出最佳的面试状态从而获得工作的机会。
一、Web 端测试和 App 端测试有何不同?
① 系统架构方面 Web 项目b/s架构基于浏览器的Web 测试只要更新了服务器端客户端就会同步会更新 App 项目c/s架构的必须要有客户端App 修改了服务端则客户端用户所有核心版本都需要进行回归测试一遍
② 兼容方面 Web项目a. 浏览器火狐、谷歌、IE等b. 操作系统Windows7、Windows10、Linux等 App项目a. 设备系统: iOSipad、iphone、Android三星、华为、联想等 、WindowsWin7、Win8、win10、OSXMacb. 手机设备可根据 手机型号、分辨率不同
③性能方面 web项目 需监测响应时间、CPU、Memory app项目 除了监测响应时间、CPU、Memory外还需监测流量、电量等
④相对于 Web 项目APP有专项测试 干扰测试中断来电短信关机重启等 弱网络测试模拟2g、3g、4g5G, wifi网络状态以及丢包情况网络切换测试网络断开后重连、3g切换到4g/wifi 等 安装、更新、卸载 安装需考虑安装时的中断、弱网、安装后删除安装文件等情况 卸载需考虑 卸载后是否删除 App 相关的文件 更新分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新 界面操作关于手机端测试需注意手势横竖屏切换多点触控前后台切换 安全测试安装包是否可反编译代码、安装包是否签名、权限设置例如访问通讯录等 边界测试可用存储空间少、没有SD卡/双SD卡、飞行模式、系统时间有误、第三方依赖QQ、微信登录等 权限测试设置某个 App 是否可以获取该权限例如是否可访问通讯录、相册、照相机等。 二、App是如何测试的
一般从界面功能兼容性稳定性交互性安全性易用性性能网络异常情况权限等方面进行测试。 界面测试主要测试界面展示是否与UI设计的原图一致测试手机屏幕大小及分辨率对界面的影响。 功能测试除安装卸载更新 和web端差不多都需要考虑人员与权限场景与步骤异常场景用户补充场景关联模块但是app测试功能在相关功能模块需要添加一项就是web界面的变化如你在手机上投资了一笔钱你需要在web端查看投资情况是否一致。 兼容性测试就是用不同的厂商型号安卓系统版本进行测试。 稳定性测试一般我们是功能测试完成情况下再进行稳定性测试一般主要是检查软件长时间运行会不会出现崩溃crashanr 超时不响应exception异常 出现了bug我们会提交bug等开发修复完成进行回归测试。 交互性测试跟手机固有的功能模块进行交互使用像音量的调节锁屏旋转返回键主菜单键截图闹钟待机插拔数据线耳机wifi、蓝牙电话短信低电量看功能是否正常使用界面是否为原来界面输入数据是否保存还有跟其他app进行交互性测试一般 跟应用排行榜前100 是否可以同时使用。 安全性测试主要考虑的是sql语句的注入xss脚本的攻击数据加密还有就是权限测试。 sql语句的注入和xss脚本的攻击的检查因为手动操作比较麻烦与繁琐app我们一般是通过腾讯优测来进行测试的web界面我们一般是通过appscan进行扫描测试的把扫描结果发给开发进行修复的数据加密主要是考虑在前端输入的时候进行加密传输过程中进行加密数据库进行加密在服务日志文件中也是需要加密的。 易用性主要是把控用户的体验问题驾驭需求以外用户使用是否方便好用。 性能测试我们通常使用Emmagee去测试APP的性能去监测cpu、内存、fps等性能指标。 网络测试 分 2G,3G,4G,5G移动联通电信wifi 网络之间组合 网络之间的切换还弱网用fiddler 工具进行模拟。 权限1-前台不能访问后台 2-不能通过url连接支架访问3-后台不能直接进入界面。 异常测试 关机重启网络中断服务器卡死服务器重启。
三、app闪退的可能原因 APP闪退的原因可能是 缓存垃圾太多Android系统的特性如果长时间不清理垃圾文件会导致越来越卡甚至闪退。 运行程序太多导致内存不足。 应用版本兼容问题分辨率兼容问题。 APP中访问网络的地方组件能否正常下载并显示。 APP的SDK与手机系统不兼容。 系统升级后新版本不兼容老版本的API返回对象失败报空指针。 软件权限未开放。 四、给你一个登录页面,你要如何测试
PP登录场景大体从以下几个方面进行 页面基本元素的操作。 大量字符特殊字符边界值必填项校验。 注册手机号的特殊性验证注册邮箱的格式验证。 密码大小写是否敏感密码是否加密展示密码是否有可见按钮功能密码框能否使用复制粘贴。 验证码校验必填项过期错误无网络时获取验证码多次获取超过获取次数输入验证码后修改手机号。 登录时与系统的交互锁屏蓝牙home后退横竖屏修改字体字号。 逆向思维已注册账号注册未注册账号忘记密码未注册账号登录注册过程中退出再次注册。 输入法交互切换输入法切换输入模式手写/九宫格。 登录账号的多样性多个账号轮流登录同一个账号多角色登录。 第三方登录验证账号授权信息正确取消授权。 登录页面跳转返回登录成功及其他页面跳转。 手机兼容性测试分辨率兼容系统兼容系统版本兼容App版本兼容。 网络切换网络断开弱网。 五、测试过程中遇到app出现crash或者ANR你会怎么处理
APP出现Crash或ANR可以从以下几个方面处理 可以先把日志过滤出来adb logcat | findstr xxxxx(过滤日志信息) 然后再搜索其中的关键字比如exception、crash看看是哪些方法或者异常导致了问题 初步定位问题原因后可以交给开发人员去具体查找深层原因并修复。
六、APP性能测试主要关注哪些指标?
1包体大小
包体大小能被列为性能指标是从APP性能指标及运营两个维度考虑的用户是更希望包体小的同时性能要好有时它们会是一个互相取舍的关系。
2启动时长移动应用的启动时间是用户体验的一个重要方面IOS一直建议尽可能的缩短启动时间防止用户不愿意使用它们。对于浏览器而言由于程序启动时还会有教育页和闪屏的下发因此启动时间的获取显得尤为重要。
启动时间分为冷启动时间和热启动时间所谓的“冷启动”就是一个完全没有运行的应用的启动时间与热启动应用已经在后台运行某个事件将其带至前台相比由于此时系统尚未建立缓存因此冷启动往往要较平时热启动耗费更长的时间。
3内存使用在Android系统中每个APP进程除了同其他进程共享(shared dirty)外还独用私有内存(private dirty)通常我们使用PSS(私有内存比例分配共享内存)来衡量一个APP的内存开销。移动设备的内存资源是非常有限为每个APP进程分配的私有内存也是有限制。一方面我们要合理的申请内存使用以免导致频繁的GC垃圾回收机制影响性能和大对象申请发生内存溢出另一方面我们要及时释放内存以免发生内存泄漏。
4CPU占用率
一般情况下用主流手机使用APP20%-40%的CPU占用率算是合理的当然这个数值随着近年来手机硬件配置的提高会略微下降如果CPU占用率超过80%就非常值得我们去关注了。
5图片处理器每秒刷新的帧数(FPS)
可用来指示页面是否平滑的渲染。手机APP帧率FPS30-60都可接受上了60对于人眼主观感受差别就不大了。对于移动应用开发而言并不是FPS越高就一定越好FPS取决于显卡其次是内存、CPU然后是网络。故综合APP其他性能指标选择一个适合的FPS即可。
6电量
相对于PC来说移动设备的电池电量是非常有限的保持持久的续航能力尤为重要。另外android的很多特性都比较耗电(如屏幕GPSsensor传感器唤醒机制CPU连网等的使用)我们必须要慎重检查APP的电量使用以免导致用户手机耗电发热带来不良体验。
7流量
目前的网络类型包含2G\3G\4G\5G\wifi其中还有不同运营商的区分我们在APP的使用中经常遇到大资源重复请求调用响应慢调用失败等各种情况。在不同的网络类型之下我们不仅要控制流量使用还需要加快请求的响应。另外对于需要联网的手游来说部分游戏对不同联网方式的网络类型采用了不同的流量消耗策略主要分为wifi环境和蜂窝网络环境。所以针对不同的游戏我们统计流量消耗时可能要连接不同的网络进行测试。
七、常见的 adb 命令? 查看当前连接的设备adb devices 安装软件adb install 路径\xx.apk 卸载软件adb uninstall 包名 从电脑上发送文件到设备adb push 本地路径 远程路径 从设备上下载文件到电脑adb pull 远程路径 本地路径 实时获取日志adb logcat -v time D:\mylog.log 登录终端设备 shelladb shell 查找包名/活动名adb logcat | findstr START脚本中 cmp 后面的值就是 包名/activity 名称 启动 APP adb shell am start -n packageName/activity 关闭 app adb shell am force-stop 包名 监控 APP 启动时间 adb shell am start -W packageName/activity Monkey 命令adb shell monkey -v -p mypackage 50
以上就是今天的全部内容希望这份资料对大家有所帮助如果您有任何关于软件测试方面的问题不妨留言给我我将会及时为您解答。
写在最后 最后也希望各位能够在求职路上保持乐观、积极的心态不断提升自己用实力去获得未来的成功 如果你觉得文章还不错请大家 点赞、分享、留言 下因为这将是我持续输出更多优质文章的最强动力 看到这篇文章的人有觉得我的理解有误的地方也欢迎评论和探讨 你也可以加入下方的的群聊去和同行大神交流切磋