欢迎光临 - 各位同仁看完博客记得留言啊!同时请关注我的博客,http://blog.magustest.com

《软件测试》第十五章 自动化测试和测试工具

上一篇 / 下一篇  2007-09-04 14:51:08 / 个人分类:读书笔记

b*O2D_Kh?jN$_0我终于看到自动化测试了,呵呵,不过这章不是我想象中的那样子,可能这本书并不是主要介绍自动化测试的吧。不过也接触了一些新的知识,不错不错。自己做过的东西回头再看就是有感觉啊:)

Xk"rH4P051Testing软件测试网.N@Dy Ol

The Benefits of Automation and Tools - 自动化测试和使用工具的好处
pH$z8z&yV4Y5Q-z0自动化?那要人干啥!呵呵……人不就是用来实现自动化囖。自动化测试有什么好处,面试的时候经常有人问,答案其实没有十分标准的,不过通常都离不开那些老论调。51Testing软件测试网#x7b Y7d _ X1~)Y
The principal attributes of tools and automation - 其实是工具的属性。与生俱来的能力51Testing软件测试网f;}i?&w X6_#B%S
1.Speed - 速度。机子执行的速度是人的N倍,不顾这是要付出代价的,在你教会电脑做事之前,那就是一堆废铁。51Testing软件测试网9QV8PaU4M5DZ
2.Efficiency - 高效。当机子在一边跑case的时候你还能设计出新的case。事情真的是这样子的么?估计是在调试脚本吧。
W0bH${/s7fc.S6v&F03.Accuracy and Precision - 准确和精确。电脑可以全天工作不休息而且不会出错。人是铁饭是钢,一顿不吃饿得荒。
&G*W ` KtA(@04.Resource Reduction - 节省资源。这个对于性能测试是最能体现出来的,雇用100个人来胡点还不如人家一台电脑模拟出来的用户牛!51Testing软件测试网'mK"W'q8yqt
5.Simulation and Emulation - 模拟。电脑可以模拟很多东西,例如变成一台打印机,不是变形金刚,只是一个虚拟的设备。
T:V{'F)BY1U9Vd06.Relentlessness - 电脑可以没日没夜地干活,只要有电!51Testing软件测试网Kx^_6\!h2b)D
工具永远都不能替代测试员,它们只是帮助人们更好地完成工作而已。所以说自动化测试并不能替代手工测试。

:q.gy]Q&{8@g0

Ie Q M-iu'I)d0Test Tools - 测试工具51Testing软件测试网4I E-dyf5FL
作为一个测试工程师,我们肯定接触过很多类型的软件,帮助我们更好地完成工作。不同厂商提供针对不停场景下应用的软件,不过这些软件来来去去都是下面要介绍的一些。设置公司里面自己写来帮助测试进行的软件,也必将落入以下的分类,嘿嘿,听起来很神奇~来看看吧。书中特别强调了两种不同风格的工具,non-invasiveandinvasive。非侵略性的与侵略性的。前者不会修改被测试的软件,只是检视和观察。后者就是指能够对操作环境进行某种方式的修改和对代码进行修改的测试软件。
51Testing软件测试网|;s!?"L;l7l P

51Testing软件测试网T!@%f D O\Fm

1.Viewers and Monitors - 观察器与监视器。这些监视器就是能让你看到一些在一般情况下看不到的细节。例如白盒测试里面的代码覆盖率,分支覆盖,条件覆盖等等。这些都是可以在工具的帮助下轻松得到具体的数据的。这类型的软件算是Invasive的。因为需要编译代码链接等等~~在计算机网络里面还有一种经常被使用的工具sniffer - 嗅探器。嗅探器是属于Non-invasive的工具。反正如果有一个软件能够让你看到平常人看不到的信息的话,这个软件就是一个Viewer。

2b3BG%YF y$[u|051Testing软件测试网 Y@f5W$E+A!hE t G

2.Drivers - 驱动器。就是一个控制器,可以控制软件的操作的工具。其实我们平时用的很多自动化测试工具,功能的性能的,都应该算是这一类的,书上举了一个例子,我看的有点迷惑,如图。
dVCg,Kw]d-K0
1rwM+y$YS0把右上角那个电脑的鼠标键盘拆掉,然后用右下角的电脑,给上面那个电脑发送模拟的键盘鼠标信息来进行测试。我刚看这个觉得很扯淡。然后书上立马就有个反问句说大家是不是觉得很扯淡啊。我真的是I cannot agree more啊,扯就一个字!书上给出的解释是:51Testing软件测试网6Xn\O+s:|
a.有可能某些软件或者操作系统不支持多任务,所以被测试的系统只能单独运行,不能加上Driver。用这种方法就能避免这个问题。
m"zOj$]8K)B8Z0b.如果从外部系统把操作命令输入进来,那么这个这个测试系统就是非侵略性。如果Driver和被测试的软件都在一个系统运行,那么有可能影响到测试结果。51Testing软件测试网qI+x,_:H[2x
这个解释听合理的:)呵呵。
51Testing软件测试网-y@&x1?G9WH(f?P

51Testing软件测试网%pU v5q%bRi

3.Stubs - 桩。桩更好跟驱动是相反的。例如现在要测试一个打印程序,如果打印出来的话第一比较麻烦,第二可能会有一些发现不到的细节上的错误。那么桩和仿真器emulator有什么区别呢,他们之间的区别就是桩还能看到不同系统之间发送的信息,而仿真器只能仿真,不具备查看内部数据的功能。51Testing软件测试网 m2?n/A3z#[X-y"Q

51Testing软件测试网6w0X O8olsB9z)d-EF

4.Stress and Load Tools - 压力和负载工具。压力工具,可以创建一个比较苛刻的系统环境,譬如说让系统可用内存在一个很低的水平,然后运行被测试软件。负载测试工具可以帮测试工程师对被测试系统进行负载的增加。例如模拟10000个web的用户。51Testing软件测试网1]K.r#zlv-{]3y|

} _9@){]E#^05.Interference Injectors and Noise Generators - 冲突注入器和噪声生成器。一图胜千言啊。
tT*S\r7p:O~051Testing软件测试网5N]3[[7k%nV-xB oja
我们可以在两台机子中间加一个电脑,中间人,呵呵。然后可以加入噪声或者对包进行更改什么的,达到测试的效果。
51Testing软件测试网,Wb.Zt7Y-w"o(t

51Testing软件测试网-[3ek6j/n:oo*]

6.Analysis Tools - 分析工具
V+d\7~(a6iVW/gM A0这里面包括:51Testing软件测试网;x?\ E,Y+C
Word processing software 文字处理
4g0x+` wI0
Spreadsheet software 表格处理51Testing软件测试网pdw^w
Database software 数据库51Testing软件测试网] Cj+bW/H w
File comparison software 文件比较
oiqw*QT x0
Screen capture and comparison software 抓图51Testing软件测试网%Js4g K[/[L4f
Debugger 调试
.Ny8PR|0
Binary-hex calculator 二进制计算器
E3~)i7p(||hn0
Stopwatch 计时器
#yj-?-l'H `9Hga0
VCR or camera 磁带机摄像机51Testing软件测试网RJVr M

51Testing软件测试网6xU+H.x0l!V)M"S+P

Software Test Automation - 软件测试自动化。软件测试自动化的目标就是达到在无人干预的情况下能自动跑脚本,自动找出相应的bug,自动报告,做log记录等等……反正就是!一条龙。鉴于书中讲的自动化方法比较过时,这里就偷懒不说了。不过其实用上先进的工具都是同样的一个过程。1.录脚本回放,最最低级的过程。2.修改脚本加入检查点,实现了检查bug的自动化。3.模块化脚本,实现少量脚本的重用。4.数据驱动,实现广义上的重用。就是写一次脚本,运行N个case。5.关键字驱动,据说可以实现自动化脚本和测试用例同步产生。这个有待验证。51Testing软件测试网N-^5N:L-UFrc.B

51Testing软件测试网@c0A*X$\"[ M

Random Testing -随机测试。这里书上用了一个猴子做比喻,呵呵,其实一个软件给了用户以后,我们根本不知道他们会怎么使用,有时候可能觉得不会有人那样子用软件的,但是什么事情都有可能发生,书上介绍了一种模拟随机时间的方法,就是搞一个robot,这个robot就像一个猴子那样子乱点,而且这个猴子还是个瞎子,软件挂了他还在乱点~51Testing软件测试网b@R%A5uI.m1O-P

Realities of Using Test Tools and Automation - 使用测试工具和自动化的现实。前途是光明的道路是曲折的。所以要认清楚其本质!
s,f2Hr@I9t"J01.软件在变,文档在变,需求在变。做自动化就要适应这些变化。由此得出,录脚本死路一条。51Testing软件测试网+L9Z,b[2o
2.工具不能代替人的眼睛和直觉。因为是我们赋予了工具能力,那些我们没有“教”那些软件的事情他是不会做的
)~2TZ:A[1h PI03.检查点是比较难做到。51Testing软件测试网%W.a)j9m R'p%Kw3e'WX
4.测试工程师很容易就依赖于测试工具了。不过测试工具并不是银弹。51Testing软件测试网u kEB J1V | Y
5.不要花费过多的时间在测试工具和自动化上面,这些都是为测试服务的,但是他们不是测试。51Testing软件测试网#aF)[q4iz vl
6.自动化脚本就是程序,所以也要跟开发程序一样,有代码控制,遵守指引。51Testing软件测试网e"TfldS1n QAj
7.一些带有侵略性(Invasive)的工具有可能对我们的测试造成影响。
&V6O igR0

TAG: 读书笔记 软件测试 自动化测试 测试自动化

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

maguschen

maguschen

男,测试工程师,白盒和自动化都做,兼职性能

日历

« 2020-07-22  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 21638
  • 日志数: 20
  • 图片数: 3
  • 建立时间: 2006-12-07
  • 更新时间: 2009-09-16

RSS订阅

Open Toolbar