分享的主题:App专项测试--冲突测试 什么是冲突测试? 冲突测试是一种叫法,可能不同的公司叫法不同。我们所谓的冲突测试是指,在运行某一程序的功能时被第三方功能或者软件给干扰的测试。 该测试方法模拟的是一种基于软件状态场景的测试。从软件的运行状态来看,我们认为软件状态一般只有开始、挂起、结束,这三种状态。 冲突测试即为模拟干扰软件运行“开始”、“挂起”、“结束”状态的测试。 冲突测试的应用范围和一些应用场景? 冲突测试这种测试方法,常见于手机软件测试、移动通信类嵌入式软件测试等领域。 但在一些桌面软件或者Web系统测试领域当中也可应用,只是应用的场景并不如移动通信类软件这么广泛。 冲突测试应该在整个测试中的地位? 地位应该与边界值测试中的地位相同。 在设计测试用例时,也应较多的考虑这类测试。根据以往采用这种测试方法进行测试的经验来看,此类测试往往会引起一些较严重的问题。
前言 说到专项测试,大家的第一反应可能是流量测试、电量测试、弱网络测试等及其对应的专项测试工具。除了以上,关于专项测试我们还要知道: 1) 我应该在什么阶段去做专项测试。 4) 怎么样才算完成了专项测试。 下面我们就来聊聊专项测试在项目不同阶段的不同策略及专项基线、规范。 我们这提到的专项测试的流程和技术则是让业务组中的测试人员去实践的,针对某个模块做深入的专项测试,而不是用工具组那类集成的专项测试。 2) 需要去制订详细的专项测试计划。比如测试会选用哪些机型,哪些版本号,会测试哪些网络等。 3) 需要去深入了解被测产品到底有哪些需要专项特别注意的功能点。 在这个时间点,我们就需要进行最后一轮完整的专项测试了,根据我们最初定的专项测试计划即可。
耗电量测试 耗电量指标 待机时间成为关注指标 提示用户体验 通过不同的测试场景,找出APP高耗电的场景并解决 工具:battery-historian 测试步骤 使用batterystats生成(收集 收集数据 adb bugreport > bugreport.txt 打开localhost:9999 把txt数据上传 使用Battery historian分析数据 健壮性测试 用于测试系统在出现故障时 ,是否能够自动恢复或者忽略故障继续运行 测试点 对应该进行盲点 工具:Monkey Maxim 网络不佳 工具:Charles 数据不通 工具:Appcrawler 弱网测试 弱网存在的问题 封闭环境下,网速降低 丢包 数据无法加载 消息更新不及时等等 弱网速度 低于2G速率 3G 工具:Charles模拟弱网 常用不同网络环境的网速 最后 专项测试解决方案 APM方案:OneApn 听云 NewRelic Crash分析:腾讯Bugly Fabric LeakCanay:内存泄漏检测方案 BlockCanary:UI卡顿检测方案 弱网:测试云服务
李昶博 腾讯 专项技术测试组长 腾讯专项技术测试组长,专注9年性能测试,人称“性能哥”,腾讯公司2015年度优秀讲师。 前言 作者做了9年的性能测试,一直为腾讯 SNG 服务,经历了QQ、QZone、音乐等等项目。腾讯的职业发展通道,各位很熟悉了,这个岗位就是专项技术测试。今年会开拓一个新的领域,叫做音视频专项测试。 1、我们的专项测试方法论 1.1 专项质量体系 下图最左边的是全流程介入,所有流程都在里面有自己的方法论。 1.2 腾讯专项技术测试员工能力模型 腾讯的员工能力模型从实习生到外包都覆盖了,我在的岗位是专项技术测试,红色部分值得大家看,可能与其它公司有所不同。 我们测了这么多的指标,最后第二条各种专项指标,第三条就是各种专项分析工具,所以是全流程各种专项指标以及分析定位工具,这三者齐备就是一个成熟的专项测试团队。
作者简介: [1505463305960_4014_1505463306034.png] 李昶博 腾讯 专项技术测试组长 腾讯专项技术测试组长,专注9年性能测试,人称“性能哥”,腾讯公司2015年度优秀讲师 今年会开拓一个新的领域,叫做音视频专项测试。 1、我们的专项测试方法论 1.1 专项质量体系 下图最左边的是全流程介入,所有流程都在里面有自己的方法论。 1.2 腾讯专项技术测试员工能力模型 腾讯的员工能力模型从实习生到外包都覆盖了,我在的岗位是专项技术测试,红色部分值得大家看,可能与其它公司有所不同。 我们测了这么多的指标,最后第二条各种专项指标,第三条就是各种专项分析工具,所以是全流程各种专项指标以及分析定位工具,这三者齐备就是一个成熟的专项测试团队。 本文转载自 devops 社区
H5性能分析 加载一个页面的过程 资源加载指标 prompt for unload:访问一个新页面时,旧页面卸载完成的时间 redirect:重定向,用户注销登陆时返回主页面和跳转到其它的网站等 app cache:检查缓存,是否打开 DNS(域名系统):DNS查询的时间,如果是长连接或者请求文件来自缓存等本地存储则返回fetchStart时间点 TCP:与服务器建立链接的时间 request:浏览器发起请求的时间 response:拿到第一个响应字节到最后一个响应字节的时间 processing
App启动性能分析 测试思路 专项测试(用户维度) 崩溃(Crash,弱网)。 卡顿(掉帧、gc、cpu) 响应慢(启动时间、交互响应、H5加载) 发热 ( cpu,mem、io、network、gps等硬件使用) 掉电快(硬件占用) 兼容性问题(机型覆盖、回归) 专项测试(技术维度 ) 崩溃 自动遍历、monkey测试、横竖屏切换、快速进退。 卡顿(掉帧、gc、cpu) 卡顿测试、内存泄漏测试、method profile。 响应慢(启动时间、交互响应、H5加载)。 兼容性问题(机型覆盖、回归) 兼容性测试、自动化测试、自动遍历、monkey测试 APP性能 Activity启动流程 App启动性能指标 冷启动 建议时间:5秒 暖启动 建议时间:2
前言 当前主流的移动端APP测试,都离不开网络。 除了基本功能测试以外,针对网络这块的测试也越来越重视,下面一起来看看 一、安卓(Android)端的弱网络测试 通过在中转机器(Mac/笔记本、PC端)上创建无线AP,手机通过这个WIFI热点连接网络 二、IOS端的弱网络测试 IOS的弱网络测试也可以按照上面提到的方案,通过建立一个AP进行弱网络测试。 但除了这种方法外,IOS系统自身就可以模拟弱网络环境, 1. 另外还支持add a profile,自行设定网络参数值 三、借助Charles工具做弱网的测试 首先,打开Charles,在Throttle Settings中设置网络状况,比如: ? 参考【fiddler弱网测试】篇 五、移动端其他专项测试项(如:CPU、流量、电量、性能等) 参考【android app性能及专项测试】
前言 随着Html5的流行,现在很多业务场景使用H5页面来承载,使活动类、运营类的业务功能更便捷在微信、Native端部署,所以H5方面的测试也变得越来越重要。 ? H5业务测试流程图 一、H5测试基本点 1. ,可以考虑在线测试平台测试兼容性; 请求接口获取用户设备的型号信息,根据不同设备下发不同的适配页面; 部分页面能够通过Chrome浏览器开发者选项模拟屏幕尺寸信息; 4.安全相关 H5页面的投放渠道限制 ; 8.数据埋点 用于BI的数据埋点 二、常用工具 工欲善其事,必先利其器,在做H5前端性能测试之前,选择合适的工具能让我们的测试工作事半功倍。 我们可以快捷的测试出H5前端性能中数据,视图,并给出一定程度的优化建议。 ? 工具对比列表 工具使用详情请参考【H5前端性能测试快速入门】
02 做好专项测试 在梳理清楚了分层测试的基本思路后,我们再来聊聊专项测试,专项测试一般是指基于某些特别明确的目标而进行的测试。 从这个角度上讲,接口和UI也算是专项测试,一些常见的专项测试还包含:性能测试、安全测试、弱网测试、兼容性测试、健壮性测试等等。 接口专项测试:接口测试是测试人员接触、练习代码能力很好的一个入口。 并做好对于UI自动化测试的预期管理,它并不能一键傻瓜式地解决问题,需要有较好的前端规范,否则脚本维护会是个大问题。 性能专项测试:这些专项测试中,其实性能笔者是做得最久的,现在性能也得到了大家的关注。 所以弱网的专项测试还是非常有必要的。 其他专项测试:还有诸如兼容性测试、兼容性测试、健壮性测试等等,就不展开介绍了。 03 小 结 基于分层测试思路,我们在做专项测试时,需要有针对性地去做验证。
横向对比法:分两步测试,第一步测量手机硬件运行消耗的电量;第二步测试手机硬件和软件运行综合的耗电量。 二 IOS端耗电量测试 1 常规测试法 (1) 测试方法 ①选定测试场景及时长; ②手机充电,放电,手机电量达到预设值,每个场景开始前,保持电量都是这一电量,并且手机是室温; ③手机系统设置,一般关注蓝牙 (2) 测试结果准确性 这样的测试方法,明显的耗电问题可以发现,比如一次测试掉电10%,但是一些不太明显的问题用这个方法无法发现。另外这种测试方法没有具体的数据,实用性不强。 、个人热点关闭、后台进程全关闭; 进入APP,根据测试用例设计的测试场景进行测试; ⚠️注意事项: 电量测试如果是对比测试,两个版本的初始电量尽量保持一致; 每个场景开始执行和结束时,记录开始和结束的时间 (2) 耗电量数据收集 ①清理耗电量数据 ②运行测试用例/手工操作 使用monkey或appium来操作想要被测试的Android应用,最好就持续测试。
移动测试、 Android测试 、APP测试 ---- Android篇 1. 性能测试 Android性能测试分为两类: 1、一类为rom版本(系统)的性能测试 2、一类为应用app的性能测试 Android的app性能测试包括的测试项比如: 1、资源消耗 2、内存泄露 3、电量功耗 工具: (工具的原理都是基于调用android底层的一些api来获取到测试所用到的值)GT等 测试方法: 1、设计场景 :手工或自动化场景 2、获取数据:可获取的数据包括:内存、cpu、电量功耗、hprof 要达到30fps,每帧所占用的时间要小于33毫秒 GPU测试中的测试子项: 1、界面过度绘制 2、屏幕滑动帧速率 3、屏幕滑动平滑度 过度绘制测试:(人工进行测试) 打开开发者选项中的显示GPU过度绘制 , 使用高速相机或者手机采用录像的方法把应用启动过程给录制下来,然后通过人工数帧或者程序数帧的方式计算启动时间 2 弱网测试 测试方法: 1、使用真实的SIM卡、运营商网络来进行测试(移动无线测试中存在一些特别的
性能测试 Android性能测试分为两类: 1、一类为rom版本(系统)的性能测试 2、一类为应用app的性能测试 Android的app性能测试包括的测试项比如: 1、资源消耗 2、内存泄露 3、电量功耗 工具: (工具的原理都是基于调用android底层的一些api来获取到测试所用到的值)GT等 测试方法: 1、设计场景 :手工或自动化场景 2、获取数据:可获取的数据包括:内存、cpu、电量功耗、hprof 限制的时候出现OOM,需要在Manifest中的application标签中声明android:largeHeap=“true”,声明后应用dalvik heap达到heapsize的时候才会出现OOM 内存测试中的测试子项 要达到30fps,每帧所占用的时间要小于33毫秒 GPU测试中的测试子项: 1、界面过度绘制 2、屏幕滑动帧速率 3、屏幕滑动平滑度 过度绘制测试:(人工进行测试) 打开开发者选项中的显示GPU过度绘制 , 使用高速相机或者手机采用录像的方法把应用启动过程给录制下来,然后通过人工数帧或者程序数帧的方式计算启动时间 2 弱网测试 测试方法: 1、使用真实的SIM卡、运营商网络来进行测试(移动无线测试中存在一些特别的
读者提问:APP 兼容性测试怎么做 ? 阿常回答:分为三步走:1、选取主流机型+版本;2、对主流机型做功能验证;3、选一款机型做网络兼容测试。 三、一款机型做网络测试 挑选其中一款主流机型来做网络的兼容性测试。 覆盖网络模式包括:2G、3G、4G、5G、Wi-Fi。 阿常碎碎念:Android 设备兼容性很容易出现问题,阿常最近在测试过程中遇到的问题就不少,包括安装失败、启动失败、monkey 失败、升级失败、文字无法显示、不同分辨率 UI 样式问题等等。 这还只是试了 Android 三五款机型呢,如果跑 TOP 300 机型,估计问题会更多,Android 的 APP 兼容测试坑还是不少的。
在绝大部分的创业公司,性能测试基本上都是被遗忘的,他们认为功能测试和稳定性测试才是重点,而在中等规模的公司中一部分测试人员考虑进行性能测试,却无从下手。 压力测试后的内存使用情况 电量 功耗测试主要从以下几个方面入手进行测试: a、测试手机安装目标APK前后待机功耗无明显差异。 2类,一类为使用软件来测试,一类为使用硬件来测试。 网络流量 性能测试的——流量,当然我所指的性能测试是针对大部分应用而言的,可能还有部分应用会关注网速、弱网之类的测试。 应用中等负荷运行时的流量均值流量测试 流量测试一般都是用软件来进行的,这里我们一般分为2类: a、采用市场提供的第三方工具来进行测试,如流量宝 b、自研工具进行测试 自研工具进行测试一般包含 2 类方法
的页面是否有过度绘制问题,通过minicap和opencv图像识别做的;该工具还可以配合monkey的自动化运行,对有页面进行监控,对于有监控绘制的可能,会自动化截图; 其他话不多,重点在于实践及业务测试场景的使用 其中要注意测试过程一定要进入开发者模式,把过度绘制的开关打开,另外不要把过度绘制的标准为0或者超过100,关闭的时候,其余功能看下就明白了; 2.连接设备后,并确认设备已跟电脑连接上,可在dos下,输入
Hook 技术需要预先分析目标应用的源代码和逻辑,根据目标测试场景设置目标、逻辑和数据,然后运行时动态的对目标函数参数值、逻辑或者返回值做修改,达到修改现有函数逻辑、实现目标测试场景的目的。 Hook的价值 在测试中,虽然通过修改数据以实现测试场景的需求,大部分情况下都可以通过 Mock 技术实现,但是还有一小部分场景,例如需要修改应用内部函数的参数、返回值或运行逻辑等情况,这时就需要用到 单元测试之外,Mock 技术的主要作用是对服务、接口进行 Mock,通过代理等方式将被测服务发送到依赖服务的请求转发给 Mock 服务,再由 Mock 服务根据规则组装预期的返回数据响应给被测服务,达到预期的测试场景 provider EVENT_POOL_SUPPORT : DISABLE JVM-Sandbox 同时还会对外提供接口,可以通过请求直接操作 JVM-Sandbox,这样就能方便的与自己的测试代码结合使用 测试场景的构建、测试用例的执行都变得更加方便哦~
背景介绍 专项测试,桌面端应用程序使用过程中,对CPU,内存,磁盘使用率,网络流量进行监控并展现.
本文整理自 DevOpsDays2017.上海站演讲实录《腾讯的专项测试之道》 作者简介: 李昶博 腾讯 专项技术测试组长 腾讯专项技术测试组长,专注9年性能测试,人称“性能哥”,腾讯公司2015年度优秀讲师 前言 作者做了9年的性能测试,一直为腾讯 SNG 服务,经历了QQ、QZone、音乐等等项目。腾讯的职业发展通道,各位很熟悉了,这个岗位就是专项技术测试。今年会开拓一个新的领域,叫做音视频专项测试。 本文目录: 1、我们的专项测试方法论 1.1 专项质量体系 1.2 腾讯专项技术测试员工能力模型 1.3 速度体验评测模型 1.2 腾讯专项技术测试员工能力模型 腾讯的员工能力模型从实习生到外包都覆盖了,我在的岗位是专项技术测试,红色部分值得大家看,可能与其它公司有所不同。 我们测了这么多的指标,最后第二条各种专项指标,第三条就是各种专项分析工具,所以是全流程各种专项指标以及分析定位工具,这三者齐备就是一个成熟的专项测试团队。 END
图一 数通网络V**一般拓扑 图二 背靠背测试网络 同理,在移动APP测试范畴内,我们也需要进行可靠的竞品测试,验证自己产品提供的V**、proxy服务,性能是否优于竞品。 测试方法篇 延迟、带宽这类指标,都需要在大量样本上运用统计学进行分析才是有意义的。所以收集数据,是专项性能测试的第一步。 在简单的网络测试中,我们一般采用ICMP来进行网络延迟检测。 因为,笔者测试的测试目标是V**性能,在V**中,测试对象会拉起一个tun0的接口。如果使用getTotalRxBytes这两个方法,它们统计的流量就将tunnel口的收发数据也统计进来了。 MainActivity负责提供一些按钮触发测试;各个测试线程用来跑逻辑测试逻辑;DataSavaHandler负责将数据写入sdcard存成csv文件。 时延ms 样本A 样本B 均值 93.72 90.98 方差 42.42 78.02 中位数 86.50 68.00 这里反应的背景是,我们的测试并不像数通网络测试一样,将测试链路与真实通信链路隔开