测试生命周期
公益讲座-
测试生命周期
-S
QA
测试过程
测试生命周期
测试计划
→
测试设计
→
测试开发
→
测试执行
→
测试评估
测试计划就是定义一个测试项目的过程,以便能够正确的度量
和控制测试。
第一部分:测试计划
测试计划的问题:
1
、测试计划经常是等到开发周期后
期才开始实行,使得没有时间有效的执
行计划;
2
、测试
计划的组织者可能缺乏
Client/Server
测试经验;
3
p>
、测试的量度和复杂性可能太大,没有自动化工具,很难计划和控制。
测试策略:
测试策略描述测试工程的总体方法和目标。
< br>描述目前在进行哪一阶段的测试
(单元测试、集成测试、系统测试)以及每个阶段
内在进行的测试种类(功能测
试、性能测试、压力测试等)。
测试策略包括
1
、要使用的测试技术和工具;
2
、测试完成标准;
3
、影响
资源分配的特殊考虑例如测试与外部接口或者模拟物理损坏、安全
性威胁。
测试计划最关键的一步就是将软件分解成单元,写成测试需求。
测试需求有很多分类方法,
最普通的一种就是按照商业功能分类。
把软件分
解成单元元件有几个好处:
<
/p>
1
、测试需求是测试设计和开发测试用例的基础,分成单元可以更
好地进行
设计;
2
、详细的测试需求是用来衡量测试
覆盖率的重要指标;
3
、测试需求包括各种测试实际和开发以及所需资源。
怎样估计测试工作量:
1
、效率假设:即测试队伍的工作效
率。对于功能测试,这主要依赖于应用
的复杂度,窗口的个数,每个窗口中的动作数目。
对容量测试,主要依赖于建立
测试所需数据的工作量大小。
2
、测试
假设:为了验证一个测试需求所需测试动作数目。
3
、应用的维数:应用的复杂度指标
。例如要加入一个记录,测试需求的维
数就是这个记录中域的数目。
4
、所处测试周期的阶段:有些阶段
主要工作都在设计,有些阶段主要是测
试执行。
测试资源:
1
、人力资源
测试经理
为测试项目提供总体方向。
开发测试计划、
征集并监督测试人员、
申请系
统
资源、监视并汇报工作进程、测试评估、测试需求的分解。
测试工程师
----
设计和开发
设计:对被测软件的详细了解、分解测试需求的技能、选择在
C/S
环境下
用来验证测试需求的技术
。
开发
:熟悉
SQA
、
VB
< br>、和脚本语言。
测试工程师
----
执行
<
/p>
负责测试执行和记录结果。
需要能够安装系统,
< br>网络知识,
初始化数据库和
其他初始条件。重要的是诊断
能力。
测试系统管理者
每个测试项目必须指定一个专人负责管理
SQA Suite<
/p>
。包括在服务器上安
装存储库,安装打印机连接,执行备份,以及
其他维护工作。管理者必须高度熟
悉
SQA
,网络工作经验。
2
、系统资源
安装
SQA
Suite
的硬件和软件环境
数据库服务器
该服务器必须专用于
测试工作,能够
重置某些初始值,包括系统日期和时
间等。
写测试计划的步骤:
1
、确定工程
收集下列信息
文档
已创建(是
/
否)
版本
/
日期
需求详述
功能详述
项目计划
设计详述
原型
用户手册
定义新的工程,
Adminà
New Project
。
确定软件的结构,用
Assetsà
Software Structure
选项定义软件结构。
2
、定义测试策略
测试策略项
例子
测试阶段
系统测试
测试类型
功能测试
测试技术
75%
用
SQA Suite
自动测试,
25%
手工测试
完成标准
95%
测试用例通过并且最高级
缺陷全部解决
特殊考虑
测试必须在上午进行
3
、分解软件,写测试需求
分析各种信息
反复检查并理解各种信息,
和用户交
流,
理解他们的要求。
可以按照以下步
骤执行:
1
、确定软件提供的主要商业任务
2
、对每
个商业任务,确定完成该任务所要进行的交易。
3
、确定从数据库信息引出的计算结
果。
4
、对于对时间有要求的交易,确定所要的时间和条件。这些条件包括数据
库大小、机器配置、交易量、以及网络拥挤情况。
5
、确定会产生重大意外的压力测试
,包括:内存、硬盘空间、高的交易率
6
、确定应用需要处理的数据量。
7
、确定
需要的软件和硬件配置。通常情况下,不可能对所有可能的配置都
测试到,
因此要选择最有可能产生问题的情况进行测试,
包括:
最低性能的硬件、
几个有兼容性问题的软件并存、
客户端机器
通过最慢的
LAN/WANF
连接访问服
务器。
8
、确定其他与应用软件没有直接关系的商业交易。包括:
管理功能,如启动和推出程序
配置功能,如设置打印机
操作员的爱好,如字体、颜色
应用功
能,如访问
email
或者显示时间和日期。
< br>
9
、确定安装过程,包括定置从哪安装、定制安装、升级安装。
10
、确定没有隐含在功能测试中的户界面要求。大多界面都在功能测试时
被测试到。还有写
没有测到,如:操作与显示的一致性,如使用快捷键等;界面
遵从合理标准,如按钮大小
,标签等。
把需求组织成层次图
4
、估计测试工作量
∑(
每个
测试的时间
*
每个需求的测试的数目
*
测试需求的的数目
)
(测试设计、开发、
….
)
5
、确定资源
人力资源
职位
姓名
特殊责任
/
说明
测试经理
测试工程师
设计
/
开发(可以多人)
测试工程师
测试执行(可以多人)
测试系统管理员
系统资源
系统
名称
/
类型
数据库服务器
网络
/
子网
服务器名称
数据库名称
SQA
测试存储库
网络
/
子网
服务器名称
客户测试机
包括专门的配置需求
列表
<
/p>
测试开发的
PC
机
列表
6
、创建工程调度表
任务
相关工作量(天)
整个
SQA
过程
38
测试计划
12
确定项目
1
定义测
试策略
决定测试需求
估计工作量
确定资源
调度测试活动
生成测试计划文档
测试设计
7
分析测试需求
指定测试过程
指定
测试用例
查看测试需求的覆盖率
测试开发
12
建立测试开发环境
录制和回放原型过程
开发测试过程
测试和调试测试过程
修改测试
过程
建立外部数据集合
重新测试并调试测试过程
测试执行
6
设
置测试系统
执行测试
验证测试结果
调查突发结果(
unexpected
result
)
生成缺陷日记
测试评估
1
回顾测试日记
评估测试需求的
覆盖率
评估缺陷
决定是否达到测试完成的标准
划
1
、介绍
目的
背景
测试范围
项目文件列表
2
、测试需求
3
、测试策略
测试类型
1
、功能测试
2
、用户界面测试
3
、性能测试
4
、压力测试
5
、容量测试
6
、配置测试
7
、安装测试
工具
4
、资源
人力资源
系统资源
5
、调度
6
、文档
软件元件
测试特性(
Assets
)
测试日记
缺陷报告
第二部分:测试设计
测试设计的问题
7
、书写测试计
p>
1
、不做测试设计,测试过程也是胡乱建立的。
2
、测试设计不详细,不是基于可量度的测试策略,例如测试计划覆盖一个
集合或者测试需
求的一个子集。
3
、测试过程没有采用最好的技术来检验
Window
s C/S
结构的测试需求
测试用例的选择规则
1
、选择与测试需求的实质部分最相
关的测试用例。
2
、选择的测试用例应该不容易应用程序的改变的影响。
下面是选择测试用例的几点具体规则:
1
、商业函数
商业函数一般与数据库有关,要测
试数据库的变化,有几种方法:
1
、如果数据库的的改变会反映在一个列表框中,那么就要选择
验证列表框
内容的测试用例。
2
、还可以检查交易完成后的确认对
话框。可以检查对话框的标题。图象比
较也可以检查确认对话框,但图象比较容易受其他
因素影响。
3
、修改脚本,
SQA
Basic
提供了强大的数据库支持。
2
、域的验证
各种不同的域选择相应的测试用例。
3
、用户界面测试
对象状态测试用例
4
、性能标准
等待状态测试用例
5
、压力下的操作
6
、访问控制
Object state
test case
7
、配置测试
不能选择图象测试用例(也分辨率
有关)和文件测试用例(与驱动器有关)
8
、安装选项和验证
对象状态用例和窗口存在用例,文件存在用例。
书写测试设计的步骤
生成测试需求报告
↓
指定测试过程
↓
指定测试用例(可选)
↓
回顾测试覆盖率
第三部分:测试开发
输入:被测软件、基于测试需求的测试设计
输出:测试过程和测试用例
目标:
1
、创建可以重用的测试过程和测试用例
2
、
维护测试过程、测试用例与相关测试需求的一一对应。
测试开发的问题:
1
、测试开发很乱,与测试需求或测
试策略没有对应性
2
、测试过程不可重复或不可重用
3
、测试
过程被作为一个编程任务来执行,导致脚本太长,不能满足软件移
植性的要求。
错误处理
当测试过程发生错误时,有几种解决办法:
1
、跳转到别的测试过程
2
、调用一个能够清除错误的过程
3
、退出过程,启动另一个
4
、退出
过程和应用程序,重新启动启动
Windows
,在失败的地方
重新开
始测试
测试开发的步骤
1
、设立开发环境
SQA Suite
连接到
S
QA
存储库
启动
SQA
Baisc
或
VB
被测软件
等等
2
、录制和回放原型过程
原型过程指出所有未知窗口控制,
使得他们都能象标准窗口那样动作或者没
有特别的动作,把他们
都划归为
Generic
类型。通过这个过程,
SQA
Robot
就知道该怎样处理应用中的特殊控制。
1
、把
recording
option
中的
Define Unknown
Object as Type
Generic
选项设置为
off
2
、使用
的过程标识符要可以被覆盖,或者能被删掉。因为这只是个原型,
用来教
SQA Robot
录制的过程
3
、录制测试过程和测试用例
1
、录制
模块测试过程和与测试需求最低层对应的测试用例;
2
、录制初始化过程;
3
、录制
导航过程,把前面的过程串起来;
4
、测试和调试测试过程