软件GUI测试中的关注点1
上一篇 / 下一篇 2007-11-07 11:34:19 / 个人分类:学习资料
转自:http://www.testage.net/html/17/n-140417.html51Testing软件测试网iV;E3sc/}T
H.\NEJ%P0【摘要】 本文列数了软件黑盒测试过程中,在被测试软件中可能存在的常见软件问题。本文不会详细讨论基本的软件测试思想与常用技术,仅针对在软件黑盒测试过程中若干的问题做描述,并提供个人的参考测试意见与防范意见,希望可以为初学者提供些许帮助。51Testing软件测试网T5rpg6Jo c
51Testing软件测试网G$Q$nA"e!z【关键词】 软件测试,黑盒测试51Testing软件测试网1G*h-we-IYc2_t
51Testing软件测试网XzW J qP\h【引言】不能不说的二个问题51Testing软件测试网0dM7G+mc7~Z
m;B$SNH,?F+]0• 软件测试中的“二八”原则51Testing软件测试网yI'h\(tRQf0l
51Testing软件测试网(}#lrGlXFn&K80%左右的错误在进行用户测试之前已经被发现,而在剩余20%左右的错误中,存在80%左右的显性错误,剩余20%左右的错误是较难发现的隐性错 误。这条原则源自经济学的80-20原理。所以,我并不认为自己从事了一项伟大的工作,但是必须承认做好了这项工作对于整个软件开发体系在用户心目中的意 义巨大。51Testing软件测试网!O6[cs]E~T!@g
51Testing软件测试网'zd,E|{9fY? A• 软件黑盒测试解决的问题
R_r\b{H051Testing软件测试网o2h&a&x!r\S;_p简单来说,黑盒测试所解决的问题主要在于以用户眼光验证软件的结果。白盒测试关注范围(控制结构),而黑盒测试更关注结果(即我们常说的所见即所得)。黑盒测试试图发现以下几类错误:51Testing软件测试网f/N e3y_5|9|$p!El
功能错误或遗漏 界面错误 数据结构或外部数据库访问错误 性能错误 初始化错误和终止错误6@l4EYq\E9C0以下内容将会详细说明在软件黑盒测试中常见的各类错误。51Testing软件测试网1kx[;S s`(?
^7Y8@7|L$CQ0【正文】软件黑盒测试常见错误类型及说明51Testing软件测试网$C:AmW2y+[*Y(D7lq
"b#s[dKL~0• 用户界面错误51Testing软件测试网.l2Gr&z;Ld
51Testing软件测试网W7X9eFu!Bpn软件是为了满足用户需求而诞生的产物,无论是操作系统、游戏软件还是其他类型的应用软件。黑盒测试的很大一部分工作集中在用户界面上,不需要深入研 究其内在结构,而是“表面化”地使用软件,从输入输出的信息内容中寻找可能的错误和纰漏。总体上讲,用户对于软件的看法很大程度上依赖以下几点:51Testing软件测试网5\4@+n/b*L(vPBLv
功能性(实现软件应具备的基本功能) 易用性(用户学习掌握该软件所耗费的时间及在具体业务流程上的简化) 执行速度(多数是启动速度,查询速度,刷新速度及响应时间等因素) 用户使用时产生错误的比率(在允许用户任意使用的情况下,越少越好) 用户满意度(这里指的是用户界面设计与功能设计的用户评价)下面我们分开对该类型错误进行分析与描述。w7S'ob3e#y"^0• 功能性51Testing软件测试网"C+i`t1De o.{
51Testing软件测试网3F*}r6@$a@Feo-Z1c8y如果出现了以下情况之一,可以认为程序可能存在功能性错误:程序可以完成的某些事进行得非常困难,笨拙(繁琐),令人迷惑甚至难以忍受。主要表现为以下几个方面:51Testing软件测试网vt^3_Ig&vK
51Testing软件测试网No@H!K1)过度功能性51Testing软件测试网:~'z eHW%| J
-W.K-M+]l0将简单功能复杂化,这是设计上一个较常见的问题。尝试进行太多工作任务的系统将很难学习和掌握,而且容易忘记。它要求大量的文档(开发文档,帮助文 档和屏幕)。如果功能模块间模块过于紧密,则发生关联错误的几率要提高不少。有时候,用户需要的只是简单功能,而不要让它过于膨胀成为一个“怪物”。51Testing软件测试网:P/K'w*k+Tn
AK!Ogr)w02)夸大的功能性印象
s4{&~+|+s{0*@M$uy2^ ]*x]-n0用户手册和营销传单不能使程序功能实现得更多,尤其是营销传单。记住,在用户手册中哪怕宁愿对功能略微轻描淡写也不能夸大其词(当然,我们并不希望这样,我们总是要对此如实地进行编写――这是我们的责任)。51Testing软件测试网Xbhtk,vP5}Ae4o
0m8h$C2hC03)对手头任务的不适当性51Testing软件测试网)@Qe"@?8txHnn
51Testing软件测试网W%Ar-P*~n我们可以把它直观的理解为需求设计错误。对于任何一个项目,由于功能关键事项(就是常说的需求提炼)不存在、太有限(多数是因为没有完成)或者太慢 (需要改进程序结构或是内部算法)而不能完成真正的工作。举例来说,查询一个有8000条记录的数据库需要1个小时(天哪,我想我连10分钟都等不了), 虽然说具备了查询的功能,但是实在很令人怀疑此项功能是否会有人使用,更糟糕的情况是:由于用户使用了该功能而造成的恶劣印象难以在短时间内消除――虽然 对于开发人员来说那可能只是一个参数拼写错误了而已。51Testing软件测试网j#V#S Z)Q
w'bFXL+P:Ad04)遗漏功能51Testing软件测试网@0g m!t9p? B5gS
51Testing软件测试网5gi`$hFR%z功能没有实现,却出现在了用户手册中。或者是本来应该具备地特征性功能,在程序只能看到一个“影子”(有其名无其实)。多半情况下是由于需求变更时 没有对手册进行检查和更新,也有可能是因为遗漏了需求说明中应包含的功能(如果是那样,需要好好检查以前的工作方式是否正确)。51Testing软件测试网*@3M1j6f [bB2Q
MJQ2F^;MB;W05)错误功能51Testing软件测试网 K5N.E lP;AL)RN-`X
51Testing软件测试网9VY2F p%{9yub一个本来应该完成查询工作的功能却干了排序的活儿。这种疏忽一般不是因为没有实现功能,而是在分配功能的时候出现了问题,当然这种情况的发现和排除应该不是一件困难的事。
zp-Sxy`(ey051Testing软件测试网wF|:T ChHV6)功能性必须由用户创建51Testing软件测试网v^4W W*|Y8aQ.Y2w
51Testing软件测试网&j$ZV1f7^9s8M最常见的情况之一就是要求用户自己配置软环境(如配置数据源,一般都可以在安装程序中自动完成;当然还包括程序用到的组件在系统中不存在,安装程序 没有提供相应的支持,这对用户是不能接受的)。这类问题不完全一定都是错误,比如微软提供的Office宏的开发,是为了满足客户对于自身特色而设计的适 合其专业工作的程序。51Testing软件测试网(^"ozt!g.G*{
51Testing软件测试网6ba0XFL7)不能做用户期望的工作51Testing软件测试网 p2Z8DPUjw
51Testing软件测试网jG)uF K例如,极少有人会期望一个本来编写用来对姓名进行排序的程序却按照ASCII码的顺序排序。他们也不会指望用它来计算首位空格或区分大小写。当然用户名的排序还是要做的,问题是开发者需要重新构想一个新的排序规则来满足用户需求。51Testing软件测试网*V/P{Tn
51Testing软件测试网WFPM^• 人机交互51Testing软件测试网8In(T,v4B
I3Nfu.{)O0人机交互,程序与操作者之间的通信与交流。这不是早些年的科幻电影,我们也许每天都在做,在取款机前,在自动售卖机前。
)i/]xwsyg(~0t?&nE"L8|@(?6F01)遗漏信息
9n:T xqy$y)N051Testing软件测试网'k'[!M2g!JE你应该知道,所有的事都能从计算机屏幕上得到有效的消息。不要遗漏任何对于用户而言至关重要的信息,即使这些信息对你而言毫无用处。51Testing软件测试网xjd'^1i
vb8p@+EK g0――没有任何屏幕指令51Testing软件测试网m'PR&B