软件测试建模:Google ACC-1

上一篇 / 下一篇  2012-04-27 09:26:40 / 个人分类:杂谈

 ACC(Attributes Components Compatibilities)是Google测试团 队使用的一种建模方法,用来快速地建立产品的模型,以指导下一步的测试计划和设计。在Google内部,ACC得到较普遍的应用,一些工程师还开发了支持 ACC模型的Web应用,并将其开源。本文将介绍ACC的内容,所引用的Google+的例子摘录自《How Google Tests Software》一书。此外,本文还将使用启发式测试策略模型(HeuristicTestStrategy Model,简称HTSM)来分析ACC。

Q q ]6o']3~0  运用ACC建模的第一步是确定产品的Attributes(属性)。按照谷歌的定义,Attributes是产品的形容词(adjectives),是与竞争对手相区别的关键特征。按照敏捷开发的观点,Attributes是产品所交付的核心价值(values)。从HTSM的角度,Attributes位于HTSM->Quality Criteria->Operation Criteria,隶属于面向用户的质量标准。51Testing软件测试网tY+gJM"}2J ?jV^

51Testing软件测试网(Y*z2cI1e/R7{'u

  Google+的Attributes如下:51Testing软件测试网*`.R8QE O5e

4O0j"u:U E;@*B:m0  ● Social(社交):鼓励用户去分享信息和他们的状态

4I'] Dvm$Z051Testing软件测试网f%VY4^a@

  ● Expressive(表现力):用户可以运用各种功能去表达自我

DI s9b8Yn'p d0

5Qt8Y1?{'d0  ● Easy(容易):让用户以直观的方式做他们想做的事

9nH(M2U#\Y0

n/Un1tLk @p,}0  ● Relevant(相关):只显示用户感兴趣的内容

.Kt-}?Q.C-}[rd051Testing软件测试网*F b z'@ WE _

  ● Extensible(可扩展):能够与Google的已有功能、第三方网站和应用(Application)集成51Testing软件测试网p(}*Y hB;u

51Testing软件测试网"dQ+uH/`#`4|,DL

  ● Private(隐私):用户数据不会泄漏51Testing软件测试网F k%L:k,W(x!X@

51Testing软件测试网U&v&pO L;k$N

  ACC以Attribute开始,是产品竞争的自然选择,也符合Google的开发实践。在Google的项目中,开发人员和测试人员的比例通常是10:1或更高。开发人员会编写大量的自动化测试用 例,对产品实施周密的测试,因此测试人员主要关注用户价值和系统级测试。即便如此,测试人员也没有足够的资源测试所有用户行为。所以,测试人员需要通过确 定Attributes来明确产品的核心价值,从而区分出测试对象的轻重缓急(priorities)。获取Attributes的信息源可以是产品经 理、市场营销人员、技术布道者、商业宣传材料、产品广告等。测试人员也可以使用“卖点漫游”(The Money Tour)来发掘和检验产品的卖点。51Testing软件测试网Z,pU*F"v

51Testing软件测试网.E(Qc yzum'J%H

   第二步是确定产品的Components(部件)。Components是产品的名词(nouns),可以理解为产品的主要模块、组件、子系统。从 HTSM的角度,Components位于HTSM->Product Elements->Structure和HTSM->Product Elements->Function,即同时具备代码结构和产品功能的特征。51Testing软件测试网Q{3XZ+t l%e

"k4UC"FZ0uI0  Google+的Components如下:

O]W7O5Qi051Testing软件测试网f,^,v;`3[(a#rI

  ● Profile(个人资料):用户的帐户信息和兴趣爱好51Testing软件测试网)?Q4^:CfP-v/hy0_

51Testing软件测试网J?%@^2U:w;l

  ● People(人脉):用户已经连接的好友

LYc$?p;\5S8W0

"x,K:}7Zj#m.JE0  ● Stream(信息流):由帖子、评论、通知、照片等组成的有序的信息流51Testing软件测试网W*W6muYX

hT3U&B/R J-gs_3n0  ● Circles(圈子):将好友分组,如把不同的好友归于“朋友”、“同事”等小组

u7q J8vSX0

yze(Ry9qV0  ● Notifications(通知):当用户被帖子提到时,向他显示提示信息

:P$rPV&?5g9Hm\%KN0

-Tj?UZO1}F0  ● Hangouts(视频群聊):视频对话的小组51Testing软件测试网%]n9fz|Q}*E j

51Testing软件测试网oV+~/I`c%d

  ● Posts(帖子):用户和好友所发表的信息51Testing软件测试网4hO0C5\R8O7b-|

nr9P~m9U,]gS3B v;j0  ● Comments(评论):对帖子、照片、视频等的评论51Testing软件测试网N o Vna(xD

51Testing软件测试网5Iq4f1{Y1F$sz

  ● Photos(照片):用户和好友所上传的照片51Testing软件测试网/R po~g*B7i Fk

51Testing软件测试网R:w@Ps4xM Oz:V

   Components可以看作功能列表(Function List)的顶层元素,是产品核心功能的清单。《How Google Tests Software》建议Components列表要尽可能简单,10个Components很好,20个就太多了。其目的是重点考虑对产品、对用户最重要 的功能与代码,并避免漫长的Components列表所导致的分析瘫痪。

r3Hy*~(C [0

&g"Kw6Nq0  第三步是确定产品的Compatibilities(能力)。 Compatibilities是产品的动词(verbs),描述了一个Component提供了何种能力来实现一个Attribute。在HTSM的角 度,Compatibilities位于HTSM->Product Elements->Function和HTSM->Quality Criteria->Operation Criteria->Compatibility,刻画了产品实现其核心价值的手段。

+_T_N~+kGp0Google+的Compatibilities矩阵如下:

51Testing软件测试网A2@j@%Oe


&c,q9sz3{{y3i-w0

Social

5R&y#Hb O9Hf'j0

Expressive

'L,]R$w [`'d0

Easy

NP P#a+C P u+l.n0

Relevant

X/j!u'E+dzzX[ R4GZ0

Extensible

O9Ai|6EX0

Private

0H8?*b Y*p0

Profile51Testing软件测试网;Y a xe2N(u#T-y.c

在好友中分享个人资料和兴趣爱好51Testing软件测试网m3T4C5Vz M MW

用户可以在网上表达自我

!v1g` A t@n\0

很容易创建、更新、传播信息51Testing软件测试网o\gA"btN@/t


8L6fd&k*Rg Wd7T0{0

向被批准的、拥有恰当访问权限的应用提供数据

/Z Zf1Yv2c,g6Y2T~0
    • 用户可以保密隐私信息
    • 只向被批准、拥有恰当访问权限的应用提供信息

People51Testing软件测试网a8g| {`3v3d$E~

用户能够连接他的朋友51Testing软件测试网\h"L5p8z(PbMy

用户可以定制个人资料,使自己与众不同51Testing软件测试网)aKg}p#jwZq

提供工具让管理好友变得轻松51Testing软件测试网1C#O4[F"W1h+C(D9i-p

用户可以用相关性规则过滤好友51Testing软件测试网4}}G&a.]d

向应用提供好友数据51Testing软件测试网x2Mf$G6z w[(U;E

只向被批准、拥有恰当访问权限的应用提供信息

pN%~tN c{0hF|0

Stream

U%`EB?3J0U0

向用户提示其好友的更新

$Z&H&km[K9Fqx8_0

2L~ q:h5sp+ob#z0
51Testing软件测试网I9esV$seW g'o P

用户可以根据兴趣过滤好友更新

#L3U*] X:N{D/w"M7J0

向应用提供信息流

,R[}5NH2^'xb'm v+G z0
51Testing软件测试网5hDJ/q q|I,A?4g

Circles51Testing软件测试网gW2F*qn&cw"h{U

将好友分组51Testing软件测试网 {.eV.a%a#?7A H

根据用户的语境创建新圈子

.Y*i*Af|A4B!sF0

鼓励创建和修改圈子51Testing软件测试网[ v1s(p_M

51Testing软件测试网 cIs-Rv#o(F

向应用提供圈子数据51Testing软件测试网0g Rcd#^!_T_:_)X&B

51Testing软件测试网W8Kwj ^

Notifications51Testing软件测试网d:^FkO.`~Y

51Testing软件测试网w)CjY*Ni%_7f

|w(S\GH _$q_9z0

简明地展示通知

1lW],gHHwXR0
51Testing软件测试网"\l4qr v

向应用提供通知数据

H%h"H4n~CejZ^P v!x0
51Testing软件测试网,V&i*ULC`B$J+s

Hangouts51Testing软件测试网"U~E7T _$hM3M

    • 用户可以邀请他们的圈子加入群聊
    • 用户可以公开其群聊
    • 好友访问用户的信息流时,他们被告知群聊

加入群聊前,用户可以预览自己的形象

0}W7a2\*a]*N2MB [hq0
    • 只要几次点击就可以创建并加入群聊
    • 只要一次点击就可以关闭视频和音频输入
    • 可将好友加入已有的群聊

m2]d1Iz,H}0
    • 用户可以在群聊中使用文字交流
    • YouTube视频可以加入群聊
    • 在“设置”中可以配置群聊的硬件
    • 没有摄像头的用户可以音频交谈
    • 只有被邀请的用户才能加入群聊
    • 只有被邀请的用户才能收到群聊通知

Posts51Testing软件测试网n]bWt}r7G.H


IVS(d o}U%K0

表达用户的想法

1y4?q&JX%\-D0

,Z&D}O5o Qj-T0
51Testing软件测试网x QI)ssVMj

向应用提供帖子数据

r9{+qB2X2a;i)C0

帖子只向被批准的用户公布51Testing软件测试网P%t-Cs(t {'x@~_

Comments51Testing软件测试网@b|#} k\oq!t6R

51Testing软件测试网6Ofv+d#TJ0e

用评论表达用户的想法

7Q8P [RXZ1}J0
51Testing软件测试网 k$F0Mj2d_

XluPrT S8~0

向应用提供评论数据

jgiV'L rxp1j0

评论只向被批准的用户公布51Testing软件测试网Q^Y Y+Z z`2X%C l

Photos51Testing软件测试网)H:{)Mw5_

用户可以分享他的照片51Testing软件测试网8mo T,[ IO p[ I^5s

51Testing软件测试网b{]._)r(DL
    • 用户能方便地上传照片
    • 用户能方便的从其他来源导入照片
51Testing软件测试网3D3HE7}%j~

与其他照片服务集成

SKO9[)P y+eC0

照片只向被批准的用户公布

0f VB#s*^tI0

  Compatibilities通常是面向用户的(user-oriented),反映了用户视角的产品行为。测试 人员也应该保持Compatibilities矩阵的简洁,他们应该关注对用户而言最有价值、最有吸引力的能力,并在合适的抽象层次(right level of abstraction)记录Compatibilities。最重要的是,Compatibilities应该是可测的(testable),测试人员 能够设计测试来检查产品实现了预期的Compatibilities。

9Ft Q1~.O0

TAG:

 

评分:0

我来说两句

Open Toolbar