网站大量收购闲置独家精品文档,联系QQ:2885784924

百度测试秘籍全探讨.docx

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
百度测试秘籍全解析 伴随移动互联网转型,百度的测试工程师也在实际工作中,快速跟进技术更迭、不断地改善测试方法和技术。本章将我们的一些优秀实践分享给读者。 3.1自动化测试 测试环节在整个产品周期中对产品的质量起到关键的作用。 测试人员在进行功能测试时,首先想到的就是如何摆脱一些纯手工测试,将精力放入更加复杂的测试上,自动化测试永远是最受测试人员关注的一个话题。 Baidu的自动化测试经过10几年的积累,小有成果。接下来以百度地图客户端的自动化为实例,介绍baidu质量部在自动化测试上的实践和获益。 3.1.1概述 客户端测试包括很多工作,测试工作有功能测试、稳定性测试、代码静态检查、性能测试、兼容性测试和安全测试等,辅助工作有用例管理、设备管理、项目管理等,还有很多其他工作。工程师们往往花了很多时间在做一些重复性工作,没有过多的精力投入到产品质量的深挖上去。地图客户端测试效率提升思路是不定期的组织版本耗时分析,将耗时较长工作缩短、将耗时少工作变为零耗时,从而释放人力做更多探索测试。比如: 事例1:设备管理这块,没有一个公共的地方记录设备在哪位工程师手上,工程师借出还入操作比较繁琐,导致在设备调度这块耗时很长。 解决方式:开发一个设备管理app,工程师只需要打开设备做借入还出操作;搭建设备管理平台,用于方便查看设备是否空闲以及归属。 事例2:地图客户端大框检索业务逻辑复杂,用例繁多,耗时很长(预计115分钟) 解决方式:高工对大框检索业务进行代码解读。通过业务分享、用例梳理,用例自动化转化等方式,最终该业务测试用例执行耗时降低86%,预计15分钟完成。 地图客户端通过对测试效率得不断迭代,得到明显的效果也积累了一些经验值: ? 监控开发工程师每次提交代码质量,触发核心功能自动化验证。 ? 功能自动化率最高时达到40%,集成测试一轮时间从22小时缩短至6小时。 ? 基于自动化持续集成的前提,集成测试阶段Android地图客户端做到daily灰度,保证代码时刻处于可发布状态。 接下来,主要介绍地图客户端自动化是如何构建的。 3.1.2基础准备 用例调整 很多团队做自动化之前,都可能碰上这样的问题,测试开发人员将框架等都搭建完毕后,转化手工用例时,发现手工用例无法转化,导致自动化工作开展缓慢,且效果不好量化。地图在前期自动化方案也碰到这样的问题,产生的场景就是用例编写人员按照自己的理解编写自动化用例步骤,而实际验证点与期望验证点相差甚远。 自动化工作开展前,务必保证现有的用例可自动化,便于后续用例自动化转化和自动化效果考量。用例的要求有三点: ? 用例目的要明确 ? 一个用例只有一个验证点 (没有主观体验) 给出一个GOOD Case: 测试目的:起点或终点以我的位置发起搜索 测试步骤: 1. 点击路线按钮 2. 起点为“我的位置” 3. 终点为“西直门” 4. 点击所搜按钮 期望结果:进入公交方案列表页 自动化工具 地图客户端分为Android和iPhone两个端,这两个开发平台的自动化测试工具有很多,结合地图客户端的特点,我们对工具的选型如下: Android 端 ? 自动化事件管理工具:Robotium ? 管理用例执行:adb + bat ? 代码语言:java iPhone 端: ? 自动化事件管理工具:UIAutomation (地图是多团队并行开发,组件以库形式提交,所以选择非注入式框架) ? 管理用例执行:tuneup-js + shell ? 处理崩溃信息:MobileDevice ? 代码语言:javascript 自动化框架 前面提到自动化工具选型,关于UI元素定位、事件触发等都是基础library,自动化用例脚本的落地形式很重要。就脚本可读性和后期维护性而言,地图最终选择的脚本形式是关键字驱动型,代码形式如下: #import ../importall.js test(baidumap_ios_3114747_G0,function(target, app){ writeLog(回地图主页面); clickToBackHomePageInitializePage(); writeLog(点击路线面板); clickRouteButtonHomePage(); writeLog(点击公交tab图标); clickBusTabRouteBusPage(); writeLog(点击起点输入框); clickStartBoxRouteBusPage(); writeLog(点击我的位置作为起点/终点); clickLocationStartEndPage(); writeLog(点击终点输入框); clickEndBoxR

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档