-
SQA测试过程(转来存档)
2007-08-28 14:32:10
测试生命周期
测试计划→ 测试设计→ 测试开发→ 测试执行→ 测试评估
测试计划就是定义一个测试项目的过程,以便能够正确的度量和控制测试。
第一部分:测试计划
测试计划的问题:
1、测试计划经常是等到开发周期后期才开始实行,使得没有时间有效的执行计划;
2、测试计划的组织者可能缺乏Client/Server测试经验;
3、测试的量度和复杂性可能太大,没有自动化工具,很难计划和控制。
测试策略:
测试策略描述测试工程的总体方法和目标。描述目前在进行哪一阶段的测试(单元测试、集成测试、系统测试)以及每个阶段内在进行的测试种类(功能测试、性能测试、压力测试等)。
测试策略包括
1、要使用的测试技术和工具;
2、测试完成标准;
3、影响资源分配的特殊考虑例如测试与外部接口或者模拟物理损坏、安全性威胁。
测试计划最关键的一步就是将软件分解成单元,写成测试需求。
测试需求有很多分类方法,最普通的一种就是按照商业功能分类。把软件分解成单元元件有几个好处:
1、测试需求是测试设计和开发测试用例的基础,分成单元可以更好地进行设计;
2、详细的测试需求是用来衡量测试覆盖率的重要指标;
3、测试需求包括各种测试实际和开发以及所需资源。
怎样估计测试工作量:
1、效率假设:即测试队伍的工作效率。对于功能测试,这主要依赖于应用的复杂度,窗口的个数,每个窗口中的动作数目。对容量测试,主要依赖于建立测试所需数据的工作量大小。
2、测试假设:为了验证一个测试需求所需测试动作数目。
3、应用的维数:应用的复杂度指标。例如要加入一个记录,测试需求的维数就是这个记录中域的数目。
4、所处测试周期的阶段:有些阶段主要工作都在设计,有些阶段主要是测试执行。
测试资源:
1、人力资源
测试经理
为测试项目提供总体方向。开发测试计划、征集并监督测试人员、申请系统资源、监视并汇报工作进程、测试评估、测试需求的分解。
测试工程师---- 设计和开发
设计:对被测软件的详细了解、分解测试需求的技能、选择在C/S环境下用来验证测试需求的技术。
开发:熟悉SQA、VB、和脚本语言。
测试工程师---- 执行
负责测试执行和记录结果。需要能够安装系统,网络知识,初始化数据库和其他初始条件。重要的是诊断能力。
测试系统管理者
每个测试项目必须指定一个专人负责管理SQA Suite。包括在服务器上安装存储库,安装打印机连接,执行备份,以及其他维护工作。管理者必须高度熟悉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或者显示时间和日期。
9、确定安装过程,包括定置从哪安装、定制安装、升级安装。
10、确定没有隐含在功能测试中的户界面要求。大多界面都在功能测试时被测试到。还有写没有测到,如:操作与显示的一致性,如使用快捷键等;界面遵从合理标准,如按钮大小,标签等。
把需求组织成层次图
4、估计测试工作量
∑(每个测试的时间*每个需求的测试的数目*测试需求的的数目)(测试设计、开发、….)
5、确定资源
人力资源
职位 姓名 特殊责任/说明
测试经理
测试工程师
设计/开发(可以多人)
测试工程师
测试执行(可以多人)
测试系统管理员
系统资源
系统 名称/类型
数据库服务器
网络/子网
服务器名称
数据库名称
SQA 测试存储库
网络/子网
服务器名称
客户测试机
包括专门的配置需求
列表
测试开发的PC机 列表
6、创建工程调度表
任务 相关工作量(天)
整个SQA过程38
测试计划12
确定项目1
定义测试策略
决定测试需求
估计工作量
确定资源
调度测试活动
生成测试计划文档
测试设计7
分析测试需求
指定测试过程
指定测试用例
查看测试需求的覆盖率
测试开发
12
建立测试开发环境
录制和回放原型过程
开发测试过程
测试和调试测试过程
修改测试过程
建立外部数据集合
重新测试并调试测试过程
测试执行
6
设置测试系统
执行测试
验证测试结果
调查突发结果(unexpected result)
生成缺陷日记
测试评估1
回顾测试日记
评估测试需求的覆盖率
评估缺陷
决定是否达到测试完成的标准
7、书写测试计划
1、介绍
目的
背景
测试范围
项目文件列表
2、测试需求
3、测试策略
测试类型
1、功能测试
2、用户界面测试
3、性能测试
4、压力测试
5、容量测试
6、配置测试
7、安装测试
工具
4、资源
人力资源
系统资源
5、调度
6、文档
软件元件
测试特性(Assets)
测试日记
缺陷报告
第二部分:测试设计
测试设计的问题
1、不做测试设计,测试过程也是胡乱建立的。
2、测试设计不详细,不是基于可量度的测试策略,例如测试计划覆盖一个集合或者测试需求的一个子集。
3、测试过程没有采用最好的技术来检验Windows 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
连接到SQA存储库
启动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、测试和调试测试过程
5、修改测试过程(可选)
6、建立外部数据集合
如果测试过程是用来循环一套输入和输出数据,就需要建立数据集合。
7、重复测试和调试测试过程,回到4
第四部分:测试执行
测试执行的问题
1、自动化测试没有有效的利用,使得手工测试太多。
2、测试结果的捕获没有系统性,而且没有查看或调查
3、缺陷报告必须用手工加入缺陷跟踪系统
错误分类
1、测试用例失败
正常错误
2、脚本命令失败
当测试过程不能不能执行录制过程中的某个功能时,回产生这种错误,如鼠标单击按钮或选择菜单项等。它也能指示是缺陷还是测试过程的设计问题。
3、致命错误
导致测试停止,这种情况最好重起Windows。
具体步骤:
1、建立测试系统
2、准备测试过程
3、运行初始化过程
4、执行测试
5、从终止的测试恢复
6、验证预期结果
7、调查突发结果
8、记录缺陷日记
第五部分:测试评估
测试评估的目标
1、量化测试进程
2、生成缺陷和测试覆盖率的总结报告
测试评估的问题
1、没有把测试覆盖率作为报告测试进程的根据,使得不知测试是否结束;
2、没有做缺陷评估,缺陷评估是量度软件可行性的重要指标;
3、不使用专门的软件工具进行数据输入任务和相应的评估活动,使得这些任务变得繁重累人。
测试覆盖率
评估测试完成多少的标准
缺陷评估
评估软件质量的重要指标,通常评估模型假设缺陷的发现是呈泊松分布的;严格的缺陷评估要考察在测试过程中发现缺陷的间隔时间长短。评估要估计软件当前的可靠性并预测随着测试的继续进行,软件可靠性会怎样提高。
SQA Suite 提供四种形式进行缺陷评估:
1、缺陷分布报告可以生成缺陷数量与缺陷属性的函数。如测试需求和状态。
2、缺陷趋势报告可以看出缺陷增长和减少的趋势;
3、缺陷年龄报告展示一个缺陷处于某种状态的时间长短
4、测试结果进度报告展示测试过程在被测应用的几个版本中的执行结果以及测试周期。
具体步骤
1、回顾测试日记
2、评估测试需求的覆盖率
3、分析缺陷
4、决定是否达到完成测试的标准,没有满足标准时
1、再测试
2、降低标准
3、确定软件的一个满足标准的子集,看是否可以发布。 -
觉得有用,转来存档!
2007-08-28 13:55:03
Marketing and Sales(市场与销售部分)
Vice-President of Sales 销售副总裁
Senior Customer Manager 高级客户经理
Sales Manager 销售经理
Regional Sales Manager 地区销售经理
Merchandising Manager 采购经理
Sales Assistant 销售助理
Wholesale Buyer 批发采购员
Tele-Interviewer 电话调查员
Real Estate Appraiser 房地产评估师
Marketing Consultant 市场顾问
Marketing and Sales Director 市场与销售总监
Market Research Analyst 市场调查分析员
Manufacturer\'s Representative 厂家代表
Director of Subsidiary Rights 分公司权利总监
Sales Representative 销售代表
Assistant Customer Executive 客户管理助理
Marketing Intern 市场实习
Marketing Director 市场总监
Insurance Agent 保险代理人
Customer Manager 客户经理
Vice-President of Marketing 市场副总裁
Regional Customer Manager 地区客户经理
Sales Administrator 销售主管
Telemarketing Director 电话销售总监
Advertising Manager 广告经理
Travel Agent 旅行代办员
Salesperson 销售员
Telemarketer 电话销售员
Sales Executive 销售执行者
Marketing Assistant 市场助理
Retail Buyer 零售采购员
Real Estate Manager 房地产经理
Real Estate Broker 房地产经纪人
Purchasing Agent 采购代理
Product Developer 产品开发
Marketing Manager 市场经理
Advertising Coordinator 广告协调员
Advertising Assistant 广告助理
Ad Copywriter(Direct Mail) 广告文撰写人
Customer Representative 客户代表
Computers and Mathematics(计算机部分)
Manager of Network Administration 网络管理经理
MIS Manager 电脑部经理
Project Manager 项目经理
Technical Engineer 技术工程师
Developmental Engineer 开发工程师
Systems Programmer 系统程序员
Administrator 局域网管理员
Operations Analyst 操作分析
Computer Operator 电脑操作员
Product Support Manager 产品支持经理
Computer Operations Supervisor 电脑操作主管
Director of InFORMation Services 信息服务主管
Systems Engineer 系统工程师
Hardware Engineer 硬件工程师
Applications Programmer 应用软件程序员
InFORMation Analyst 信息分析
LAN Systems Analyst 系统分析
Statistician 统计员
Human Resources(人力资源部分)
Director of Human Resources 人力资源总监
Assistant Personnel Officer 人事助理
Compensation Manager 薪酬经理
Employment Consultant 招募顾问
Facility Manager 后勤经理
Job Placement Officer 人员配置专员
Labor Relations Specialist 劳动关系专员
Recruiter 招聘人员
Training Specialist 培训专员
Vice-President of Human Resources 人力资源副总裁
Assistant Vice-President of Human Resources 人力资源副总裁助理
Personnel Manager 职员经理
Benefits Coordinator 员工福利协调员
Employer Relations Representative 员工关系代表
Personnel Consultant 员工顾问
Training Coordinator 培训协调员
Executive and Managerial(管理部分)
Chief Executive Officer(CEO) 首席执行官
Director of Operations 运营总监
Vice-President 副总裁
Branch Manager 部门经理
Retail Store Manager 零售店经理
HMO Product Manager 产品经理
Operations Manager 操作经理
Assistant Vice-President 副总裁助理
Field Assurance Coordinator 土地担保协调员
Management Consultant 管理顾问
District Manager 市区经理
Hospital Administrator 医院管理
Import/Export Manager 进出口经理
Insurance Claims Controller 保险认领管理员
Program Manager 程序管理经理
Insurance Coordinator 保险协调员
Project Manager 项目经理
Inventory Control Manager 库存管理经理
Regional Manager 区域经理
Chief Operations Officer(COO) 首席运营官
General Manager 总经理
Executive Marketing Director 市场行政总监
Controller(International) 国际监管
Food Service Manager 食品服务经理
Production Manager 生产经理
Administrator 医疗保险管理
Property Manager 房地产经理
Claims Examiner 主考官
Controller(General) 管理员
Service Manager 服务经理
Manufacturing Manager 制造业经理
Vending Manager 售买经理
Telecommunications Manager 电信业经理
Transportation Manager 运输经理
Warehouse Manager 仓库经理
Assistant Store Manager 商店经理助理
Manager(Non-Profit and Charities) 非盈利性慈善机构管理 -
不规范软件公司管理问题
2007-08-23 12:51:32
在这个公司已经有3年的时间了。一个大企业中的子公司,人数不多,开发过程管理相对混乱.....
3年中满腔热血的努力改变着些什么,但似乎成效不大。
原因有2:
1、自己对软件开发过程管理尚处于摸索学习阶段,没有对其系统学习提高的机会。
2、公司从上到下没有人对这方面有经验的人,并且从上到下都不重视尤其是领导.
尽管如此,还是从同学和朋友那边努力学习成熟公司的经验,努力为这个公司开发过程管理的提高尽力!
有时候真觉得很累,但总觉得在这个公司一天就要为公司的利益、公司的发展尽心尽力。这就是我工作6年后的仍然保有的态度。
也许,有一天真的坚持不住的时候我会放弃这家公司,但至少不是现在.....
-
软件测试原则
2007-08-22 14:52:51
- 所有的软件测试都应追溯到用户需求
- 应当把“尽早地和不断地今昔感软件测试”作为软件测试着的座右铭
- 完全的测试是不可能的,测试需要终止
- 充分注意测试中的群集现象(这一点在以前的测试中未曾注意到)
测试后程序中残存的错误数目与该程序中已发现的错误数目成正比(即在测试程序段中,若发现错误数多,则残存错误数目也比较多)。
5. 测试无法显示软件潜在的缺陷
6. 程序员应避免检查自己的程序
7. 尽量避免测试的随意性
应该从工程的角度去理解软件测试,它是有组织、有计划、有步骤的活动。
-
开始准备08年软件评测师的考试
2007-08-22 14:36:36
8月初,从同事那里得知有软件评测师这样一个认证可以考.
兴奋了几天,从网上买了74折的考试用书,找了几个参加过这个考试的网友了解情况.于是开始了我的考试准备.....
拿到书的唯一感慨:好厚的两本书啊!!!!
本着可以借此机会系统学习一下软件测试技术为目的,开始一点点的啃书了....
08年的这次考试,对于我来说是一定要过的。也借此给自己一些压力。有压力才有动力,才能够更好的投入学习中去.....