- 博客(131)
- 资源 (6)
- 收藏
- 关注
原创 新的公司 新的起点------关于新入职的测试同学如何快速掌握业务
写在前面:咳咳,翻了下博客,发现已经有两个月没有写任何东西了,理由很简单:忙着旧公司的离职交接和找新工作。那么新的工作已经敲定了,成功进入了深圳的某BAT公司(撒花~~~),磨合了一周总算是大部分习惯了公司的文化,终于可以安静下来思考思考了。关于如何快速上手项目:刚入职接触的不仅仅是新项目,还有新的工作环境,再加上新项目接触的技术都是和以前方向不太一致的方向,或多或少心里会有一些焦虑。...
2018-05-20 11:57:46 2990 1
原创 基于用户上报数据的测试策略制定(umeng)
前言 在测试的过程中,你是否会有下面的几个烦恼?嗯,反正我有 。既然有烦恼,我们就应该解决它,今天就来分享一下一个测试策略的思路,帮助解决下面的问题用例的精简发版前checklist的优化版本发布太多,覆盖测试怎么办机型太多?兼容性很难测自动化主功能覆盖的依据专项测试的依据(性能、专项、压力).如何应对快速发版的压力如何最准确模拟用户环境和行为进行测试,完善测试点呢...
2018-03-05 18:22:25 2009 1
原创 2017总结----迷茫、痛苦和关于测试职业规划的一点光亮
今年这个迟来的总结,说实话,2017,很迷茫,然后过的非常不如意 倒不是上一年的职业目标没达到,而是接下来的路根本不知道如何走。在没解决这个问题之前,或者说没搞清楚自己的方向之前,是迟迟不能落笔的,啊不,应该是落键盘。下班后花了几天的时间研究了下测试的职业生涯规划,在许许多多的文章之中穿梭,结合前阵子和某公司t3级的大大面试,对自己接下来的几年职业规划,总算有了眉目,让恍惚的心总算
2018-01-29 18:25:21 2017 6
原创 一个面试题----android端流畅度除了滑动的时候统计fps外,静止的情况怎么统计?
最近面试的时候问到了一个小题目,关于android端流畅度的测量方法。我的回答是通过获取gfxinfo信息,然后计算一个单位时间内绘制的帧数,从而计算出fps的值。同时为了衡量稳定性,我通过对比测试方差的方式,衡量滑动的流畅度稳定性,最后,基于adb做成自动滑动、获取数据的脚本。但是面试官又问了另外一个问题—-关于静置的画面怎么衡量呢?如果用的是旧方法,那么静止的画面fps应该会变成0,那样岂
2018-01-08 18:24:05 1329
原创 测试效率优化案例----多国语言自动化校验工具(python)
今天分享的是质量保障过程中写的一个测试小工具—多国语言校验背景:1.我们的app支持多国语言,语言文件通过服务器动态拉取,而服务器的语言添加是运营人员手工添加的,完整性不能保证,而完整性的确实会导致你明明使用德语,结果却冒出中文的尴尬事件 2.由于是多国语言,需要依赖翻译公司把本土化的中文翻译成xx国,我们的语言文件使用了格式化字符:%s这样的格式化字符串,但是是给翻译公司,回来的结果经常会出现
2017-11-29 18:41:02 3011 3
原创 app复杂业务逻辑自动化验证案例分享
这两天公司没什么事情,赶紧总结一下上半年的学习成果,上一篇文章是介绍了上传专项测试,这一篇是通过自动化减少测试人力的案例,如果有任何建议请联系我。 专项测试案例–上传成功率对比专项测试 今天这一篇,会给大家分享app自动化在项目中验证复杂逻辑的应用。在上一阶段,是实现了UI自动化对主流程的监控,只有apk版本通过了基本的UI自动化用例,才可以提测,一定程度提高了转测的产品质量,提升了我们测试的
2017-11-06 18:14:41 1498
原创 专项测试案例--上传成功率对比专项测试
前言 今天分享一个专项测试的一个解决案例,是项目上一阵子重构后某逻辑模块的一次专项对比测试,最近终于有了时间,赶紧写下来。 然后,吐槽一下结果,对的,逻辑维持原样,无法推动任何人去做逻辑优化的事,也就是本篇提出的改进建议没有采纳。虽然创业公司不重视质量和测试,但是我还是坚持做下去。(气愤x3)目录分享上传专项测试 一 明确客户反馈的问题—-分享总是失败 二 结合竞品分析成功率低的原因
2017-11-06 13:07:02 992
原创 postman里面的mockserver使用方法
最近更新的时候postman推荐了个好玩的功能–mockserver。相信用过fiddle的同学都用过fiddle的mockserver,那可是测试工程师的神器,今天就来玩下postman里面的mockserver,做个记录。首先说下mockserver是干啥的,从英文翻译理解就是模拟一个服务器,通俗点说就是给你针对某个特定的接口,返回你自定义的返回值的工具,笔者是经常用在客户端对后台数据验证的模
2017-10-24 09:45:15 12730 1
原创 使用最新版本的androidjunitrunner运行测试用例报:xxx/R.txt (系统找不到指定的文件。)的解决方法
为了使用一些新特性,更新了测试框架,然后华丽地报错了:Error:Execution failed for task ':app:processUmengDebugDebugAndroidTestResources'.> java.io.FileNotFoundException: E:\project\air.app\app\build\intermediates\symbols\android
2017-10-16 17:00:37 2420
原创 内部分享---接口测试和py接口测试持续集成框架instaAPI
前言:探索的阶段至少到目前来说,总算是把接口测试走上正轨。要知道,在一个测试酱油的创业公司,你要引入一个测试技术,无非是困难的,申请一个测试服务器可以申请半年。当然最重要的是一直是一个人战斗,公司没有任何人给你指导,只能自己上网查、看、实践,过程是比较无助。前期: 项目前期,接口都是比较简单,基本上都是一个请求、一个响应,也没有过多的接口关联以及逻辑校验,这时候我用的是jmeter来实现自动化,图
2017-09-18 19:35:00 1051
原创 app UI自动化框架改进----使用pa设计模式抽离页面元素
之前写过一个基于robotium+androidjunitrunner+spoon的自动化框架,详见:基于junit4+Robotium+spoon+as二次开发自动化框架,支持失败重试和失败截图,但是呢最近和 @安静的偏执 聊了一会儿发现写的还是有些瑕疵的,并给了我些建议,是关于在UI自动化中如何更好的抽离封装元素。为了对比,我们来对比一下改进前后的效果:目录对比:写法对比:@Testpubl
2017-08-27 10:58:17 1470
原创 接口测试—-工具篇,实现接口自动化
今天来看下接口测试的两个方式,目前主流的做法有两种方式—-基于代码框架的和直接使用工具,那么本篇就这两种方式都来实现一下,为了说明情况,我们实现上一篇的前两个用例:直接请求readnotes接口数据和带上登录信息请求readnotes数据。 工具:使用的是jmeter 代码:使用的是python的unittest + requests + htmlreportrunner方式
2017-08-11 16:58:09 27176 1
原创 接口测试—-下篇,以/note/readnotes接口为例子详细介绍怎么做接口的
接口测试—-前言,接口是怎么来的 接口测试—-中篇,通过django实现一个记事本接口 接口测试—-下篇,以/note/readnotes接口为例子详细介绍怎么做接口的 接口测试—-工具篇,实现接口自动化那么通过上两篇文章的学习,我们了解接口开发的基本知识,接下来就是进入正文,怎么测试这些接口。接口测试的流程其实和我们实际功能测试的流程差不多: 需求分析—-用例编写—-执行测试我们
2017-08-09 18:51:30 1473
原创 android性能测试封装工具----ctrace4android,附性能测试的3个例子
在python3上重新封装了一个android用来性能测试获取指标的工具,以前写的比较杂乱,我自己都不想用 汗… 所以现在重新封装一个,相当于重写,也结合这一年来做性能加了一些新特性 :) 姑且是终结版了?主页https://github.com/CloudHuan/ctrace4android运行环境:Python3 + window10支持机型:小米、aosp系统(华为还在调,不同厂商获取数
2017-08-08 19:00:16 1848
原创 接口测试—-中篇,通过django实现一个非常简单的记事本接口
接口测试—-前言,接口是怎么来的 接口测试—-中篇,通过django实现一个记事本接口 接口测试—-下篇,开始接口测试 接口测试—-工具篇,实现接口自动化djangodjango是啥,那么django其实就是一个web框架,在接口测试—-上篇的某位,我们知道了实现一个接口就是去处理WSGI的处理函数,但是问题来了,只用那个函数每次写一个接口都要处理大量的重复代码,于是web框架就应运而生了,没
2017-08-06 16:02:56 2114
原创 接口测试----前言,接口是怎么来的
接口测试—-前言,接口是怎么来的 接口测试—-中篇,通过django实现一个记事本接口 接口测试—-下篇,开始接口测试 接口测试—-工具篇,实现接口自动化概要: 本篇将会介绍接口是啥,怎么来的以及接口测试的必要性接口是啥包括我自己在内,很多人初期接触接口都会认为接口是HTTP请求响应,这点没有错,但是接口这个概念在我个人理解却不仅仅限于HTTP接口。在我看来,接口指的是系统和系统之间的相
2017-08-05 20:48:35 1531
原创 接口测试--用例篇,如何编写app接口测试用例?
接口用例可以分为两个部分,单一的接口参数验证和多个关联接口的验证。包括我自己在内在做接口的初期,往往不自觉的把接口测试做成了业务测试,从而失去了接口测试的本质。这里以一个例子来说明:以我们公司的上传分享这个功能作为接口测试,这里的流程如下: 1.请求上传的key和地址 2.把资源的地址生成一个post,返回分享的地址(多张图片,都是必选,登录态,可选)我来说说以前我生成的用例: 用例1,请求上
2017-07-11 09:34:00 14425 1
原创 Jmeter自定义脚本实例(以项目中阿里云上传接口为例子的需求分析以及实现)
今天来介绍一下Jmeter的Java自定义脚本功能和在项目中的实际例子,因为是实际项目,所以有的接口不可避免的屏蔽掉,但是不影响整体阅读的 :)背景知识:在实际写之前,我们需要有jmeter自定义脚本的大概步骤,我们今天要做的无非就是这几个步骤: 1.通过eclipse编写代码,并生成jar包 2.把jar包导入到lib/ext目录下 3.在jmeter中生成一个java请求的
2017-06-20 20:10:28 2390
原创 jmeter压测----环境准备(PerfMon Metrics Collector and Server Agent原理和使用)
今天来讲一讲jmeter的压测环境准备。 我们知道进行压测其实就是模拟多并发请求给服务器,然后通过一些性能指标来综合评估服务器所能承受的压力。 在去jmeter官网下载客户端后,是已经自带有压力测试的相关组件的了,执行压测后的聚合报告已经拿到我们的需要的各种响应时间参数了,已经足够我们定位到一个粗略的压测值,那么为了更好的定位和分析瓶颈,还要看的是服务器的相关性能指标,比如cpu、内存
2017-05-31 18:19:06 12345 2
原创 初识jemeter和第一个例子
> 一小个题外话:一开始使用jmeter的目的是做接口测试,后来随着学习的深入发现jmeter是如此强大的一个工具,其自由定制和灵活程度完全不亚于现在主流的框架(比如用testng做接口这类的)。学习也有一段时间了,项目也终于用起来了,所以针对前阵子的学习做个总结,也好久没写博客了 -.-介绍:(懒人就抄了百度百科了)> JMeter的作用1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以
2017-05-24 18:34:12 1048
原创 基于junit4+Robotium+spoon+as二次开发自动化框架,支持失败重试和失败截图
背景: 对于一个硬件连接项目,底层gg终于开发出mock流的库,后续的许多测试都可以进行了。对于自动化,在云测的机型兼容和本地的主流程验证其实还是起到比较重要的作用的,但是app的UI自动化这个东西本身就是一大坑,无论是成功率还是投入的人力成本,发展到现在也依然是一个问号,不过东西还是要做的,至少对于个人帮助还是很大的… … 本篇分享的是在公司已经完成的一个二次开发的自动化框架,基于as
2017-05-06 18:44:16 1383
原创 Robotium中webview源码分析
记得好久以前分析了robotium对native控件的支持,最近在研究webview的测试,所以继续看下robotium对webview部分的支持。那么我们稍微复习一下上次分析到结论: 1.利用decoderView获取控件树的方式完成对控件的查找 2.最后调用的instrumentation的inject注入event事件完成对控件的操作 3.利用junit的assert类或者h
2017-04-06 18:36:17 637
原创 音视频采集封装到直播推流原理
上次好早之前也写过一篇,随着工作的深入对这块知识又巩固了一遍,算是一个重写和扩展版 旧的总结跳转,那么有啥不同呢? 1. 介绍协议的优缺点以及怎么选择 2. 会介绍压缩编码的原理 3. 测试关注的质量指标那么基本框架其实是不变的,都是采集–压缩编码–封装–推流–分发–流媒体协议观看把架构图重新画了一遍,比上次精细了许多,重写版就是基于这个框架的深入介绍采集我们知道计算机都是
2017-03-30 11:55:42 11362
原创 使用Navigation timing api测试android webview性能
那么在移动互联网发展到今天,native界面测试已经成为传统,webview+natvie模式已经渐渐来到我们身边,目前市面上也有许许多多hybird类应用,并且我认为这也是未来的趋势,当然最大的好处就是更新成本低,直接更新h5就行了,同时也具有插件化的一些优点。webview访问基本流程上图是一个一般的http访问流程,但是考虑到可能有重定向这个东西,所以以下面的图为准重定向:这一过程其实也走了
2017-03-22 18:25:51 2376
原创 java excel api(jxl.jar)库基础操作学习
读取excel JExcelApi支持从文件和输入流读取excel表格。要想读取excel第一步你应该创建一个Workbook:import java.io.File; import java.util.Date; import jxl.*; ... Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));(需要注意的
2017-03-11 14:11:51 3601
原创 记录一次面试之旅和失败总结
当听到没过的时候心情还是有点失落了,毕竟这两年来也算努力过,用心去做过。 不过当时最后一面面完也确实知道自己表现了,因为之前也跑去试过除了bat之下的两家,也属于是互联网前10的公司,都收到offer了,可能感觉有点沾沾自喜,有点自信了,直到这次的打击,唉,心态最重要啊。好了,一些感言讲完了,下面总结一下这次的面试吧基本流程组员–组长–总监–经理–hr 一般说的是5面,不过我纳闷的是第五面
2017-03-09 18:04:11 682
原创 初识web自动化--webdriver
那么目前用的比较多的web自动化框架无非就是QTP和selenium了。 当然主要的区别就是一个收费,一个开源免费了,qtp对界面支持比较好,并且发展了这么多年,各方面都是应该非常完善的。webdriver则是一个规范,可以和多种框架结合,更加自由、灵活,要学习的话选择selenium是最为适合的,而且app端的一个自动化框架appium正是基于webdriver协议规范去写的,appium在最近
2017-03-06 18:23:34 823
原创 设计模式笔记之----策略模式
策略模式属于 行为型模式,属于比较简单的一个模式了,顾名思义,是把策略封装起来的模式,然后使用的时候传入策略对象,就会执行相应的方法了。例子就是,假如我是动物饲养员,然后每一种动物都有一个策略去喂养,于是我们把喂养的策略封装成N个喂养说明的小本子,当去喂一个动物的时候就拿对应的说明去喂养。代码: 首先定义一个策略的接口,接下来的几个策略都实现这个接口:package StrategyPattern
2017-02-07 21:33:11 424
原创 测试方法分析和总结2.0
功能测试层面经过两年多的踩坑和总结,测试思路基本稳定下来了。工作一年的时候有过一次测试方法和测试思路的总结,本篇正是在这篇基础上的扩充完善,基础思路就这么多,剩下的只是根据项目变化,所以命名为2.0的总结 :) 每一个优秀的测试人员都会在工作中形成自己测试方法—我刚毕业的时候一个大牛和我说的一句话,影响至今测试模式?建模!在编程中我们把一类问题的解决方法抽象成设计模式,那么测试也是一样的,可以
2017-02-04 17:08:11 869 1
原创 设计模式笔记之----适配器模式
今天继续花两小时学一下设计模式,学习的是适配器模式。直接上例子: 1.android开发里面的适配器 2.inputstreamReader/outputstreamWriter的转换流 那么可以看出适配器模式是为了让老接口兼容新接口而产生的,也就是匹配,转换。代码: Target.java定义了一个接口,代表的是新接口Adaptee.java定义了旧功能的方法,需要我们想办法
2017-01-31 11:31:44 385
原创 设计模式笔记之----工厂模式
咳咳,今天继续学习设计模式中的工厂模式。那么工厂模式是为了创建和调用相分离的(new的过程在工厂类,调用者只要调用工厂方法声明去创造就行了),主要是为了创建一个产品的不同方式封装。主要有下面3个类型: 1.简单工厂模式 2.工厂方法模式 3.抽象工厂模式简单工厂应该是用的最多,并且也是最简单的模式,只需要把对象生成的方法放在一个工厂类就行了,比如我们android开发的bitma
2017-01-28 21:57:40 409
原创 设计模式笔记之----单例模式
单例用的就比较多并且广了,说的是 某个单例类,只在内存中创建唯一一个实例,比如android中application,只有一个实例,只初始化一次,又比如window的资源管理器,不管你开多少个,永远只有一个在运行。好处是节省资源,尤其是对于频繁访问的类。 要写单例模式,我认为最重要的是什么时候实例化这个类,有以下几种可以: 1.类初始化就产生实例 2.在方法里面写,类初始化实例化,
2017-01-27 14:57:28 328
原创 设计模式笔记之----建造者模式
基础:概念:建造者模式是为了创建一个复杂对象用的,多复杂呢,有很多零件,很多步骤,并且可能还需要兼容不同步骤,不同原料。它把构建单个独立的原件builder和装饰director过程相分离。那么不同原件和不同装配者都可以建造出不同的产品来。 举个例子,比如KFC的汉堡,全国各地的味道都一样,那是因为配方原件是一样的,并且原料相加也是一样的,所以最终产品是一样的。那个配方,有面包,有芝士,有炸鸡腿
2017-01-27 14:35:43 350
原创 jenkins和linux环境配置遇到的几个注意点 && linux命令行下载历史android sdk
服务器申请下来了,啥玩意都没有,以前都是用别人的,从0搭建起来才发现处处是坑,先记录下来,作为以后备忘jenkins的几个注意点:1.jdk和jenkins的安装包最好用最新的,否则会造成未知错误,比如坑爹的5032.使用rpm安装jenkins的几个目录:/usr/lib/jenkins/jenkins.war WAR包 /etc/sysconfig/jenkins 配置文件/
2017-01-11 17:54:50 1016
原创 你好,2017----积累收获和展望
嗯,算是正式的第一次写总结,之所以以前不写,想一想,大概是因为工作年限不足、技能水平太低,导致写出来的东西没有深度,也没有什么意义。那么一路走来,到此时此刻,厚着脸皮,姑且把自己称为一个合格优秀的测试工程师吧。回顾一下自己的工作历程吧:刚毕业上海微创外包,负责的是腾讯的项目,职位是系统测试工程师。 现在回想起来真的非常幸运,因为一毕业就进到了一个流程非常规范,组员之间的气氛非常和睦的大家庭当中,
2016-12-31 22:09:47 1239
原创 互联网项目团队成员及能力组成的金字塔和倒金字塔模型
为啥有这篇文章?本来嘛,还没上升到模型理论这个高度,更多的只是吐槽。加入了个创业公司,app刚起步,作为一个有经验的测试(笑),对所在团队人员组成以及能力突然有了自己的看法,再结合以前刚毕业所在公司的非创业项目组的经验,于是便有了这篇文章,人员只覆盖了产品测试开发这三个最相关最核心的职能,其他的没有深入了解也就不多说。 本文仅代表个人观点,本人不负法律责任。
2016-12-26 12:58:27 5277
原创 测试开发之----给你的apk加上时间分片的log记录
那么这个示例会演示如何给你自己的apk加上log记录功能,之所以会有这一个,是因为当前所在项目在测试过程中是无法通过usb线连接电脑的(被硬件占了),远程调试也可以,但是会占用端口切来切去麻烦,并且速度非常慢。于是考虑能不能够把log日志分时间段记录在sd卡,这样出问题可以直接获取日志,同时也可以为后续的持续集成log上传打下良好基础。 PS:请无视项目名字,我懒得改了,因为一开始是匹配自己项
2016-12-02 20:16:33 1217
原创 Android官方6季性能调优典范的导图和分类总结导图
这是6季的思维导图 这是抽取的并分类过的 只是随性写的 没有校对过 作为学习的一个成果展示,可以发现很多文章总结的都不够全 这个够全了
2016-11-11 17:39:24 623
原创 音视频采集封装到直播推流的简单原理
那么今天要分享的主要是两个内容,第一个是对硬件采集的资源怎么做一个打包封装,另一个是处理完成的资源如何直播,作为在日常业务测试线的一个业务逻辑扩展,纯粹个人理解,所以不会有一些深入的讲解,毕竟网上的文章够多了。直接用visio花了一张图: 一、采集 && 封装针对手机外接硬件的一个音视频采集,采集到的都是原始数据,那么这些数据经过一系列的处理,封装成用户可以直接播放的文件,比如mp4、mkv等等
2016-11-08 18:16:31 8095
第二次复习课练习源码
2015-09-27
startService和BoundService音乐播放DEMO
2015-09-12
Instrumentation框架源码
2015-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人