H*s,c!_)r.t[0 什么集成测试(Integration Testing)?51Testing软件测试网fXu(it"\Z'Sj
集成测试是在单元测试的基础上,将所有的函数按照概要设计要求组装成为子系统或系统所举行的测试。51Testing软件测试网 ?O
{],svb
8x4H"t:\$lcpI"b0 集成测试的目的?51Testing软件测试网uh.H^F1Q;M#w
验证接口是否与设计相符合的;
XHz+[$NR0T1rw)\
C|t0 发现设计与需求中存在的错误。
:nk8W;?*]0`u/F03m~}5RO0 集成测试关注的重点?
|9Nra#P0W0 1.单元间的接口。51Testing软件测试网%_LJO[cGT
把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
4}&\lYWh'L0 全局数据结构是否存在问题,会不会被异常修改。51Testing软件测试网]{p } M8e3]
2.集成后的功能。
e;ss.tnl}+EE7Z0 各个子模块组合以后,能否达到预期要求的父功能;
u!Pm;U1_Qf
T$rN0 一个模块的功能是否对另一个模块的功能产生不利的影响;51Testing软件测试网Q rY)R{"B
单个模块的误差积累起来,是否会放大,从而达到不能接受的程度。51Testing软件测试网`g.kDZ'?%g3P
p
%Y~#{Wg:L0 集成测试的层次?
-?xA*E2D]0 模块内的集成测试;子系统内的集成测试;子系统间的集成测试。
(u_:X Sb9G6]*k051Testing软件测试网$D;O?$V)A7wh 有那些集成测试策略?
5G~T Q1}(H+w0 大爆炸集成方式:将所有进行过单元测试的单元组装起来一起进行测试。
-FB*M9PX+p/GL
m0 优点:可以迅速完成集成测试;Driver和Stub设计比较少;用例也是最少的;方法比较简单;多个测试人员并行工作,对资源利用较高。
*f7Aw3C1`0 缺点:发现错误难以定位;接口测试不充分;由于程序中存在不可避免地存在模块间的接口,全局数据结构等方面的问题,一次成功的可能性不大。
9W7UQ6R `(Y-^yw{0 适用范围:维护型项目;需求增加型项目;小型项目等。51Testing软件测试网H{@"A T |M
7sx3wWiz_0 自顶向下集成方式:采用了和设计一样的顺序对系统进行测试,它在第一时间内对系统的控制接口进行了验证;采用自顶向下的集成测试方式首先集中于顶层的组件,然后逐步测试处于底层的组件;可以采用深度优先和广度优先策略。51Testing软件测试网 C}Z*w9dNw A
优点:在测试过程中较早地验证了主要的控制和判断点;最多只要一个驱动,减少了驱动开发的费用;功能可行性较早得到证实,还能够给开发者和用户带来成功信心;如果选用深度方向组装的方式,可以首先实现和验证一个完整的软件功能;支持故障隔离。
W?^~U o'g0 缺点:桩的开发和维护是本策略的最大成本;底层组件行为的验证被推迟了;51Testing软件测试网3y?Q
_7o"O
底层组件的增加,整个系统变得越来越复杂,导致底层组件的测试不充分,尤其是那些被重用的组件。
l@(`yw4bzB{G!_yjk0 适用范围:产品控制结构比较清晰和稳定;产品的高层接口变化较小;产品的底层接口未定义或经常可能被修改;产品的控制组件具有较大的技术风险,需要尽早被验证;希望尽早能够看到产品的系统功能行为。51Testing软件测试网7t,V'h
I6wW%k
51Testing软件测试网'Dh^m:NY&A0aji 自低向上集成方式:从程序结构的最底层的组件开始组装和测试。
}YC-mq[#E0 优点:支持故障隔离;允许对底层组件行为的早期验证;在工作的最初能并行进行集成,在这一点上比使用自顶向下的策略效率高;减少了桩的工作量。51Testing软件测试网Yf9[;wmx)KA
缺点:驱动的开发的工作量很庞大;对高层的验证被推迟到最后,设计上的错误不能及时发现。51Testing软件测试网-rv*t#[.vVwr
适用范围:底层接口比较稳定,变动较少的产品;高层接口变化比较频繁的产品;底层组件较早被完成的产品。51Testing软件测试网U N8`kD+f5Y
51Testing软件测试网j$R7Pj0y#dL0L 三明治集成策略:系统分成三层,中间一层为目标层,测试的时候对目标层上面的一层采用由顶向下策略,对下面的一层采用自低向上的策略,最后测试在目标层会合。缺点:中间层在被集成前测试不充分。
]
g4J9a*M"}3[~*F05_ LWSg:S)Py0 基干集成策略:主要用在嵌入式系统。
|1v9|+w_
C(gA9\
y0Sx/iI7`0]${&q:u/H'S0 分层集成策略:....
j$y,\$\tx09U0Lv6] J+s Xz0 基于功能的集成策略:确定功能的优先级别;分析优先级最高的功能路径,把该路径上的所有组件集成到一起,必要时使用驱动和桩;分析下个关键功能,直到针对所有功能都进行了集成。缺点:对有些接口的测试不充分,会丢失许多接口错误;可能会有比较大的冗余测试。51Testing软件测试网fS1H/q)x q
4u*_!_l:N,{0m9gc0 基于消息的集成策略:...
vq3]SXR+B051Testing软件测试网R4Y [8]/U8k%@7vII+v 基于进度的集成策略:...
3i%v wr9df"X0BdB5VCoe0 基于风险的集成策略:...
C/l[t3e)dP-Kjq{0h/^4t8\.y`0 什么是系统测试?51Testing软件测试网%R,~P7o-[p)Q`
系统测试是将以集成好的软件系统,作为整个基于计算机系统的一个元素,外设,某些支持软件,数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的测试活动。
|U!yL.MZ:x"n/D1Dd
N
f051Testing软件测试网[TBMb&wd 系统测试常用类型。51Testing软件测试网Z3Ny?Ka{.i7uF
51Testing软件测试网@:lT4S"t ?#x 1.功能测试
TEe4X%aI'uDg0 主要发现是否有不正确或遗漏了的功能?功能实现是否满足用户需求和系统设计的隐藏需求?输入能否正确接受?能否正确输出结果?
}
D1Hl
|051Testing软件测试网 pX9^OdO+e#F!rQ 2.性能测试(Performance Testing)51Testing软件测试网V2wI-O+Cw
性能测试收集的信息:CPU的使用情况;IO使用情况;内存使用情况;信道使用情况;每个模块执行时间百分比;一个模块等待IO完工的百分比;指令随时间的跟踪路径;每一组指令页换入和换出的次数;系统反映时间;系统吞吐量,即每个时间单元的处理数量;所有主要指令的单元执行时间。51Testing软件测试网5r(lU(z*Pzi(@'_k
"pTJ%VK0 3.压力测试(Stress Testing)
3[5v8AR4}.v0 在一定的软硬件及网络环境下,通过大量的用户操作大量的数据,使系统资源处于一种极限的压力下运行,目的在于寻找系统实效点。51Testing软件测试网{+aU`3H
负载测试:在一定的软硬件及网络环境下,通过不同数量的用户运行不同数量级的业务,观察系统在不同负载下的性能表现。
[{ m^\D;v0
Fq+b3~,?Z {3~051Testing软件测试网IkQ:_.u 4.容量测试(VolumeTesting)
\7^(]H&D!H8~+rH#w0 使系统承受超载的数据容量来发现它是否能够正确处理?51Testing软件测试网3J!We
B*a
|%E
51Testing软件测试网{
i$f:^K s
F-M~{+v)v-Q9r0 5.安全性测试(Security Testing)
0h~KCniY f0 一些功能性的安全性问题:没有口令是否可以登录到系统中?各级用户权限划分是否合理?错误和文件访问是否适当地被记录?系统配置数据是否能正确保存,系统故障时能否恢复?51Testing软件测试网 ZS0Q!]||htk
51Testing软件测试网 iBI:UmS*y[ 6.GUI测试
[+^6U,IEa baP051Testing软件测试网9x j:l@!}]e%IM 7.可用性测试51Testing软件测试网0]H$I!H's(y4f
9c,Vlp?4YhF0 8.安装测试
@R
ywL0 gL:D%dk
d!s7R0 9.配置测试51Testing软件测试网)a-v(BX!M"C,C
@QC$z
51Testing软件测试网 v'r/vG%Ai4Iq 10.异常测试
2nsp\6}
Q0pU6t(f
x&D:Y2N%Z
K
y^0 11.备份测试
"M8ZP_9Y|!j6x0;NP:U&D^z;GGJ0 12.健壮性测试51Testing软件测试网5f1I&LVp.V`RZ
51Testing软件测试网1o1ms)L{ 13.文档测试51Testing软件测试网$^R$x({*K9p!Tc[N
?^ Z
sPqo0 14.在线帮助测试51Testing软件测试网![q*?;Q/oe!_a
51Testing软件测试网 _|4c1?L7i 15.网络测试
}emy7V051Testing软件测试网f%e_:u@SH 16.稳定性测试51Testing软件测试网+SqT3cq1U
/aci:q6K.v9pP(c[0-mX1pR
mV _8q%U
M0 51Testing软件测试网V[b+t-\`|3O^0Ky