陪你度过漫长岁月:WiFi管家测试一纸芳华诉流年

作者:陈湘玲

团队:腾讯移动品质中心TMQ

一、前言

就在两小时前,WiFi管家刚刚发布了3.0版本。做完最后一个专项汇报,坐在屏幕前揉了揉肩膀松了口气。一种特别的情绪突然蔓延开来。

算一算时间,已经陪它走过了第三个年头。作为这个产品的测试第一人,心底涌起的情感催促着我,是时候总结一些东西,一来作为点滴回忆记录,二来作为经验总结沉淀。

本次总结,借用一纸芳华诉说流年——既描述过去,也展望未来。

内容包括以下几点:

WiFi管家前世今生

WiFi测试雄关漫道

总结&展望

二、WiFi管家前世今生

1、孕育期:手管新模块

WiFi管家萌芽于手机管家5.0版本里的模块【WiFi管理】,入口在快捷中心。

2、引入期:WiFi单品立项

3、发展期:WiFi3.0大改版

三、WiFi测试雄关漫道

1、测试规模

(1)测试投入重心变化

测试同学从最初保证业务测试的完成,经过这三个阶段发展的不同需求,也发生了一些职能变化。从“如何测得更全”到“如何测试更准”再到“如何测得又快又准”,后面“测试策略”篇幅会细讲面对这样的职能要求,我们是如何开展测试的。

2、测试流程

(1)研发流程变化:细化关键流程和成员职责

图—孕育期、引入期研发流程图

图—发展期研发流程

从研发流程的变化可以看得到,由于业务的调整,在孕育期和引入期均是按手管原先制定的FT流程来走,而随着项目组人员的扩充,把原先流程拆解更细化,对应的角色分工也更明确。

(2)测试流程变化:以需求为粒度贯穿全程

WiFi管家孕育期:需求与提测未有工具可关联,直接根据需求文档,按计划在rdm打包,转提测任务,再输出测试报告,闭环一个测试周期。

WiFi管家引入期到发展期:利用Tapd管理需求,从一个需求的创建到正式环境测试完成为一个测试周期,在故事墙可以很清晰看到每个节点每个需求的状态和生命周期。

(3)角色职责变化:从模糊到清晰

这份Checklist是从无到有,从引入期到发展期诞生的,各角色分工Checklist图清晰定义了整个项目过程,包括测试同学在内的各角色接入的时机与对应要做的事情。

3、测试策略

(1)测试方法变化:由手工到多样化

(2)测试分析发展:从0到1,探索无穷

由测试方法的发展可以得知,测试分析是在引入期才开始出现的,通过测试分析让我们的测试更精准高效。

(3)用例管理:由加法到减法

WiFi管家1.0的到来,用例的移植成了很大的挑战:

1)用例量庞大:以笔者的用例为例子,每个版本都有一份该版本的用例以及一份总用例,总用例文件分散,用例数多(总用例数接近2000),无整体清晰视图;

2)可读性差:由于测试人员分工的不断调整,同个模块的用例的维护是经由几轮不同编写风格的迭代,甚至有些用例格式不统一(既有excel又有mm图);

3)用例优先级不明确:用例优先级是凭经验拍脑袋定的,同时历经几个版本未对旧用例的优先级做调整,导致测试执行时间冗长且部分用例已不是核心内容。

为了解决这些问题,在WiFi管家2.0版本引入了ACC测试建模+大数据相结合的思想,完成了一次华丽的用例删减,也大大提高了效率。

(4)自动化/专项情况:由整体到场景

从最初的纯手工,到接入长板(整体性能)自动化测试,再到基于场景的自动化测试,在专项测试方面一直在探索无穷的进步的可能性。

4、测试管理

(1)测试计划制定:从粗糙到精细

测试计划是测试过程的整体设计。测试计划最初是相对粗糙的,只考虑了功能测试。慢慢地,测试计划包括对测试范围、测试风险进行分析,对测试用例、工作量、人力和时间等进行估算。

制定测试计划步骤如下:

下图是测试计划的例子:

(2)测试进度: Tapd缺陷报告每日同步+需求粒度测试进度记录

测试进度同步经历由人肉到自动化、从粗到细的过程。

(3)测试风险把控: 抽象方法论

测试风险,就是在软件测试过程已经出现或潜在的问题,造成测试的结果不准确或进度延后于预期。

如何识别和把控测试风险?经过近几年的抽象和总结,可以用下表来概括:

(4)测试规范: 从无序到有序

由于WiFi测试同学的增加,关于用例、执行、需求变更把控、缺陷提交,都急需一套规范来保证。从1人的无序状态,到当下的有序,摸索接近一年时间。

5、测试未来展望

四、写在最后

陪伴是最长期的告白。WiFi测试路漫漫,在此鸣谢团队的每一位成员,感谢大家一路陪伴,一起分担,一起成长。

问题:你的团队这几年测试路遇到了什么困难呢?又是如何解决的呢?

关注微信公众号腾讯移动品质中心TMQ,获取更多测试干货!

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏积累沉淀

Hive2.0.0操作HBase 1.2.1报错解决

首先看错  org.apache.hive.service.cli.HiveSQLException: Failed to open new session: ...

2639
来自专栏跟着阿笨一起玩NET

C# Stream 和 byte[] 之间的转换

891
来自专栏跟着阿笨一起玩NET

C# 通过HttpWebRequest在后台对WebService进行调用

http://www.cnblogs.com/macroxu-1982/archive/2009/12/23/1630415.html

4032
来自专栏Pulsar-V

C#下各种获取时间的姿势

直接贴代码吧 DateTime dt = DateTime.Now; Label1.Text = dt.ToString();//2005-11-5 13:21...

3576
来自专栏跟着阿笨一起玩NET

GB2312转换成UTF-8与utf_8转换成GB2312

3021
来自专栏c#开发者

解决msmq接收远程主机私有队列消息的问题!

通过调用windows\system32\mqoa.dll 这个Message Queuing ActiveX Interface API函数就可以做到; 下面...

5507
来自专栏c#开发者

C# : row-clickable GridView and get and set gridview rows using JavaScript

Complete C# code: ---------------- using System; using System.ComponentModel; ...

3266
来自专栏闻道于事

商城项目整理(三)JDBC增删改查

商品表的增加,修改,删除,订单表的增加,确认,用户表的查看,日志表的增加,查看 商品表建表语句: 1 create table TEST.GOODS_TABL...

6175
来自专栏成长道路

JDBC动态SQL语句连接orcale数据库的工具类

import java.sql.Connection; import java.sql.DriverManager; import java.sql.P...

2980
来自专栏xingoo, 一个梦想做发明家的程序员

windows程序设计-第四章 system1.c

/*---------------------------------------------------- SYSMETS1.C -- System M...

30911

扫码关注云+社区