測試的發展源于對質量的重視 個人的提升來自對職業的熱忱

软件测试的14种类型(上)

上一篇 / 下一篇  2007-04-21 10:19:58

软件测试是指使用人工或者自动的手段来运行或测定某个软件产品系统的过程,其目的是在于检验是否满足规定的需求或者弄清预期的结果与实际结果的区别。本文主要描述软件测试的类型。51Testing软件测试网5T+x/m@N+l(h |

bF%R#s*n(w01 数据和数据库完整性测试
%I$o r/L fs2c051Testing软件测试网3@/?8`1[o%rq
数据与数据库完整测试是指测试关系型数据库完整性原则以及数据合理性测试。51Testing软件测试网F5O PD,K4i%]Ur+c
数据库完整性原即:51Testing软件测试网'}(c D \{y#_;d
主码完整性:主码不能为空;51Testing软件测试网 ~ys f7F/R3u xy
外码完整性:外码必须等于对应的主码或者为空。51Testing软件测试网e&Y"iFu @A
数据合理性指数据在数据库中的类型,长度,索引等是否建的比较合理。
$m2_e p%|(a5dnOtO)i"j0在项目名称中,数据库和数据库进程应作为一个子系统来进行测试。在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。对于数据库管理系统 (DBMS),还需要进行深入的研究,以确定可以支1持测试的工具和技术。
(C-T[ Wj@i0
#H&kA&c]&z H[Ri0比如,有两张表:部门和员工。部门中有部门编号,部门名称,部门经理等字段,主码为部门编号;员工表中有员工编号,员工所属部门编号,员工名称,员工类型等字段,主码为员工编号,外码为员工所属部门编号,对应部门表。如果在某条部门记录中部门编号或员工记录员工编号为空,他就违反主码完整性原则。如果某个员工所属部门的编号为##,但是##在部门编号中确找不到,这就违反外码完整性原则。
1p5oj.dk5d*g0员工类型如下定义:0:职工,1:职员,2:实习生。但数据类型为Int,我们都知道Int占有4个字节,如果定义成char(1).就比原来节约空间。
2qcHg)A,u[(o051Testing软件测试网tD0Zg9]Z

P/^Oo2`;YY8S02 白盒测试51Testing软件测试网-woIn-V1^+g_.d

Szj%hD+}x0白盒测试是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。白盒测试分为动态白盒测试和静态白盒测试
LtNiid02.1 静态白盒测试51Testing软件测试网#g,\)EN0\Yh
利用眼睛,浏览代码,凭借经验,找出代码中的错误或者代码中不符合书写规范的地方。比如,代码规范中规定,函数必须为动宾结构。而黑盒测试发现一个函数定义如下:
VRH(Kl+S0Function NameGet(){
{"u3j]|y7D1]0w0….
f#p2C H$jT.jt'z0}51Testing软件测试网)u;t}n ~e C z
这是属于不符合开发规范的错误。
F:e0_%Rr L8WmF3rJ+D0有这样一段代码:
;E/G [d2t,RA/gq xN0if (i<0) & (i>=0)
}f8?1e/Z`0
I,j$cx!G A0这段代码交集为整个数轴,IF语句没有必要
;vHm%K7WiBq0I=0;
Y9[ V&Q;Wx0while(I>100){
*Z-Y3HBWq L8v?z%]0J=J+100;51Testing软件测试网2G[` d3ex L$zQ
T=J*PI;51Testing软件测试网c)yIuF/D)`?/M
}
xFm~q&fs~0在循环体内没有I的增加,bug产生。
|g#Wfb6V051Testing软件测试网0x2PE Db;a.J5b"|n@
2.2 动态白盒测试
iqf?%DmLL:e|p0利用开发工具中的调式工具进行测试。比如一段代码有4个分支,输入4组不同的测试数据使4组分支都可以走通而且结果必须正确。
r3TW1Z/eP e)G0看一段代码
V7mPc"_g ];v0if(I<0){51Testing软件测试网aJ}{\n1wcG/M,U
P1
)FAi-J k w[~(f0}else{51Testing软件测试网6eHpZL
P2
O4m:J Epn0}
W+p0j4aA r)wB0在调试中输入I=-1,P1程序段通过, P2程序段未通过,属于动态黑盒测试的缺陷51Testing软件测试网n){ ?hl'D F0l"h,o\-Z

8UD:Dtx qO$fxO p2X)L[03.功能测试
f&~ LG`b0
IPD.upt@H%P O/t0功能测试指测试软件各个功能模块是否正确,逻辑是否正确。51Testing软件测试网w owK+r
对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。此类测试基于黑盒技术,该技术通过图形用户界面 (GUI) 与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。功能测试的主要参考为类似于功能说明书之类的文档。51Testing软件测试网if Tp4w
比如一个对电子商务系统,前台用户浏览商品-放入购物车-进入结账台,后台处理订单,配货,付款,发货,这一系列流程必须正确无误的走通,不能存在任何的错误。51Testing软件测试网H4x`p+h4g1o3HO)M

1tiFy#p_h w04.UI测试
HQ*I \'A051Testing软件测试网npJ|L+n)t
UI测试指测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字,图片组合是否完美,背景是否美观,操作是否友好等等
B0xc9BUs ^0用户界面 (UI) 测试用于核实用户与软件之间的交互。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。另外,UI 测试还可确保 UI 中的对象按照预期的方式运行,并符合公司或行业的标准。包括用户友好性,人性化,易操作性测试。UI测试比较主观,与测试人员的喜好有关
$Qp(VC+H0比如:页面基调颜色刺眼;用户登入页面比较难于找到,文字中出现错别字,页面图片范围太广等都属于UI测试中的缺陷,但是这些缺陷都不太严重。
Q RG M;}'z2yc c051Testing软件测试网'u d)f r?
5.性能测试51Testing软件测试网$P5Q8P,d&e4p"E fR S

I+M}@fwT,n0性能测试主要测试软件测试的性能,包括负载测试,强度测试,数据库容量测试,基准测试以及基准测试51Testing软件测试网^&p:z3FH2Lt
5.1负载测试51Testing软件测试网*fD/]tlB Z
负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。51Testing软件测试网L4oZ$R|%|%h*J
在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
CZ7R0S,qR.g0比如,在B/S结构中用户并发量测试就是属于负载测试的用户,可以使用webload工具,模拟上百人客户同时访问网站,看系统响应时间,处理速度如何?
-|I#NqI nZ05.2强度测试51Testing软件测试网i|#E4R e5\] t
强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。这类测试往往可以书写系统要求的软硬件水平要求。
Y6a`z8X8S mr,s0实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。51Testing软件测试网*j(`4D;|q(WWcD#F
比如:一个系统在内存366M下可以正常运行,但是降低到258M下不可以运行,告诉内存不足,这个系统对内存的要求就是366M。51Testing软件测试网EP_1iP8_1|%|v
5.3数据库容量测试51Testing软件测试网-kPu"Nyl
数据库容量测试指通过存储过程往数据库表中插入一定数量的数据,看看相关页面是否能够及时显示数据。
WTx;d gN0数据库容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。例如,如果测试对象正在为生成一份报表而处理一组数据库记录,那么容量测试就会使用一个大型的测试数据库,检验该软件是否正常运行并生成了正确的报表。做这种测试通常通过书写存储过程向数据库某个表中插入一定数量的记录,计算相关页面的调用时间。
p;O;kz0~+d0比如,在电子商务系统中,通过insert customer 往user表中插入10 000数据,看其是否可以正常显示顾客信息列表页面,如果要求达到最多可以处理100 000个客户,但是顾客信息列表页面不能够在规定的时间内显示出来,就需要调整程序中的SQL查询语句;如果在规定的时间内显示出来,可以将用户数分别提高到20 000 , 50 000, 100 000进行测试。
)i*kT w3Fxt,x05.4基准测试
imi0I4cBq0基准测试与已知现有的系统进行比较,主要检验是否与类似的产品具有竞争性的一种测试。51Testing软件测试网M9j'~zq r
如果你要开发一套财务系统软件并且你已经获得用友财务系统的性能等数据,你可以测试你这套系统,看看哪些地方比用友财务系统好,哪些地方差?以便改进自己的系统,也可为产品广告提供数据。
B/BSL!do ]F05.5竞争测试
v1VY;L%cWV5zw0软件竞争使用各种资源(数据纪录,内存等),看他与其他相关系统对资源的争夺能力。比如:一台机器上即安装您的财务系统,又安装用友财务系统。当CPU占有率下降后,看看是否能够强过用友财务系统,而是自己的系统能够正常运行?
A.tf5| ?0
7]t@7jN6NM06. 安全性和访问控制测试51Testing软件测试网(t Ucnh|j)D5T
51Testing软件测试网{&^8z)x[eZ
安全性和访问控制测试侧重于安全性的两个关键方面:
r7AA(Uu?#O`0[0应用程序级别的安全性,包括对数据或业务功能的访问
Z&h9D {+ps%Ex J$Z0系统级别的安全性,包括对系统的登录或远程访问。51Testing软件测试网p`&O,r#w#B
6.1应用程序级别的安全性51Testing软件测试网,s,H$x/}%Rp&F
可确保:在预期的安全性情况下,主角只能访问特定的功能或用例,或者只能访问有限的数据。例如,可能会允许所有人输入数据,创建新账户,但只有管理员才能删除这些数据或账户。如果具有数据级别的安全性,测试就可确保“用户类型一”能够看到所有客户消息(包括财务数据),而“用户二”只能看见同一客户的统计数据。51Testing软件测试网$Zz UZS8eS T
比如B/S系统,不通过登入页面,直接输入URL,看其是否能够进入系统?
@"un/|5y!W)k06.2系统级别的安全性
R R ?b2`V(_+R0可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。51Testing软件测试网TX[I \8X {A
比如输入管理员账户,检查其密码是否容易猜取,或者可以从数据库中获得?51Testing软件测试网I3Q#qF#@$v zI

B']2`,q:L{7Tk [V-[/S S07.故障转移和恢复测试
*i,f g7Y5|C2m+~G\U"E051Testing软件测试网P F5uN9zw yq-m
故障转移和恢复测试指当主机软硬件发生灾难时候,备份机器是否能够正常启动,使系统是否可以正常运行,这对于电信,银行等领域的软件是十分重要的。51Testing软件测试网%R]@Ix
故障转移和恢复测试可确保测试对象能成功完成故障转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件或网络故障中恢复。51Testing软件测试网&AkIu_s+Z ZZY']!T
故障转移测试可确保:对于必须持续运行的系统,一旦发生故障,备用系统就将不失时机地“顶替”发生故障的系统,以避免丢失任何数据或事务。
9B(D/Y+a F A:[O0恢复测试是一种对抗性的测试过程。在这种测试中,将把应用程序或系统置于极端的条件下(或者是模拟的极端条件下),以产生故障(例如设备输入/输出 (I/O) 故障或无效的数据库指针和关健字)。然后调用恢复进程并监测和检查应用程序和系统,核实应用程序或系统和数据已得到了正确的恢复。一定要注意主备定时备份
J"N[ ZA,J0比如电信系统,突然主机程序发生死机,备份机器是否能够启动,使系统能够正常运行,从而不影响用户打电话?

TAG:

 

评分:0

我来说两句

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 5537
  • 日志数: 10
  • 文件数: 2
  • 建立时间: 2007-04-09
  • 更新时间: 2007-05-18

RSS订阅

Open Toolbar