展望2011

《软件测试》 自动化测试学习笔记

上一篇 / 下一篇  2007-05-16 16:42:00 / 个人分类:自动化测试

V&d"qk"@ ?'t!Z0软件测试自动化测试学习笔记(红字部分是我自己的理解)
I9T8j ^T+x;u0
参考资料:《软件测试》第14章自动测试和测试工具51Testing软件测试网h"G+\U2MZ

51Testing软件测试网 FE:jw a6O;d0q

一。工具和自动化的主要属性
J L3Nu~ _ HDI01。速度
gJGCS}+ev02。效率(测试人员可以做别的测试任务)
1t2pj4e\#Po3j0
3。准确度和精确度(前提是测试人员知道如何检查结果是否准确)
U:r~ }mPt rs0
4。坚持不懈(测试人员也会有疲倦的时候,注意力也会降低)51Testing软件测试网(fL_Rw TCxD

0W.~!WP C*NA+f0二。测试工具51Testing软件测试网a1]w_ fT.t o
1。查看器和监视器51Testing软件测试网0vL YmM h3}
能够看到平常看不到的软件操作细节。比如像网络抓包工具的使用,它是监听线路,取出经过的数据,在另一台计算机上显示。还可以观察软件缺陷为什么产生。(类似于观察linux后台日志,因为光从用户角度,是看不清楚整个过程的,有些BUG在界面上并不能看到,也能分析界面上BUG产生的过程,像这类可以深入观察数据流过程的测试工具是非常有用的)
j1x@8M5~B02。驱动程序51Testing软件测试网7H9O.Z;a(J*bhQ3p!Ez
用于控制和操作测试软件的工具。(这应该是目前大部分自动化测试工具所属的类型,让测试工具记录下顺序执行的程序或命令的简单清单)
N/ff.fE3m9G1Qa03。管道
{ rq9ZmW`0属于白盒测试技术,管道接受或者响应软件发送的数据,例如:一台电脑向打印机发送数据的软件,查看打印的结果是否正确,这个时候可以使用管道软件来代替打印机接受数据并检测结果。(我记得曾经使用这种软件,但还没有做到检测结果,该软件把最终打印的纸在电脑上显示出来)
&b%E/c*~Z*M04。施压和增负工具51Testing软件测试网;_ k*cv!t{/\1V
向测试软件增加压力和负载,施压工具可以分别设置内存量、磁盘空间、文件数量、以及其他可用资源。(不能理解为是性能测试工具,这里的压力来自于系统本身而非用户并发作用产生的)
d6~1@a.Wd05。干扰发射器和噪声发生器51Testing软件测试网W5KV"gZ$v[ ^8I t
类似于施压工具和增负工具,但是更具有随机性。决定在哪里和如何使用干扰发射器和噪声发生器时,考虑何种外部因素会影响测试软件,然后设法改变和操作这些影响因素看软件能否应付。(我理解为测试环境的特性是否会影响到测试软件的使用,和测试软件相关的外来因素都可以尝试变化,这里所指的工具应该是不用人工来变化测试环境,自动进行)
jobB }xdK x9e06。分析工具
r@ t)HCk+w0例如:字处理软件、电子表格软件、数据库软件等(我认为指的是辅助工具,曾经做性能测试时,LR分析报告中的数据需要通过Excel工具画出更直观的图表来分析结果,这里的Excel就是这种类型工具)51Testing软件测试网E | I N ly

51Testing软件测试网T:Z fU|

三。软件测试自动化
&qv#x6l%J_:~5^0它们可以执行测试案例、查找软件缺陷、分析看到的信息,记录结果。这就是软件测试自动化。
]D j[a/v0A0最基本的测试自动化类型是录制第一次执行测试案例时的键盘和鼠标操作,然后在需要重新执行时回放。属于驱动程序类型。

m7NIBc Q{0

~dEB)[I0四。使用测试工具和自动化的实质
'@i&z{0q)wx yFHf6Z4x0测试自动化不是万能的。存在下面这些问题:
9|p3v5MA,G(M&y01。软件变更。这时,需要编写自动化程序使其具备灵活性,在必要时能够方便快捷地改变(我个人认为像这种容易改变的软件,最好不要进行自动化测试,作者所说地解决办法太难实现了,谁能预料到下一个版本会改变成什么样?所以我的上一家公司没有进行自动化测试,因为版本变化太大了,做自动化测试只会吃力不讨好)
D3T7^-teicHW0
2。人眼和直觉是不可替代地。(因为自动化测试不可能像人一样聪明,看到新鲜事物时变化自己的测试案例。例如错误推断,测试人员在执行测试的过程中,看到某些现象后产生了新的想法,然后增加测试用例,而自动化测试工具做不到也无法告诉测试人员)51Testing软件测试网3|Ti.Wr)ztw i,Sr
3。验证难以实现。(也是指用户界面的变化太大,验证的结果发生变化。)51Testing软件测试网(`7~eon-~@
4。容易过分依赖自动化。执行了全部自动化测试没有发现软件缺陷,不等于认为没有缺陷要找了。(和手工测试是一个道理,软件缺陷是找不完的)
Ey:z+P#T A05。不要花费太多时间使用达不到测试软件目的的测试工具和自动化。(测试工具是用来进行实际工作的,如果像QTP这种功能强大的工具,并不支持PB应用程序,即使你再精通QTP,也无法使用它来自动化测试。所以根据测试系统来挑选测试工具,而不是盲目地跟风学习热门的测试工具,会熟练使用测试工具了也不代表你能做好自动化测试,切记)51Testing软件测试网l"e{Z'Le)\ a
6。编写宏、开发工具和编制猴子都属于开发工作。(这里指的是自己开发测试工具来实现自动化测试,我在上一家公司时,有位测试前辈曾经这样做过,用web的形式来自动化测试后台某模块的功能。但并没有做到完全自动化,因为最后结果需要测试人员来验证。)51Testing软件测试网tP ^&aU8yS
7。某些工具时侵入式的,可能导致测试的软件不正常失败。(这种情况我到没遇到过,是工具引起的问题就直接忽略吧)

'\,y.U2?)W$B-A*b051Testing软件测试网$jO.b/L})c"o

五。小结51Testing软件测试网}+Wb2Kd#E~m
测试自动化同样可以运用到编译器、网络和web服务器的测试中。好好想一想需要执行的测试任务,如何利用软件使其更加容易和快速实现--这正是自动化的领域。清楚何时使用工具和使用哪一种工具是软件测试员地重要技巧。(所以,自动化测试是一定建立在测试人员对所测系统非常熟悉,测试案例比较完全的基础之上,利用测试工具来达到提高测试效率的目的,千万别被测试工具给利用了。。。)
8KnR1aF!tX#pX0

!r e#ncap0

TAG: 软件测试 学习笔记 自动化测试

 

评分:0

我来说两句

Open Toolbar