- 博客(42)
- 资源 (31)
- 问答 (2)
- 收藏
- 关注
转载 做UI自动化一定要跨过这些坑
一、引子 UI自动化,在移动互联网时代的今天,一直都是在各大测试测试社区最为火爆的一个TOPIC。甚至在测试同行面前一提起自动化,大家就会自然而然的问:“恩,你们是用的什么框架?appium?还是robotium?” 其实在笔者看来,UI自动化是一个ROI较低的测试项(ROI即return on investment,中文意思是投资回报率)。但UI自动化相比接口
2017-06-14 10:24:43 2560
原创 STF环境搭建&运行及踩坑记录
最初是在centos环境上搭建STF,由于种种依赖缺失、nodejs/npm版本不兼容、以及无解的“Segmentation fault (core dumped)”错误,最终还是以失败告终,转战Mac平台。踩坑记录写在搭建运行的后面,Linux 及 Mac中的坑都有涉及,由于文章篇幅较长,读者可自行查看所需。 一、STF是什么 STF (or Smartphone Test Farm) is
2017-06-14 10:19:58 17117
原创 jenkins + Git 搭建持续集成环境
持续集成通过自动化构建、自动化测试以及自动化部署加上较高的集成频率保证了开发系统中的问题能迅速被发现和修复,降低了集成失败的风险,使得系统在开发中始终保持在一个稳定健康的集成状态。jenkins是目前广泛应用的持续集成工具,本文记录我使用jenkins+Git配置持续集成环境的整个流程以及踩到的坑(jenkins过程的坑往往不是在第一次配置,而是在配置结束后更改某些配置项的时候踩到)。 总体
2017-06-14 10:19:52 593
原创 解读Android官方MVP项目单元测试
Google在3月份推出了一个项目,用来介绍Android MVP架构的各种组合,可以认为是官方在这方面的最佳实践。令人称道的是除了MVP本身之外,这些工程配备了极其完善的单元测试用例,学习价值极高。本文着重针对todo-mvp的单元测试进行解读。官方MVP项目的Github地址是: https://github.com/googlesamples/android-architecture 写
2017-06-14 10:19:48 405
原创 需求变更应对之道
项目需求变更规范 一、需求变更的原因分析 需求变更可能来自方案服务商、客户或BD等,也可能来源于项目组内部。而需求变更的表现形式是多方面的,如老板临时改变想法、需求插入,某一功能需求的增加或减少、客户对功能的需求改变等。对于任何项目,变更都无可避免,也无从逃避,只能积极应对。 二、如何控制需求变更 在版本的启动、实施、收尾三个生命周期过程中,需求变更的控制不应该只是在实施过程中才考
2017-06-14 10:19:45 754
原创 移动无线测试技能树
常用IDE Android ADT Android Studio iOS Xcode Common Atom Sublime Text Vim Visual Studio Code 基础知识
2017-06-14 10:19:43 271
原创 Appium环境搭建
Appium环境搭建.docxAppium环境搭建.docx一、安装JDK并配置环境变量 1、 在Java官方网站上下载相应系统的jdk文件安装,全部选择默认的安装路径即可安装完成。 2、 配置JAVA_HOME 新建 JAVA_HOME 环境变量,变量值是自己安装JDK 的路径,我的是:D:\Java\jdk1.7.0 3、 配置ClASSPATH 新建 CLAS
2017-06-14 10:19:39 5384
原创 使用 MySQLi 和 PDO 向 MySQL 插入数据
注意: 如果列设置 AUTO_INCREMENT (如 "id" 列) 或 TIMESTAMP (如 "reg_date" 列),,我们就不需要在 SQL 查询语句中指定值; MySQL 会自动为该列添加值。 以下实例向 "MyGuests" 表添加了新的记录: 实例 (MySQLi - 面向对象) $servername = "localhost"; $usernam
2017-06-14 10:19:36 544
原创 错误集锦之一:This Activity already has an action bar supplied by the window decor.
异常信息: Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to fal
2017-06-14 10:19:33 299
原创 Appium Android UI自动化简介 + 实战
脚本SVN地址: https://svn.xxx.com/app/search/xxx/trunk/qa/%e8%87%aa%e5%8a%a8%e5%8c%96case/android/ 一、自动化比较适合的场景 1、稳定迭代; 2、回归阶段;回归上一版功能,对新功能不适用。 3、研发驱动的底层代码重构; 不适合case:无网、支付、需要数据准备的case 二、Appium简介
2017-06-14 10:19:29 589
原创 使用mysqli方式进行数据库查询
一、mysql与mysqli的概念相关: 1、mysql与mysqli都是php方面的函数集,与mysql数据库关联不大。 2、在php5版本之前,一般是用php的mysql函数去驱动mysql数据库的,比如mysql_query()的函数,属于面向过程3、在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_quer
2017-06-14 10:19:26 2471
原创 移动App崩溃测试用例设计
我们的日常生活中对移动设备越来越多的使用意味着移动App测试这个主题已成为需要考虑的一个无法避免的问题。根据最近的调查研究,用户难以容忍有bug的移动App。 移动App Bug的影响是用户体验差、App的商店评级下降、用户换用竞争对手的App,声誉和信誉损失、最后销售量减少,如果它是一个付费App的话。 移动App测试与传统台式机测试相比有一定的复杂性。这些复杂性可以被分类为: 环境(大量
2017-06-14 10:19:17 521
原创 弱网测试方法整理
弱网测试要点 方法 方法一:利用抓包工具charles进行弱网设置,适用PC端和移动端(IOS/Android) 1.以charles 4.0版本为例,打开Proxy->Throttle Settings 2.打开Throttle Settings界面如下 3.charles的预设已经有常用的网速模拟设置,根据需要设置即可,当然也可以自己添加预设,自己去研
2017-06-14 10:19:13 900
原创 服务端压力测试工具选型的一些经验
以下内容为360QA服务端性能专项团队结合项目实践,对团队中当前应用的六款服务端压力测试工具Loadrunner、Jmeter、SpirentAvalanche、Siege、Tsung、Locust进行分析对比。 ● 六款工具特点对比 ● 实际案例选型分析 【场景1】 业务接口使用标准HTTP交互json类型数据,该接口承载多用户并发
2017-06-13 20:33:07 4071
原创 接口自动化测试之http请求实践
一、接口测试的基本思路 1、确定要测试接口的请求类型。接口是get请求还是post请求。 2、确定接口的参数。需要传输的参数有哪些,类型分别是什么,都有哪些要求等。 3、按照参数要求构造请求需要的参数or不符合要求的参数,构造其他的请求信息,模拟发出请求。 4、对http请求返回的响应体进行解析,对解析中的部分或全部字段和预期结果进行对比。 除此之外,要模拟发送请求还有一些额外的操作,如
2017-06-13 20:33:03 541
原创 Android常见Crash原因
1.Java Crash java代码导致jvm退出,弹出“程序已经崩溃”的对话框,最终用户点击关闭后进程退出。Logcat会在“AndroidRuntime”tag下输出Java的调用栈。 2.Native Crash No.&Name Reason Resolution Comment 1.空指针
2017-06-13 20:32:53 3512
原创 H5页面测试总结
1、业务逻辑相关 除基本的功能测试之外,H5页面的测试,需要关注以下几点: 1.1 登陆 目前H5与native各个客户端都做了互通,所以大家在测试的时候要注意两点: A、若客户端已登录,那么进入H5后仍然是登录状态。 B、若客户端未登录,进入H5,点击对应按钮OR链接,如果需要登录,须拉起native登录。若取消登录,是否可再次拉起登录,或者停留在的页面是否有对应的登录提示。
2017-06-13 20:32:49 596
原创 弱网测试
方法一:利用抓包工具charles进行弱网设置,适用PC端和移动端(IOS/Android) 1.以charles 4.0版本为例,打开Proxy->Throttle Settings 2.打开Throttle Settings界面如下 3.charles的预设已经有常用的网速模拟设置,根据需要设置即可,当然也可以自己添加预设,自己去研究吧。 方法二:使用chrome浏览器的开发者
2017-06-13 20:32:45 453
原创 volley使用之图片加载
MainActivity.javapackage com.example.xxx.myapplication;import android.graphics.Bitmap;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.ImageView;i
2017-06-13 20:32:42 249
原创 Android SDk Manager里面到底哪些东西是必须下载的?
tools 目录里的是编译相关的,你要用到哪个版本就下哪个; 然后 Android M、Android 5.1.1 这些是SDK,主要是提供你开发时候要使用的那个版本api。你要用到哪个版本,就把 SDK Platform 下载下来就可以了。比如你开发中如果用到了5.0的api,那么你就要安装5.0的sdk。 Documentation for SDK、Samples for SD
2017-06-13 20:32:38 14838 3
原创 移动无线测试技能树
常用IDE Android ADT Android Studio iOS Xcode Common Atom Sublime Text Vim Visual Studio Code 基础知识
2017-06-13 20:32:34 303
原创 bug规范初稿
一、背景 bug是开发和测试质量的重要指标,从bug数量、严重性等可以看出RD的开发质量,从发现问题的阶段可以看出QA的测试意识和测试质量,从问题分类、问题来源等可以看出产品开发、测试质量的一些固有模式,帮助RD和QA提升开发和测试质量。总之窥一斑而见全豹,因此统计和分析bug十分有必要。 各端都将bug管理工作迁移到效率云,正好可以在客户端各端建立统一的规则,既便于各端的质量分析,又便于横向
2017-06-13 20:32:31 797
原创 NA端测试规范
一、 测试流程图 二、bug等级标准 Priority: QA提交的bug应有修复优先级,共分为四级,分别为P0、P1、P2、P3, 其中P0最高,P3最低。P0&P1的bug必须要在上线前完全修复。详细说明如下: P0: 完全不能满足产品要求,基本功能明显未实现或完全不可用。产品发布后,出现此类问题,将导致产品必须下线或发小版本修复。 l 性能及稳定性 1.
2017-06-13 20:32:27 1865 1
原创 客户端case优先级定义
一、TEST CASE的优先级定义 测试用例的优先级用于标识测试用例的重要性和执行频率,共分为4级,由高至低依次为P0-P3。 P0 核心功能测试用例(冒烟测试),确定此版本是否可测的测试用例,此部分测试用例如果fail会阻碍大部分其他测试用例的验证。 P1 高优先级测试用例,最常执行以保证功能性是稳定的;基本功能测
2017-06-13 20:32:23 1737
原创 客户端Bug优先级定义
Priority: 所提交的bug应该被修复的优先级。共分为四级,分别为P0、P1、P2、P3, 其中P0最高,P3最低。P0&P1的bug必须要在上线前完全修复。详细说明如下: Pri=0 表示block了几乎大部分相关case的bug,比如该实现的没有实现,或者实现和需求差异非常大,或者这个bug修复后会导致相关的功能全部都要回归;
2017-06-13 20:32:20 2031
原创 H5接入app准入报告
功能标准 iPhone性能标准 iphone兼容性标准 iphone异常测试 android性能标准 参考“iOS性能标准” android兼容性标准 android异常测试 监控项
2017-06-13 20:32:16 591
原创 服务端&客户端QA:协作&对接沟通流程及优化
测试覆盖分工 1. C端主要覆盖服务端接口逻辑,保证接口功能正常,NA端主要负责App 功能流程及兼容性测试,C端QA部署保证可用联调测试环境。 2. C端D级需求项目,C端RD自测保证,NA端QA测试环境及Bug直接对接RD。对于测试环境保证及Bug解决效率风险问题,NA端QA对接C端接口人负责协调解决。 同步支持 1. 需求项目QA排期及变更,测试进度,测
2017-06-13 20:32:13 764
原创 ET流程规范
准备工作: (1) ET尽量定在集成测试后一天,如果变动,提前一周确定ET时间及会议室 (2) PM需要提前一天整理ET case,并根据ET case多少确定是否需要分组 (3) PM需提前一天与项目负责人、测试同学一起验证ET主流程,保证线上数据真实数据且环境OK (4) 验证过程中如果有任何问题联系项目负责人找到对应RD解决,保证第二天ET时所有数据与环境OK ET过
2017-06-13 20:32:09 693
原创 项目测试日报模板整理
【16.07.15】iOS/Android测试日报: 当前进展 明天计划 1、story 1..story n 2、集成测试 3、兼容性测试 4、性能测试 5、ET 6、用测( alpha) 7、灰度(beta) 当天提测次数 1...n 版本阶段
2017-06-13 20:32:05 1827
原创 python 操作windows下目录的相关函数
1、os.getcwd() os.chdir(dir) #获取当前目录 ,改变当前目录为dir 2、os.listdir(dir) #获取目录内容,其结果为list类型 3、os.mkdir(dir) #创建目录 4、os.rmdir(dir) # 删除空目录,如果目录中有内容,则出错 5、os.path.isdir(d
2017-06-13 20:32:02 269
原创 新手快速使用Monkey测试工具的方法
明确:Monkey是直接运行在adb shell中的命令 1. 首先把Android-sdk拷贝到电脑的一个路径下(SDK比较大,10.3G, 大家可以拿移动硬盘来我这里拷就行) 2. 然后配置android的adb环境变量,方法如下(我在网上搜的配置方法,细化了一下,比较简单,照着操作就行): 第一步,打开环境变量配置窗口。右击计算机,属性-高级系统设置-环境变量。
2017-06-13 20:31:58 7203
原创 LoadRunner参数化详解
........web_submit_form("Login.ashx", "Snapshot=t3.inf", ITEMDATA, "Name=UserName", "Value=chongshi", ENDITEM, "Name=Password", "Value=123456", ENDITEM, "
2017-06-13 20:31:54 346
原创 robotium常用方法
① 点击: clickOnButton(int) //Clicks on a Button with a given index. clickOnButton(String) //Clicks on a Button with a given text. clickOnCheckBox(int) //Clicks on a CheckBox with a given index. cli
2017-06-13 20:31:51 251
原创 APP项目合作流程规范
整体流程说明: MRD评审:磨刀不误砍柴工 1、MRD对于问题细节分支和细节描述希望能够更多覆盖,避免开发过程中的反复确认和信息不对称。 2、MRD评审,RD&QA都要带着问题去评审,这样也可以更好帮助产品规避没有想到的边界问题。 开发物料管理:清晰才能简单可依赖 PM:负责上传最新MRD文档、交互文档、最终视觉稿、切图标注到项目icafe文档区域。 说明:之前版本的物料一直
2017-06-13 20:31:47 378
原创 使用Fiddler截获http/https请求
• Fiddler简介 • Fiddler安装 • Fiddler抓取http包 • Fiddler抓取https包 Fiddler简介 Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此,它还
2017-06-13 20:31:44 2447
原创 使用Charles截获http/https请求
• Charles简介 • Charles安装 • Charles针对http抓包 • Charles针对https抓包 Charles简介 抓包神器Charles是Java开发的,所以跨平台,不仅可以在Mac上使用,Linux以及Window下都是可以使用的,当然需要安装JDK才能运行。 Charles安装 1 通过Charles官网http://www.c
2017-06-13 20:31:40 629
原创 fiddler常用功能实战
一、主机映射 1. 点击Tools->HOSTS 2.在打开的Host Remapping对话框中勾选Enable remapping of requests for...,在文本框中输入“目的ip/host 原始host”,一个一行,目的host和原始host中间以空格间隔(空格至少一个)。点击保存。 在前面加上#表示该条被注释掉,不生效。如此可以存储多条历史记录而不用删除
2017-06-13 20:31:36 778
统一建模语言UML 淘宝网系统分析和设计
2011-10-30
统一建模语言UML淘宝网系统分析和设计
2011-10-30
jdbc连接各种数据库方式
2011-04-30
MySQL_JDBC 数据库驱动包
2011-04-30
执行macaca demo,提示缺少biz.jar
2017-07-11
【Java】查询数据时报错,请各大神指点~(附源码)
2016-03-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人