【Android测试】【随笔】与 “58同城” 测试开发交流
◆版权声明:本文出自胖喵~的博客,转载必须注明出处。
转载请注明出处:http://www.cnblogs.com/by-dream/p/5384698.html
初衷
一直都有一个这样的想法:

虽然在我发出这个帖子之后没有人来主动和我交流,并且有人说这样的方法论会过于死板硬套,不能适用于实际复杂的业务测试中;但是我还是决定去写这样一个系列的文章,只要能够帮助到一部分的测试,哪怕不是很多,我也愿意尝试去做。
分享者简介
侯哥,4年测试开发经验,现任58同城**部门测试开发,擅长自动化测试。
这里非常感谢侯哥能够无私的将自己的经验分享出来(另外下文中出现的所有观点均是分享者的观点,不代表58集团)。

分享内容
侯哥分享的内容主要包含两部分:
一、业务测试
首先他跟进的业务比较特殊,业务的内容的不仅限在PC、手机站点还有App端的内容。他们会对每次的新需求进行一个划分:大项目和小项目。
先说小项目,小项目一般指的是不超过5个开发工作日的产品,针对这样的需求变动,基本就是开发完成后,做功能验证 如果涉及到页面的修改会考虑兼容性。兼容性主要只考虑系统兼容性和分辨率兼容性,大概是有一个这样的表,然后将同时满足系统版本和分表率的真机填入表中,用真机进行测试。

