
测试成长之路
文章平均质量分 75
涵盖职业生涯前三年所有关于测试相关的文章。从自动化工程师开始,做过Android UI自动化遍历工具,C/S架构的用例执行框架,MTBF框架,Android专项测试(性能,安全,接口,稳定性),到后期的平台建设。
Q博士
原先的技术宅,现在的生活宅,心态决定年龄
展开
-
facebook网络环境模拟工具atc
本来想自己制作一个atc的images,搜了一下docker hub,发现2015.5.15日有人发布了该工具的镜像,这下方便了。Docker hub地址Image启动镜像docker run -it --privileged --net=host --rm atcd/atc 会自动检查,如果本地存在,会直接启动,如果本地没有就会从云端下载。58deMacBook-Pro:docker wuxia原创 2015-07-02 15:05:58 · 3105 阅读 · 0 评论 -
新手玩Docker
参考资料chenhengjie123 环境我用的是Mac系统,所以需要通过Boot2docker来引导,然后需要virtualBox VM启动docker,所以可想而知我们的程序需要3个组件.dockerboot2dockerVirtualBoxdocker和boot2docker可以通过命令行安装,也可以通过安装包安装,但是别忘了VirtualBox VM的安装哦,安装后就是小面的小图标原创 2015-06-16 00:21:41 · 1419 阅读 · 0 评论 -
Android studio 1.0.1中Run with --stacktrace option to get the stack trace. Run with --info or --debug
提示信息Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.其实是让你去查看更多的log信息。找到你项目的根目录,比如你的项目是MyApplication,在dos命令下进入该目录执行gradlew原创 2014-12-24 17:20:32 · 52684 阅读 · 6 评论 -
mac 下搭建android studio 1.0
1.我的系统有jdk环境qianhuis-Mac-mini:~ qianhui$ java -versionjava version "1.7.0_60-ea"Java(TM) SE Runtime Environment (build 1.7.0_60-ea-b15)Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixe原创 2014-12-13 08:33:01 · 1655 阅读 · 0 评论 -
MonkeyTalk实践
在testerhome上看到了几篇关于MonkeyTalk的文章,利用周末好好学学习一下。IDE下载地址下载成功后安装,目录结构如下:打开ide,界面如下:创建android测试项目 创建一个测试项目,选择android节点。配置sdk路径和待测应用,这里我们选择ide自带的测试项目,省的我原创 2015-01-18 14:56:16 · 2279 阅读 · 0 评论 -
Cts框架解析(4)-任务的添加
Debug原创 2014-10-19 17:42:56 · 5813 阅读 · 0 评论 -
Cts框架解析(3)-基础库tradefederation配置
cts是建立在tradefederation项目上的,cts中的tradefed-prebuild.jar就是该项目编译后的jar包。在debug调试的时候少不了这个项目,所以现在开始把这个项目添加到eclipse中。下载如果有可以翻墙的话,建议下载最新的版本,我上传的tradefederation应该不是最新的,但是我翻不了墙,所以还是拿这个项目debug.下原创 2014-10-18 13:22:26 · 5663 阅读 · 0 评论 -
Cts框架解析(17)-fastboot状态监听器
Fastboot状态监听器原创 2014-12-10 14:53:47 · 2436 阅读 · 0 评论 -
Cts框架解析(1)-windows下cts配置
cts工具的下载地址:http://source.android.com/compatibility/downloads.html原创 2014-10-17 10:42:06 · 15928 阅读 · 9 评论 -
Cts框架解析(24)-case的组织
UML图解释上图涉及5个类:ddmlib提供的TestIdentifier类,cts自定义的IRemoteTest接口、ITestPackageDef接口、TestFilter类和TestPackage类。具体意义如下:TestIdentifierddmlib为我们提供的属于instrumentation测试的case实体类,里面原创 2015-01-17 20:59:23 · 3239 阅读 · 0 评论 -
Cts框架解析(5)-9大组件配置
解析配置文件Cts框架分为9大部分:cmd_options:命令行接受的参数选项,command包中。device_requirements:设备相关要求,device包中device_options:设备参数,device包中builde_provider:版本提供者,build包中target_preparer:预置条件准备,targetprep包中原创 2014-10-20 17:21:43 · 5423 阅读 · 2 评论 -
Cts框架解析(16)-logcat信息收集系统
Log收集系统涉及三个类LogcatReceiverlog收集器的外观类,包装了后台执行线程和log内容接收器/* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "Licen原创 2014-12-10 00:20:27 · 4162 阅读 · 0 评论 -
Cts框架解析(8)-IBuildProvider
IBuildProvider接口中定义了三个方法/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in comp原创 2014-10-22 10:29:56 · 3311 阅读 · 0 评论 -
Cts框架解析(6)-任务的执行
前两篇讲了任务的添加和9大项配置,这篇讲任务的执行。任务的执行任务的执行在CommandScheduler的run方法中,所以删除所有的断点,在run方法中打上断点,重启启动debug:先看while循环下面的第一行代码ExecutableCommand cmd = dequeueConfigCommand();private Exe原创 2014-10-21 16:13:11 · 3989 阅读 · 0 评论 -
Cts框架解析(22)-自动检测设备
感慨 经过三个月的蹉跎,项目终于可以推出1.0版本。中间经历过很多坑,中途我们的主程离职走了,我硬着头皮接替了他的工作,从cts框架的启动开始,一点一点地研究源码,debug来debug去,一点一点的理解其中的思想,到现在已经能在cts的框架的基础上做二次开发,能简单的认识到cts处理方式。很有幸我一进入自动化领域首先认识的是cts这套框架,随着研究的深入越来越佩服开发这套框架的googl原创 2015-01-17 20:37:05 · 2709 阅读 · 0 评论 -
Cts框架解析(9)-IDeviceRecovery
当设备处于offline状态时,cts框架就要调用IDeviceRecovery接口类去做相应的恢复工作。接口/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License");原创 2014-10-22 10:53:20 · 3581 阅读 · 0 评论 -
Cts框架解析(10)-TestDeviceOptions
设备参数的意思是说,在执行过程中,对被测设备的强制原创 2014-10-22 11:08:32 · 2854 阅读 · 0 评论 -
Cts框架解析(11)-ICommandOptions
命令行选项就是你在敲run cts --plan UI命令时可以再跟一个参数,比如在debug的原创 2014-10-22 14:22:29 · 3679 阅读 · 0 评论 -
Cts框架解析(18)-设备恢复
设备恢复类关系理解4个分类中,AbortRecovery和StubDeviceRecovery2个类都是直接继承方法,直接做报错处理。但是报错的信息体现了他们的不同点,一个是放弃恢复,一个是不能恢复。还有客观世界中的区别:好比在说,我能上清华,只是我不上而已。那么就剩下另外2个类。ReconnectingRecovery和WaitDevi原创 2014-12-10 16:46:05 · 3734 阅读 · 0 评论 -
Cts框架解析(19)-设备状态的分类以及恢复模式的分类
设备状态类图枚举 : TestDeviceState,其实是adb中DeviceState扩展而来。1.FASTBOOT:线刷状态(根据fastboot监听器获得经过设置)2.ONLINE:在线状态(根据DeviceState值转化而来)3.OFFLINE:离线状态(根据DeviceState值转化而来)4.RECOVERY:卡刷状态(根据D原创 2014-12-10 18:35:18 · 2902 阅读 · 0 评论 -
Cts框架解析(12)-ITargetPreparer
测试开启前的设备系统准备工作。接口/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compl原创 2014-10-22 14:55:18 · 4010 阅读 · 0 评论 -
Cts框架解析(13)-任务执行过程
因为测试任务是个很复杂的过程,所以要单独拿出来讲,里面还涉及了result_reporter的内容。所以这是一个大块。首先把断点打在CtsTest的run方法中,删除其他断点,重新启动debug模式:首先会调用checkFields检查一下命令行参数。然后生成plan里的包名信息。(要理解plan的意思,plan就是cts目录下plan文件下的xml文件,它里面配置的e原创 2014-10-22 17:10:14 · 3606 阅读 · 0 评论 -
Cts框架解析(14)-任务执行过程
上一篇文章我们已经知道testcases目录中xml配置文件读取出来后的形式,继续往下看:然后把xml对应的TestPackageDef保存到Map中,所以我们可以这样说,TestPackageDef就代表了一个testcases目录下的xml文件。所以有多少个xml文件就有多少个TestPackageDef对象,然后将这些对象保存到map中。key值为xml的appNam原创 2014-10-22 19:42:44 · 4018 阅读 · 2 评论 -
Cts框架解析(20)-cts自身log系统
Log系统log系统中类图在cts的log包中。log系统的入口入口类为CLog。采用的是代理模式,被代理的类是DDM内部的Log类。CLogpublic static class CLog { /** * The shim version of {@link Log#v(原创 2014-12-22 15:17:40 · 4428 阅读 · 0 评论 -
Cts框架解析(2)-cts调试环境的搭建
上一篇文章中说了如何在windows搭建cts以及运行cts进行测试。这篇文章来讲讲如何在eclipse中配置源码,进行debug调试。下载cts源码地址:https://android.googlesource.com/platform/cts可以使用git下载到本地。目录结构在tools文件夹下有一个项目:tradefed-hos原创 2014-10-17 14:40:49 · 6715 阅读 · 7 评论 -
Cts框架解析(15)-任务执行完
case执行完毕后,会回到CtsTest的run方法中:这个时候会先将mRemainingTestPkgs列表的第一项移除,以便下一次取第一个的时候,取的是新的TestPackage对象,然后根据case的类别来做相应的重启操作,最后返回到主界面。最后,截图留下犯罪现场,下载之前安装的jar包。在finally语句块中report未执行的case。为执行的case是通过执行原创 2014-10-23 14:11:08 · 2497 阅读 · 0 评论 -
Cts框架解析(21)-测试结果收集系统
1.UML图2.解释cts框架中将case的执行和case结果的收集分成了独立的2个部分,我们称case的结果的收集叫测试结果收集器。设计的思路来源为ddmlib中的ITestRunListener接口,该接口是一个抽象的观察者组件,cts创建有很多的具体的组件。但是这些组件不是一个一个去注册成为监听者的,而是在run的时候传递给ddmlib中RemoteAnd原创 2015-01-17 18:44:21 · 2869 阅读 · 0 评论 -
Cts框架解析(23)-设备分类
1111原创 2015-01-17 20:48:52 · 2083 阅读 · 0 评论 -
Cts框架解析(7)-任务执行的调度室
调度室-TestInvocation/** * {@inheritDoc} */ @Override public void invoke(ITestDevice device, IConfiguration config, IRescheduler rescheduler) throws DeviceNotAvailableException, Throwable { try原创 2014-10-21 19:49:02 · 4557 阅读 · 3 评论 -
Android性能专项测试之battery-historian试用
数据准备battery-historian工具需要使用bugreport中的Battery History 数据,我们在开始的时候需要通过以下命令来打开电池数据的获取以及重置:adb shell dumpsys batterystats --enable full-wake-historyshell dumpsys batterystats --reset执行的效果如下:上面的操作相当于初始化原创 2015-03-09 09:31:16 · 25182 阅读 · 11 评论 -
Android性能专项测试之Memory Monitor工具
参考文章: Memory Monitor WalkthroughMemory Monitor能做什么?实时查看App的内存分配情况快速判断App是否由于GC操作造成卡顿快速判断App的Crash是否是因为超出了内存Memory Monitor使用准备开发者选项可用USB调试开启备注:Android Studio的Enable ADB Integration勾选(Tools/An原创 2015-09-24 17:59:23 · 33347 阅读 · 4 评论 -
Android性能专项测试之Heap Viewer工具
参考文章:Heap Viewer Android 内存监测工具 DDMS –> Heap 使用DDMS中的内存监测工具Heap来优化内存Heap Viewer能做什么?实时查看App分配的内存大小和空闲内存大小发现Memory LeaksHeap Viewer使用条件5.0以上的系统,包括5.0开发者选项可用Heap Viewer启动可以直接在Android studio原创 2015-09-25 16:34:12 · 7760 阅读 · 3 评论 -
Android性能专项测试之Allocation Tracker(Device Monitor)
Allocation Tracker WalkthroughAllocation Tracker 能做什么?追踪内存分配信息,按顺序排列,这样我们就能清晰看出来某一个操作的内存是如何一步一步分配出来的。Allocation Tracker面板各名称的含义如下: 名称 意义 Alloc Order 分配序列 Allocation Size 分配的大小 Allocated C原创 2015-09-26 12:25:10 · 8185 阅读 · 3 评论 -
Android性能专项测试之Allocation Tracker(Android Studio)
Speed up your app Android Studio版的特点Allocation Tracker(AS)工具比Allocation Tracker(Eclipse)工具强大的地方是更炫酷,更清晰,但是能做的事情都是一样的。Allocation Tracker启动在内存图中点击途中标红的部分,启动追踪,再次点击就是停止追踪,随后自动生成一个alloc结尾的文件,这个文件就记录了这次追踪到原创 2015-09-26 21:52:58 · 14992 阅读 · 3 评论 -
Android性能专项测试之Heap Snapshot工具
Speed up your appHeap Snapshot能做什么?获取Java堆内存详细信息,可以分析出内存泄漏的问题Heap Dump启动在内存面包中,点击图中红色标注的按钮,就会显示我们的Heap Snapshot面包Heap Snapshot面板Heap Snapshot详细信息面板 该面板里的信息可以有三种类型:app heap/image heap/zygote heap. 分别原创 2015-10-09 17:25:19 · 10078 阅读 · 4 评论 -
Android性能专项测试之TraceView工具(Device Monitor)
参考文章: Traceview Walkthrough Android 编程下的 TraceView 简介及其案例实战 正确使用Android性能分析工具——TraceView Android内存使用分析和程序性能分析TraceView工具能做什么?从代码层面分析性能问题,针对每个方法来分析,比如当我们发现我们的应用出现卡顿的时候,我们可以来分析出现卡顿时在方法的调用上有没有很耗原创 2015-09-30 18:37:31 · 9835 阅读 · 6 评论 -
Android性能专项测试之MAT
参考文章: Android内存优化之二:MAT使用进阶 Android内存优化之一:MAT使用入门 MAT中的Bitmap图像 10 Tips for using the Eclipse Memory AnalyzerMAT使用MAT工具全称为Memory Analyzer Tool,一款详细分析Java堆内存的工具,该工具非常强大,为了使用该工具,我们需要hprof文件原创 2015-10-05 15:51:43 · 4242 阅读 · 0 评论 -
Android性能专项测试之Systrace工具
Systrace Walkthrough Systrace Analyzing UI Performance with SystraceSystrace能做什么?计算容器的性能发现性能的瓶颈Systrace的使用准备4.1以上rootAndroid SDK Tools 20python环境Systrace启动你可以通过命令行或者Device Monitor两种方式收集S原创 2015-10-08 16:17:01 · 11777 阅读 · 5 评论 -
Android性能专项测试之GPU Monitor
Testing Display Performance Speed up your appGPU Profile能做什么?分析GPU的性能,实时查看绘制每一帧所花费的时间GPU Profile使用准备root 手机开发者选项中的Gpu profile开关打开Android Studio 1.4+GPU Profile启动在Android Monitor中点击GPU,就已经打开了该工具原创 2015-10-09 13:49:11 · 15895 阅读 · 0 评论 -
Android性能专项测试之Network monitor
Network monitor工具能做什么?实时监控上传和接收的网速Network monitor使用条件root手机Android studio 1.4+Network monitor开启Tx:上传网速 Rx:接受网速原创 2015-10-09 14:56:12 · 6844 阅读 · 0 评论