【转】敏捷自动化测试
上一篇 / 下一篇 2010-03-23 13:35:17 / 个人分类:敏捷测试
h(g"D Aj-e[0原文:Agile Test Automation – James bach
'd#z#v%IL%h0
9VH#LA c,ycs:c-?8?0公式化的典型的自动化测试过程51Testing软件测试网&M.I
q.Mm H!ZN,m
1、 购买一个昂贵的GUI测试执行工具(例如 Rational、Mercury、Compuware等)51Testing软件测试网Z/U1J]]|
2、 定义很多测试用例
\{R+n\0w.L03、 招聘一个自动化测试组实现每个测试用例的自动化执行51Testing软件测试网(V0i7R jog
4、 构建一个完整的测试库和框架
+t'mT!P4U yct5N-Y05、 不断地完善和修正51Testing软件测试网WVy8C)~4{7B-ot?
51Testing软件测试网mZt*l5R-g4U
如果你的产品很容易测试并且变更不大的话,以上方式很适合。但是关于自动化测试,我们为什么想得那么狭窄?
Kl}j+L(|i!W+U0
X"AS@4eQ`-q0尝试把自动化测试想成是“任何使用工具来支持测试”。敏捷自动化测试就是把敏捷开发的原则应用在测试自动化上。51Testing软件测试网V NQAc0?/t
-l
r K4[`(Cd)a0 51Testing软件测试网:kvb$U*{
敏捷自动化测试的原则51Testing软件测试网"l9~Nki8gTCk
1、测试自动化意味着使用工具支持测试项目的各个方面,不仅仅是测试执行方面。
z&{:H2z$eT
Wi02、当测试自动化得到指定的程序员(toolsmiths-“工具铁匠”)支持时,会不断地顺利进行。
?e0E w5e
i-WL XY/r03、“工具铁匠”由测试员领导。51Testing软件测试网}
L8~ FA+g
4、“工具铁匠”收集并应用各种各样的工具来支持测试。
uJ%\b ML1m[(\g05、“工具铁匠”帮助实现可测特性并“打造”工具以便利用这些可测特性。
M9l
RE1TnE l*~06、 组织实现测试自动化是为了完成某个短期的目标。51Testing软件测试网+JE:T0@5jU_
7、 避免盲目进行长期的自动化测试任务,而不是基于业务场景的分析。51Testing软件测试网
s-cIU"oRE7K1x9bF
`.@^$]W QXY"j0工具支持测试51Testing软件测试网ILex+N5JM4w!c$w
1、 测试创建(数据和脚本的产生)
{G-w_(J7g6r'K0工具可以产生特定的数据,例如:随机的Email信息,或产生数据库,或产生组合参数来覆盖我们的测试。
7d s(W3hsj h
w02、 系统配置
/oE[3}UA0工具可以保持或重现系统参数,把系统设置到某个特定的状态,或创建或回滚到一个“ghost”的磁盘
pr$|1|^03、 模拟
Sd7J1_f'|E)Ri"X0工具可以为测试模拟一些不具备的环境条件,这些环境可能会很难出现或提供起来很昂贵。51Testing软件测试网6^t
~1ya,C0@*`4i
4、 测试执行
3r \Edi\h5N?0工具可以操作软件系统本身,模拟用户的GUI操作或绕过GUI层直接使用某些测试接口。51Testing软件测试网z
J+{%|x8R5m
5、 问题分析51Testing软件测试网;E{6o0yf+X!].j@
工具可以使某些不可见的东西可见。稳定地分析产品或分析log文件,或监视系统参数。51Testing软件测试网,R6p/wj+S
u?6g
6、“预言”51Testing软件测试网+~~&?)G"Ol'{
“预言”是通过某些机制来判断错误或成功。工具可以自动地判断产品的某些类型的错误条件。
5C(t8PE Jh&mE07、记录和覆盖分析
2mJ&Ug.bJ;g0工具可以帮助记录测试过程覆盖的地方和未覆盖的地方。
;K}GR(PF K08、 试管理51Testing软件测试网{vHnl`
工具可以记录测试结果,组织测试用例。
#|7G6y3A#[Wf0 51Testing软件测试网q
K*{Ha Z
到处是工具
| H;`r8Iw8O01、 MSDN库51Testing软件测试网9g1k'pFM,k'R
2、 微软的很多开发工具都包括很多有用的小工具51Testing软件测试网?b5R:Z.Km%{:lc&Y
3、 微软兼容性工具包和其他免费工具(www.microsoft.com)51Testing软件测试网8M+lh7fs~S
4、 基于网页的测试资源(HTML checkers、accessibility analyzers等)51Testing软件测试网&{!o4l!lB
5、 widows资源包
8uxq
a;?4Z3q4_06、 脚本语言(例如:Perl、Ruby、TCL)和相关库
c3n,s1N"Pn07、 共享资源库(www.download.com)51Testing软件测试网+R3{O)c|'[)c5?Y t7H
8、 操作系统监视工具(www.sysinternals.com)51Testing软件测试网9D^] H]0v#|
9、 开源测试软件(www.opensourcetesting.org)51Testing软件测试网%g*h ` ~B
10、 探索性测试的监视软件(www.spectorsoft.com)51Testing软件测试网f q SQ`@.P
11、 项目组其他人正在使用的工具51Testing软件测试网g1c C6D,xx&_)iz
S8D$Yg1Acqf`0“工具铁匠”的任务
#^*ga]`
G01、 快速响应测试员的请求并提供协助51Testing软件测试网4qW$d2eF P
2、 查找影响测试效率的问题
Q I5NLJK"C0v03、 调查测试员关心的问题的可能的解决方案51Testing软件测试网+R{'nIS(i_
4、 应用技术改进测试过程
s8Z.t:F4r
Ww5u$n05、 提供产品的可测性功能特性
+Uz m4N/^0x06、 研究工具并学习怎样使用51Testing软件测试网6?@["zQJ/|
7、 收集开发人员或测试员创建的工具
}]h0m4B+Qk08、 对产品进行评审以便计划自动化的可能性51Testing软件测试网J4|+_O7_9By
%Zq
TO;K9M0pur
E0测试员可能会问“工具铁匠”的问题51Testing软件测试网 _@6hJl'v
q$ok
1、 我怎样测试这个新的功能?
o'|YFiDa02、 我如何才能看到产品内部做了什么?51Testing软件测试网$W%O;d;_T JK]FS
3、 我如何判断测试是否通过?51Testing软件测试网 [(j[*Kf)_
4、 有没有办法让我能自动地执行这些操作?51Testing软件测试网mw,~K*r*R
5、 有没有办法让bug重现更加容易些?51Testing软件测试网d_ x4e/iyJ!q
6、 帮助我调查这些bug51Testing软件测试网v rb-M8S*Zhx
7、 这里有一个测试要执行,你能否帮助我产生1000个变量?51Testing软件测试网W!TM$n`g%^
8、 我的测试覆盖了产品的多少地方?51Testing软件测试网#} z{!G-VT{&_
9、 我想对产品进行压力测试,是否有什么工具可以使用?
x!f_ Fs;B4K0 51Testing软件测试网ff_8\6E+G L
管理敏捷自动化测试51Testing软件测试网
gF'y"k t!t
1、 请求清单
I]CrN(e/h(m8A0请求清单是测试员发出的自动化测试要求