当然就目前的情况来看,Android基本上已经不关心Android 4.0 以下的,iOS 4s以下的设备也不再关注了,除非产品强烈建议。
介绍下大项目:由于大项目的开发周期比较长,测试可以较为提前的介入,首先,第一部分的测试是对于产品文档的评审。产品会把详细的文档发出来,他们会通过批注的方式对文档进行评审,然后产品对有疑问的地方,进行讲解或修改。当文档确定之后,就进入到了测试的第二部分,编写测试用例。目前会编写两种测试用例,冒烟测试用例和针对需求完善的测试用例。冒烟测试用例的使用者包括开发和测试人员,而完善的测试用例使用者主要是测试人员本身。开发提测之前,需要给出冒烟测试结果,所以冒烟测试用例需要在研发提测前一天给出。第三步,就是执行测试的过程了。这个过程,可能会分成两部分,如果涉及到接口的修改,就会有对应的接口测试,如果没有,就只针对需求的功能测试。
二、自动化测试(Android)
首先我问他为什么要做自动化?他说从他对于自动化的理解,出发点主要是两个。一个是便于回归和冒烟,另外一个就是测试知识的积累。为什么要做自动化,算一道题就明白了。当你有10个测试用例的时候,你执行一次的时间是10分钟。那当用例数扩大到100个,1000个,甚至几万个的时候。我们手动执行已经成为了不可能,那自动化就成为了必然。还是那句老话,测试的职责在于保证质量, 而穷尽测试是最能够保证质量的测试办法,当然我们都知道穷尽测试是不可能的。那我们就通过大面积的自动化测试来实现多种测试输入的组合,进而替代穷尽测试。如果非要说自动化测试提高了多少效率,我觉得可以提高百分百的效率,甚至更高。当我们把所有的自动化用例执行都放在晚上,那一个测试人员一天干了两个人的活。这就是他的观点。
接着是他介绍了他自己写的UI自动化的框架。目前市面上很多的UI自动化框架,功能很强大,使用很便捷。为什么他还要开发一套全新的框架呢。目的就是为了解决ui自动化维护成本高的问题。维护成本高的原因,可以从两个方面考虑,一是UI变动频繁需要经常修改,二是编写自动化脚本的成本高。他们新开发的自动化框架,从三个方面解决了编写成本的问题。一是,多层封装,减少暴露给用户的接口,减少学习和编写成本。二是,模拟类自然语言,大大降低编写门槛。三是,尽量放大测试用例颗粒度。
针对第一点可能不少人会有这样的疑问就是减少暴露的接口是否会导致功能的缺失,他会通过配置参数的方式,扩展接口的功能。比如滑动,我们增加一个参数 输入 top 就是向上滑动。针对第二点比较好理解,就是将函数方法名称封装成我们比较好理解的语言。第三点的意思可以理解为,减少用例个,比如测试一个数是否为自然数 我们设计用例 可能是 1 2 3 0 -1 等等,那就只写一个2 就算验证了。
整个架构的原理就是 底层调用adb shell 上层封装不同的接口 然后通过Python提供的 unittest 组合测试集,执行测试集的结果,通过html进行展示。整个自动化测试的框架设计,基于关键字驱动,他们定义了一些关键字,比如设备号, 用例名等等,根据对应的关键字来触发脚本执行。目前自动化脚本的使用场景主要是每次迭代的版本发布前,进行一次回归测试,当然会有一些误报,但是大大减少了回归测试的人力成本。没有发现问题说明我们目前的版本较稳定,如果发现问题,那就赶快处理,修改后再次回归。
【Android测试】【随笔】与 “58同城” 测试开发交流的更多相关文章
- android 学习随笔三(测试与单元测试框架)
测试 1.按岗位: 黑盒测试:测试业务逻辑 白盒测试:测试逻辑方法 2.按测试粒度 方法测试 function 单元测试 unit 集成测试 integration 系统测试 system 3.按暴力 ...
- android 兼容性测试 CTS 测试过程(实践测试验证通过)
source: http://blog.csdn.net/jianguo_liao19840726/article/details/7222814 写这个博客的时候是为了记忆,建议大家还是看官方的说明 ...
- 【转】android 兼容性测试 CTS 测试过程(实践测试验证通过)
原文网址:http://blog.csdn.net/jianguo_liao19840726/article/details/7222814 写这个博客的时候是为了记忆,建议大家还是看官方的说明,官方 ...
- Android自动化框架 模拟操作 模拟测试
转自:http://bbs2.c114.net/home.php?mod=space&uid=1025779&do=blog&id=5322 几种常见的Android自动化测试 ...
- Android SDK上手指南:知识测试
Android SDK上手指南:知识测试 2014-01-22 10:00 核子可乐 译 51CTO 字号:T | T 在从零开始学习Android开发系列教程当中,我们已经了解了为Android平台 ...
- Beta冲刺——测试随笔
这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Beta冲刺 这个作业的目标 Beta冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.测试工作安排 项目 ...
- 测试经验总结(“二次开发”)
参考原文地址:http://www.51testing.com/html/86/n-3601786.html 不知不觉已经工作五年时间了,从茁壮.康拓普.利鑫云端到现在的惠卡世纪,经历过机顶盒软件(嵌 ...
- Android AIDL自动生成Java文件测试
/******************************************************************************** * Android AIDL自动生成 ...
- APP测试中的头疼脑热:测试人员如何驱动开发做好自测
如今,随着移动互联网的浪潮越翻越涌,移动APP测试工作的现状已经成了那本"家家难念"的经.不管公司大小,不管测试哪种类型的APP,让广泛测试者苦不堪言的就属重复性最多,测试工作量最 ...
随机推荐
- SU Demos-02Filtering-02Subfilt
巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑.这种滤波器最先由英国工程师斯替芬·巴特沃斯(Stephen Butterworth)在1930年发表在英国<无线电工程>期刊的一篇论文中提 ...
- 简单几何(直线位置) POJ 1269 Intersecting Lines
题目传送门 题意:判断两条直线的位置关系,共线或平行或相交 分析:先判断平行还是共线,最后就是相交.平行用叉积判断向量,共线的话也用叉积判断点,相交求交点 /********************* ...
- HTML列表-框架
<frameset frameborder="边框大小" 列cols="各窗口百分比,隔开" 行rows=“各窗口百分比”> <frame n ...
- VS 2010 WebSite网站 使用CodeBehide 方式开发[Web应用程序项目转Web网站]
由于生成Web应用程序的文件非常大,100M左右,上传到香港太慢,对于运维工作很不现实, 所以只能改用单个源代码文件上传方式,也就是Web网站方式,但VS2010中只提供Web网站转Web应用程序功能 ...
- Centos6.4 yum安装MariaDB5.5
vi /etc/yum.repos.d/MariaDB.repo 加入下面内容 [mariabd]name=MariaDBbaseurl=http://yum.mariadb.org/5.5.34/c ...
- python 根据对象和方法名,返回提供这个方法的定义的类
def find_defining_class(obj, method_name): for ty in type(obj).mro(): if method_name in ty.__dict__: ...
- asp.net 微信企业号办公系统-流程设计--流程步骤设置-策略设置
策略设置包括当前步骤的流转方式,处理人员,退回策略等设置. 流转类型:当前步骤后面有多个步骤时,此类型选择可以决定后续步骤的发送方式. 1.系统控制:由系统根据您在线上设置的流转条件来判断该发送到哪一 ...
- 解决javax.imageio.IIOException: Can't create output stream!
解决javax.imageio.IIOException: Can't create output stream! javax.imageio.ImageIO.write(image, "J ...
- IIS浏览提示无法显示网页的解决方法
1.错误号401.1 症状:HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝. 分析: 由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无 ...
- JS。 问题类型:穷举,迭代。两个关键词:break和continue
问题类型: 穷举:(在不知道什么情况下是我们需要的结果的时候只能够让它一个一个都给走一遍) 百鸡百钱:公鸡1钱,母鸡2钱,小鸡0.5钱. 思路: 公鸡买100只,母鸡,小鸡都是0只: 母鸡50只,公鸡 ...