关闭

浅谈ACC测试建模

标签: 框架测试
1348人阅读 评论(0) 收藏 举报
分类:

浅谈ACC测试建模

1、黔驴技穷

随着测试新鲜血液的引入,如何在测试领域站稳脚跟,成为一名老司机是很多测试人头疼的问题,之前听过一个课程讲过测试人员发展的心路历程(图1-1),从手动测试,脚本测试、框架关键字驱动(自动化测试),测试建模,建模自动生成可执行路径,我们大部分测试人员处于底下三层,所以想要成为测试老司机的作习,还任重道远。

图1-1

2、浅尝初试

什么叫做测试建模?关于模型,模型有很多种类型,接触比较多的应该是数学模型,展示成各种公式,但是模型不仅仅只有数学模型,还有语义模型(自然语言表达),物质模型(物体构成的),图像模型(二维的图像、图形等模型)。模型的好处有千千万万,举个栗子:物理学家做了太阳系的模型,可以让我们更了解,直观的看到我们太阳系有9大星球,并且围着太阳转的事实。
为了让我们直观、清楚、了解测试的风险,测试内容,测试过程也有测试模型,测试模型。测试模型没有明确的定义,个人理解是通过建设的测试模型,我们可以直观的分析、了解到我们的测试内容。比如状态图,状态图是一种模型,可以直接了解这个状态到这个状态需要经过的测试路径。
我这次挑选了google ACC建模测试方法进行分享,讲解如何使用ACC建模测试,以及ACC建模方法的适用场景。

3、登堂入室

ACC(Attributes Components Compatibilities)是Google测试团队使用的一种建模方法,详情ACC的使用可以参考文章:http://www.cnblogs.com/liangshi/archive/2012/04/23/2465897.html ,按照文章的内容对测试内容进行划分属性(A),部件(C),组成能力表(C),引导大家做正确的测试策略。这里因为文章写的挺详细的,所以就不照搬文章的内容再讲述一遍,重点跟大家描述ACC建模的适用测试场景。

4、举不胜举

那么ACC可以帮助我们解决什么问题呢?

测试时间短的时候,如何快速选出正确的测试策略

前Google测试总监James Whittaker 提出的《The 10 Minute Test Plan》里面讲述了一个很有趣的实验。现实中,当我们在做测试的时候,从产品需求评审后,到需求变更,测试人员需要不断的更新测试计划,维护测试内容;用例评审之后,我们还可能需要再修改测试内容,对用例再进行二次维护,表露出被这些繁琐的测试文档所束缚。这应该也是很多FT目前面临的问题。

思考一下测试内容需要花那么多心思去更新,并且不断的维护测试策略,在实践中它也发挥真正的发挥到实际的价值?给你带来很强大的风险评估?抑或给你减少了很多测试资源冲突的问题?
如果强迫自己在10分钟内对测试内容提出测试策略,你,可以做到么?

ACC可以帮你快速的做出正确的测试策略。实践ACC的过程中,个人觉得产品的属性决定了产品的功能,也决定了产品功能的重要性。比如一个”社交”的产品P,产品的属性(A)是方便的,信息安全的,UI操作简单的,那么P产品的功能(C)是会尽可能往这些属性上靠拢,功能呈现出能比较被小白用户容易使用的特性(C)。

实例化一个产品:手机管家,手机管家对crash比例要求很高,那么管家的产品属性是要求是稳定的:功能稳定、框架基础稳定。在管家出现crash是需要优先解决的,因为会往这个属性上靠拢,并且各种路径希望能够触发到各种异常出现crash现象;管家对卡顿问题也要求也非常高,制作流畅度的指标来监控各个页面的卡顿,那么也可以给产品定个属性是顺畅的:功能顺畅,页面不卡顿,开发、测试过程也需要观察是否出现卡顿现场。

上述例子中ACC策略是站在产品层面,可能范围有点大。平常测试内容都是一个插件跟模块为单位的,其实也是一样的原理。比如病毒查杀,病毒查杀模块希望它在杀毒方面是全面的,那么也就是各种各样的病毒都能被检查出来,并且做出对应的处理;病毒查杀在交互上肯定是简单的,直接点击查杀,可以帮助手机把有病毒问题一次性检测出来。

下面是我根据launcher桌面应用做的ACC的heap maps ,根据heaps可以得到我们测试时间应该是从深到浅的渐变,如果制作一个跟金钱有关系的软件,你会发现钱涉及的功能的集中了ACC表格的大部分深红,解决问题也是优先解决跟金钱有关系的功能。

测试内容多,繁杂时候,如何做出快速的测试策略

测试过程中,我们经常遇到测试点多,而且细小且繁杂的时候,一堆堆的测试任务涌过来,请花10分钟做一个ACC建模的测试分析再安排测试,先思考再干活。
根据提测的内容在热力图上面的颜色深浅进行测试任务优先级安排,是一种成熟的测试策略。因为深颜色的功能点从优先级,功能属性上都比较重要,所以测试时间上也是需要花比较多的时间。
测试策略没有详尽的测试内容,根据测试点再展开测试用例设计,是一个blingbling的好方法,有根有据,不会被混乱的现状冲昏了头脑,对个人处事风格有优化,格调直逼高大上。妈妈再也不用担心我繁杂的测试任务。

而且针对需求变更比较多的模块内容,前期的维护测试计划的维护需要花很多的时间,而且它并不一定给你评估到如意的完美的测试风险,既然这样子,何不完全抛开这些内容,从ACC的角度来做测试策略。

