复用测试资产 - 传承测试经验和技能

2018年6月8日,作为第一届TMMi中国峰会圆桌会议的嘉宾,我参与讨论了“如何更好的复用测试资产”这个测试主题,其中分享了我对该话题的一些想法和经验。现在通过文章的方式将当时讲解的内容进行了一些归纳和总结,供大家参考和探讨。

测试资产不仅仅包括测试过程中输出的各个测试文档,同时包括测试团队积累的测试经验、技能和思维等。测试工作中经常会出现下面的场景:你作为测试人员工作几年之后,在测试经验、技能和能力方面非常出色,有可能就会开始你的测试管理职位;或者,随着自己技能和能力的不断增加,在有更好机会出现时离开当前公司;此时,假如团队内没有很好的测试资产复用要求,你这么多年在测试团队内积累的经验和技能等,就会随着你职位的改变或者跳槽而出现中断,甚至几乎没有任何传承。因此,测试资产复用对于测试团队的经验传承和持续改进是不可或缺的。

测试资产的复用,套用结构化思维的精髓,同样是有框架的,其核心是分层次的,即测试过程中必须根据不同目的,对不同层次的测试资产进行复用。主要包括:

1、文档复用

2、经验复用

3、思维复用

一、文档复用

测试贯穿于整个开发生命周期,对于较为正式的测试过程,其每个测试阶段都会输出相应的文档,这就是最基础的测试资产。我们以ISTQB的测试过程为例,其生命周期由5个阶段组成,分别是:

1)测试计划与监控

2)测试分析与设计

3)测试实现与执行

4)测试出口准则评估与报告

5)测试结束活动

ISTQB初级认证提供的测试过程作为一个重流程的典型,每个阶段输出的文档输出参考的是IEEE 829 - 1998文档标准。当然,测试实践中我们并不一定会全版套用标准中规定的每个细节,而是根据项目特点、产品特点、质量要求等对标准内容进行裁剪。不管是具体文档形式输出,还是存在于个人脑海中的文档内容,是测试团队可以复用的第一次层次资产。IEEE 829 - 1998文档标准包含的文档类型如下图所示。

二、经验复用

测试人员的优秀经验是开展成功测试的重要组成部分,测试过程中很多缺陷的发现不是在验证需求是否实现的过程,而是测试人员在相对独立自主开展探索性测试中发现的。此过程中测试人员假如能构建结构化的测试经验资产,就可以在测试团队内有效分享测试思路和经验,同时可以减少其他测试人员测试相近类型被测对象时走弯路,或者重复测试工作。

测试人员的经验总结,属于测试团队可以利用的第二层次资产。有了该层次的测试资产,测试团队的经验相对不会随着测试人员的流动而消失。下面是我在测试工作中实践的两个思路:

全局视角:DTO(Data Test Overview),针对不同项目或者产品中共性的一些功能,例如:通讯产品中通常都会有DHCP功能以获取IP地址。此时,会针对DHCP功能形成DTO文件。

责任人:完整经历过该功能测试分析、设计和执行的测试人员,针对该功能的测试人员有丰富的测试经验;

测试分析与设计:以思维导图的方式罗列该功能的主要测试点,而非详细的测试用例。基于结构化思维和发散性思维构建该功能测试点的框架;

测试实现与执行:该功能的测试点罗列更偏向脚本化思路,而测试执行过程中,基于脚本化的测试点基础之上,结合探索性测试的发散特点,实现脚本化测试和探索性测试的平衡;

优点:结构化与发散性思维的平衡,更方便维护和测试思维的发散;

缺点:测试点的颗粒度选择问题,在测试团队内部不容易统一;

局部视角:将产品测试过程中一些共性的测试点进行归纳和总结,以形成缺陷攻击列表,例如:

强制无效输出:年月日的测试;

文件保存:文件中出现“\”字符;

强制恢复默认值:全局变量和局部变量之间是否能恢复到默认值;

重复创建和删除条目:重复Enable和Disable,导致内存泄漏,业务不通;

全局变量和局部变量的关系:IGMP总开关和端口开关之间的切换;

测试技术:例如等价类边界值分析;

三、思维复用

除了前面提到的文档复用和测试经验复用之外,更重要的是将测试过程中应用的结构化思维、发散性思维和可视化思维形成资产,在测试团队内共享和传承。相对而言,测试思维在测试团队内的复用是更困难的,但是对测试团队能力的提升也是最有效的。即使大家面对的是同样的文档、经验和测试对象,由于测试人员之间思维方式不同,测试得到的结果都会是截然不同。下面是测试用例为例,说明测试思维在测试工作中的作用。

测试用例是测试分析与设计阶段的重要输出,其质量直接影响了后续的测试执行效率和有效性。结构化思维的应用有助于提升测试分析与设计活动的质量,其核心是构建框架,把表象杂乱复杂的测试点/测试用例变得结构而有序。“问题驱动的软件测试设计”课程体现的就是结构化思维在其中的应用过程 - 自上而下的结构化构建(可以参考下面的框架图):

选择框架:根据测试过程中经常面临的4大问题入手,搭建了有4个维度组成的框架,分别是基于质量模型、基于领域知识、基于规格说明、重点选择和测试执行。结构化思维中其属于搭架子的过程,常见的架子除了基于行业背景知识外,还有时间架、空间架和三角架等;

分层/分类:对框架中的每个维度或架子进行分层和分类。例如:针对领域知识,包含了功能交互模型和用户场景模型等。

继续细分:根据对测试目标和测试人员能力等因素的考虑,确定测试点的颗粒度,然后根据颗粒度要求继续对每个维度/架子进行不断详细化,直到满足要求为止;

检查框架:分层/分类和细化过程,需要不断检查每个层次之间是否满足MECE原则(相互独立、完全穷尽,简单地讲就是各个分类之间不重叠不遗漏);

构建测试资产以及在测试团队内的分享和传承,不仅需要测试团队有这个意识,同时也需要测试流程、技术和工具的支持。同时,不同测试资产之间是相互支撑和反馈的,需要我们持续调整和改进。

[本文提到的结构化思维、发散性思维、可视化思维、测试资产等内容,将在后续的文章中陆续推出,敬请关注并欢迎大家与我对文中内容进行探讨!]

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,635评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,543评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,083评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,640评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,640评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,262评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,833评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,736评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,280评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,369评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,503评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,870评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,340评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,460评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,909评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,512评论 2 359

推荐阅读更多精彩内容

  • 1.问:你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。 首先,将问题提...
    qianyewhy阅读 9,266评论 4 123
  • 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程...
    欧尔麦特fffff阅读 4,658评论 1 41
  • -----转载----- 1、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? ...
    花开沉浮阅读 7,398评论 4 88
  • 银行软件测试面试问题 软件测试经典面试题 软件测试面试题汇总 测试技术面试题 1、什么是兼容性测试?兼容性测试侧重...
    天宇逍遥heart阅读 1,446评论 0 20
  • 很多小伙伴都喜欢来一场说走就走的旅行,但是须知:有时候旅行前一定的准备才能让你的旅行更加顺利!下面我们就来了解...
    sowhatzjl阅读 556评论 0 0