软件测试技术基础学习笔记之测试过程
上一篇 / 下一篇 2008-12-28 18:51:45 / 天气: 阴雨 / 心情: 谨慎 / 个人分类:测试基础知识
1、测试阶段划分(按测试执行顺序):
定义:针对软件基本组成单元(软件设计的最小单位)来进行正确性检验的工作;
Nr6F/c-YZR!q0测试目的:检测软件模块对《详细设计说明书》的符合程度。
*C{\+wJ8@F)\SZFf0
- 集成测试(Integration Testing)
定义:在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统,验证组装后功能以及模块间接口是否正确的测试工作;51Testing软件测试网!GZ9J} Z t%f1pC#ru
测试目的:检测软件模块对《概要设计说明书》的符合程度。51Testing软件测试网4DJc8Lm7]k
- 系统测试(System Testing)
定义:将已经集成好的的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他元素组合在一起,在实际运行(使用)环境下,对计算机系统进行的一系列的测试工作。51Testing软件测试网WB8[Q(Q+X\}yr p
测试目的:与《需求规格说明书》做比较,发现软件与系统需求定义不符合或与之矛盾的地方。
m;iB4Nx4Ad9Ob%IUy0
- 回归测试(Regression Testing)
定义:软件在测试或其他活动中发现的缺陷经过修改后,进行的测试;51Testing软件测试网;A*xjU-I.i.{~!c
测试目的:验证缺陷得到了正确的修复,同时对系统的变更没有影响以前的功能;
3GD2w m&`VA2k+R0特点:回归测试可以发生在任何一个阶段,包括单元测试、集成测试和系统测试;51Testing软件测试网8P1@}n0y
策略:51Testing软件测试网$P|+De3i.X I:S
①、完全重复测试:重新执行前期建立的所有测试用例,并确认确认缺陷解决和修改的扩散影响性;
^ d1Tc Yr0②、选择性重复测试:51Testing软件测试网7h\,\\*x z5M'{9y9R
——覆盖修改法:选择直接影响的用例;51Testing软件测试网_ JRjz1_
——周边影响法:选择间接影响的用例;
Pt@K.X0——指标达成方法:达到指标的覆盖率等。51Testing软件测试网3W'jj)^0Y9T}0g
流程:
5B{d*J7j#u,p0
- 制定回归测试策略
- 确定测试的版本
- 按照回归测试策略执行回归测试
- 回归测试通过,关闭缺陷跟踪单(问题单)
- 回归测试不通过,缺陷跟踪单返回开发人员,经开发人员修改后再次进行回归测试
;_]%mv-bupj"}0回归测试自动化:(需考虑的问题如下)
~7r0E\;D?u4N2E0
$d6H1],s#YcSIY&z0注:FLURPS即:功能、局域化、可用性、可靠性、性能、技术支持
SMb~/G n:p(j02、单元测试、集成测试、系统测试的比较:
- 测试方法:
单元测试属于白盒测试范畴;
:~c-F6BR0集成测试属于灰盒测试范畴;
z.iFu9N oS0系统测试属于黑盒测试范畴;51Testing软件测试网wU-a&@pq2E
- 考察范围:
单元测试主要测试内部数据结构、逻辑控制、异常处理等;
y%Y!dm6_h z_0集成测试主要测试模块间的接口与接口数据传递关系,以及模块组合后的整体功能;
%a^X*u_ZW0系统测试主要测试整个系统相对于需求的符合度;
)Z:KV:|4[0
- 评估基准:
51Testing软件测试网#[9S \9Yb J单元测试主要通过逻辑覆盖率来评估;51Testing软件测试网oH!E mM&`
集成测试主要通过接口覆盖率来评估;
:fz'p!Q(u D GG0系统测试主要通过测试用例对需求规格的覆盖率来评估;
@vZT Z&B)k)P:Y#l0
51Testing软件测试网 WQ)fxk
3、测试阶段的过程划分:
z9{` D ]0
过程划分 51Testing软件测试网-S ]"gy(T A{i,F | 输出 ,X8HF"i/S5`5g \f0 |
- 测试计划阶段——测试计划
- 测试设计阶段——测试方案
- 测试实现阶段——测试用例、测试规程
- 测试执行阶段——测试报告
主要的测试文档:51Testing软件测试网,j&W#E.F'u_X
- 测试计划:测试范围、方法、资源,以及相应测试活动的时间进度安排表的文档;
- 测试方案:为完成软件集成特性的测试而进行的设计测试方法的细节文档;
- 测试用例:为完成一个测试项的测试输入、预期结果、测试执行条件等因素的文档;
- 测试规程:执行测试时测试活动序列的文档;
- 测试报告:执行测试结果的文档;
- 测试日报:每天测试执行情况的记录和总结。
4、测试过程模型:
- 瀑布模型:缺点是没有测试阶段独立分开
- H模型:优点是把测试工作独立出来
4T:Z/b"P]/S3VVj051Testing软件测试网#hd+H%g[测试准备活动包括:测试需求分析、测试计划、测试设计、测试编码、测试验证;51Testing软件测试网.]E2oq&}+[9Ig
0[d2o j)X^o;a0测试执行活动包括:测试运行、测试报告、测试结果分析等;51Testing软件测试网"L+M`Y T6j
- V&V模型:验证(verification)与确认(validation)模型
51Testing软件测试网L?B,F+{maz`']+@d,dQ2C0验证:保证软件正确地实现特定功能的一系列活动;
p o3]{fwhp051Testing软件测试网T!b;z\!}wl.`0e确认:保证所生产的软件可追溯到用户需求的一系列活动51Testing软件测试网 N&?}DyM n
优点:测试设计和测试执行相分离;测试工作独立分开,并和开发联系起来;测试执行顺序与开发活动顺序相反。
RtEDu9l051Testing软件测试网P,qs)O5l4o,RG4N4Jy0nSQ.R0
5、软件测试过程规范
首先来看看软件最权威的规范CMM(capability maturity model 能力成熟度模型)关于过程的要素的描述有哪些?51Testing软件测试网9Zlfzo J_k3? T
- 角色(rolse):执行者、工作者
- 入口准则(entry criteria):过程执行的前提条件
- 输入(input):过程所需资源
- 活动(activities):过程执行
- 输出(output):过程执行结果
- 出口准则(exit criteria):过程结束的条件
- 评审和审核(reviews and audits):监督活动
- 可管理和受控的工作产品(work products managed controlled):标准性的东西
- 测量(measurements):可以度量的
- 书面规程(documented procedures):计划文档类
- 培训(training):业务培训等
- 工具(tools):过程执行采用的工具
4^:~\ R*YMN0这些要素已经全面囊括了一个过程的方方面面,如果在软件流程中的每一个过程都按照这样的规范执行,那么软件质量就能得到一定的保证!
6aG+Ee4J051Testing软件测试网"[!V.Vp Wy&M9JCm那么作为软件测试工作,在整个软件开发流程中的每一个过程中有哪些工作要做的呢?下面我将分角色、分阶段的来学习。
N0S-h%L*P0
6、系统测试过程
在这里主要研究软件系统测试过程中的输入和输出,了解我们应该根据什么来做、要做什么以及我们做的先后顺序是怎么安排的过程。
-o}[ Ph/` g0系统测试计划阶段:51Testing软件测试网Rn'v4O*E+h
输入:软件开发计划、软件测试计划、需求规格说明书51Testing软件测试网Ja.U.i;o;Y4A{;J
输出:系统测试计划
'en\*Sf aqN0系统测试设计阶段:51Testing软件测试网,b V{8Q;RGN2V\'c]
输入:需求规格说明书、系统测试计划51Testing软件测试网1AL4x8^)\(o7s
输出:系统测试方案51Testing软件测试网D!? @%d3l&]|
系统测试实现阶段:51Testing软件测试网|&`[!_N3K0W
输入:需求规格说明书、系统测试计划、系统测试方案
0R~1EbJ4VHH0输出:系统测试用例、系统测试规程、系统测试预测试项51Testing软件测试网%kd9Pg0YX\F
系统测试执行阶段:51Testing软件测试网"\*Oe7X8r0k P?`x
输入:系统测试计划、系统测试方案、系统测试用例、系统测试预测试项、系统测试规程51Testing软件测试网K fl},@vr;U0qD
输出:系统预测试报告、系统测试报告、缺陷报告51Testing软件测试网fq]|f6MG'pn
7、集成测试过程
同样这个过程将研究集成测试过程各个阶段的输入及输出。51Testing软件测试网FcC^$U,Icjh
集成测试计划阶段:51Testing软件测试网7O'z!b]!v5NTpu
输入:软件测试计划、概要设计说明书
-Dk*x@^8W0输出:集成测试计划51Testing软件测试网w` r&ic4c-L
集成测试设计阶段:51Testing软件测试网EdJ?'Rd
输入:概要设计说明书、集成测试计划51Testing软件测试网.s+s1e2c_\
输出:集成测试方案
pr o0K9` g[P0集成测试实现阶段:
xzcj[O5l0输入:概要设计说明书、集成测试计划、集成测试方案
|*O x7M J |"s0输出:集成测试用例、集成测试规程
xDtz)[b0集成测试执行阶段:
$R/We|~B0输入:集成测试计划、集成测试方案、集成测试用例、集成测试规程
k[W)K&mqcu0输出:集成测试报告、缺陷报告
-N.Xf N-^ Tj0
8、单元测试过程
同样这个过程将研究单元测试过程各个阶段的输入及输出。