用例精简

其实ACC也是可以做用例精简,是不是觉得就像万花油一样,测试过程哪里疼就抹哪里。用例精简要从热力图开始说起,热力图罗列了优先级的测试点,这些颜色浅的功能点,大胆放开的去删减用例。因为在整个产品功能里面,它的执行时间占比少,那么对应的用例肯定少。如果一个功能不重要,但是用例写了很多,这个需要反思一下是不是测试策略定位有问题。

综上所讲的内容是在ACC实践的过程中,这些场景可以用这个模型进行尝试。本文只是抛砖引玉,真正成为测试领域的老司机不是一朝一夕的事情,也不是浅尝辄止。需要不断的学习各种Test Model,找到适用的场景,并且得心应手。


TMQ(腾讯移动品质中心)是腾讯最早专注在移动APP测试的团队
网站专注于移动测试技术精华,饱含腾讯多款亿级APP的品质秘密,文章皆独家原创,我们不谈虚的,只谈干货!

扫一扫 关注TMQ

精彩分享不断

1
0
查看评论

Google ACC[测试建模]

Introduction Test Analytics allows you to efficiently construct an ACC model for your project. This ACC model, shorthand for Attributes-Components-...
  • dokieyang
  • dokieyang
  • 2012-06-25 15:24
  • 1312

【腾讯TMQ】测试建模 ——从需求的角度说建模

看完本文你会了解以下内容需求工程的多个视角不同视角涵盖的视图(模型)及关联测试工作中应该从哪个视图入手关于本文在上一篇文章的实例中我们了解了基于业务流程测试的建模方法,但在实际工作中针对不同的需求我们还有很多其他建模语言可以使用。今天这篇文章将通过需求的几个不同视角来为大家介绍下还有哪些视图在测试建...
  • TMQ1225
  • TMQ1225
  • 2016-10-26 15:02
  • 800

FullCalendar 备忘

<br />1.与google日历连接,别忘记加入<script type='text/javascript' src='js/gcal.js'/><br />events: $.fullCalendar.gcalFeed<b...
  • effort_hyf
  • effort_hyf
  • 2011-03-17 10:59
  • 1433

测试建模:Google ACC

ACC(Attributes Components Compatibilities)是Google测试团队使用的一种建模方法,用来快速地建立产品的模型,以指导下一步的测试计划和设计。在Google内部,ACC得到较普遍的应用,一些工程师还开发了支持ACC模型的Web应用,并将其开源。本文将介绍ACC...
  • Xuguang121
  • Xuguang121
  • 2012-04-27 09:44
  • 573

[测试]ACC测试方法学习-Google推荐

ACC(Attribute Component Capability)分析是围绕特质、组件、能力三个维度指导计划者制定测试计划的方法,是从许多Google测试团队的最佳实践中总结出来的。本文以笔者的视角对《Google软件测试之道》介绍的ACC分析内容进行整理,围绕ACC指导原则及其三个维度进行分别...
  • Dearggae
  • Dearggae
  • 2017-03-07 11:02
  • 1198

浅谈互联网金融测试平台规划

浅谈互联网金融测试平台规划   最近,测试团队的测试平台逐渐成型,记得16年我刚来公司时做的一个规划,打算将测试平台建设起来,谈谈自己的一些理解和体会,算是事后为这个事情的一种复盘;最早测试平台规划时,我们当时打算是如下图所示:    上图展示重点是4个大的方向,当时我们计划是...
  • jiangbqing
  • jiangbqing
  • 2017-11-14 11:02
  • 159

测试建模:功能列表(Function List)

功能列表(Function                       ...
  • wuxiaobingandbob
  • wuxiaobingandbob
  • 2015-09-21 08:49
  • 334

集成电路测试简单介绍

测试的目的:1,检验出不合格产品。2,如果不合格,找出问题点。如果一个产品没有通过测试,可以通过一些方面来判定问题的原因。1)测试本身的问题;2)设计的问题;3)制造的问题;4)specification 的问题。测试本身的权威性往往是设计人员所挑战的,所以对于测试人员来说要对集成电路测试有充分的了...
  • zhongrg
  • zhongrg
  • 2007-12-24 14:40
  • 962

OpenACC读书笔记(一)

今年运气比较好,学了cuda之后,了解到了gpu的另两种使用语言opencl和openacc, opencl(Open Computing Language ,开放计算语言)是面向异构系统的并行编程语言的免费标准,支持多种设备,包含CPU(多核多线程CPU),GPU(NVIDIA,AMD),数字信...
  • qq_25819827
  • qq_25819827
  • 2017-01-26 00:44
  • 2467

老徐谈谈软件测试职业的现状,以及市场情况

最近确实是很忙 导致很久没有认认真真的写几篇博客了 平时也只是随记一些重要的知识点,非常零散,有时间好好整理出来; 刚刚简单翻阅了CSDN博客,发现很少测试相关的文章; 今天老徐就来聊一聊测试职业现状以及发展方向 首先,来点实际的: 问一个问题,你当前做测试几年了,薪水拿了多少? (注:年限...
  • dieyong
  • dieyong
  • 2016-01-23 17:24
  • 1515
    个人资料
    • 访问:131313次
    • 积分:2733
    • 等级:
    • 排名:第15728名
    • 原创:141篇
    • 转载:1篇
    • 译文:2篇
    • 评论:17条
    最新评论