没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
39页
资料是上海参加培训的资料,基础简单全面,看完就可以参加公司的面试考试了。 目录包括: 软件测试的定义和目的 软件生命周期 软件研发组织和流程 软件中引入缺陷的原因 测试过程 测试阶段划分 测试过程模型 测试过程规范 软件质量 软件质量的定义 软件质量管理体系 软件质量模型 软件质量活动(软件质量保证(SQA)和测试) 测试方法 黑盒测试和白盒测试 静态测试和动态测试 人工测试和自动化测试 需求管理 软件需求管理简介 软件需求跟踪流程介绍 软件需求跟踪方法 通用测试用例写作方法 软件测试用例格式 测试用例的写作要点 测试用例的写作检查规则 软件缺陷管理 软件缺陷管理基本概念 软件缺陷管理基本流程 缺陷跟踪单填写方法 测试覆盖率 覆盖率概念 逻辑覆盖率 其他覆盖率 单元测试 单元测试的定义和目的 单元测试关注的重点 单元测试环境 单元测试策略 单元测试过程 单元测试原则 单元测试执行过程 CppUnit自动化单元测试框架 集成测试 集成测试的定义和目的 集成测试关注的重点 集成测试的层次 集成测试的策略 集成测试的过程 系统测试 系统测试的定义和目的 系统测试的对象 系统测试的类型
资源推荐
资源详情
资源评论
软件测试的定义和目的
1,什么是软件测试
a) IEEE 定义为:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它
是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
b) G.J.Myers 认为:1)程序测试是为了发现错误而执行程序的过程;2)好的测试方案
是极可能发现迄今为止尚未发现的错误的测试方案;3)成功的测试是发现了至今为止
尚未发现的错误测试。
(注:1)软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一;2)运
行软件测试可以人工方式也可以借助于工具,3)进行软件测试可以运行软件也可以不运
行软件;4)软件测试的目的不仅仅是为了发现错误。)
2,软件测试的目的
人们对软件测试的目的的认识也经历了一个过程:
20 世纪 60 年代 20 世纪 70 年代中期 20 世纪 90 年代
证明 检测 预防
表明软件能够工作 发现错误 管理质量
软件生命周期
计划 需求分析 设计 编码 测试 运行和维护
软件研发组织和流程
常见项目组架构
基本软件研发流程
1)瀑布模型
2)螺旋模型
3)RUP(Rational United Press)模型 所有工作流在各个阶段都有体现。( IBM
收购)
1
项目经理
开发经理 测试经理 配置经理
软件开发组 软件测试组 配置管理组
SQA
4)IPD(Integred Product Design)模型 从整个产品角度出发,不仅仅针对研发 。
(IBM)
软件中引入缺陷的原因
软件缺陷:既指静态存在于软件工作产品(文档,代码)中的错误,也指软件运行时由于
这些错误被激发引起的和软件产品预期属性的偏离现象。
Bug :代码中的缺陷。有时也被广泛指因软件产品内部的缺陷引起的软件产品最终运行时
和预期属性的偏离。
(注:软件错误、软件缺陷、Bug 在实际工作中可以认为是一样。)
常见的引入缺陷的原因
1) 开发过程缺乏有效的沟通,或者没有进行沟通
2) 软件复杂度越来越高
3) 编程中产生的错误
4) 需求不断变更
5) 项目进度的压力
6) 不重视开发文档
7) 软件开发工具本身隐藏的问题
8) 。。。。。。。。。。。。。。。。。。。。。。
缺陷类型
1) 遗漏:规定的或者预期的需求未体现在产品中(可能未将规格说明全面实现,也可能
需求分析阶段就遗漏了需求)
2) 错误:未将规格说明正确实现(可能设计错误、也可能编码错误)
3) 额外的实现:规格说明并未规定的需求被纳入了产品,得到实现。
(也可以用下面五种类型表示:
a) 产品未达到产品说明书中要求实现的功能
b) 产品出现了产品说明书中没有的功能
c) 产品没有实现产品说明书中虽未指明但要求实现的功能
d) 产品出现了说明书中明确规定不出现的功能
e) 测试人员或用户认为产品不应使用)
2
测试过程
测试阶段划分
单元测试(Unit Testing)
针对软件基本组成单元(软件设计的最小单位)来进行正确性检验的测试工作。(检测软
件模块对《详细设计说明书(LLD)的符合度》)。
集成测试(Integration Testing)
在单元测试的基础上,将所有模块按照概要设计组装成为子系统或系统,验证组装后功能
以及模块间接口是否正确的测试工作。(检测软件模块对《概要设计说明书(HLD)的符
合度》)
系统测试(System Testing)
将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、
某些支持软件、数据和人员等其他元素结合在一起,在实际运行(使用)环境下,对计算
机系统进行一系列的测试工作。(通过与《需求规格说明书(SRS)》作比较,发现软件
与系统需求定义不符合或之矛盾的地方)
单元、集成、系统测试的比较
1) 测试方法不同
单元测试属于白盒测试范畴
集成测试属于灰盒测试范畴
系统测试属于黑盒测试范畴
2) 考察范围不同
单元测试主要测试单元内部的数据结构、逻辑结构、异常处理等
集成测试主要测试模块之间的接口和接口数据传递关系,以及模块组合后的整体功能
系统测试主要测试整个系统相对于需求的符合度
3) 评估基准不同
单元测试主要是逻辑覆盖率
集成测试主要是接口覆盖率
系统测试主要是测试用例对需求规格的覆盖率
回归测试(Regression Testing)
目的:验证缺陷得到了正确的修复,同时对系统的变更没有影响以前的功能。
(注:回归测试可以发生在任何一个阶段)
3
回归测试策略
1) 完全重复测试
重新执行所有在前期测试阶段建立的测试用例,来确认问题修改的正确性和修改的扩
散局部影响性。
2) 选择性重复测试
即有选择地重新执行部分在前期测试阶段建立的测试用例,来测试被修改的程序
a) 覆盖修改法
即针对被修改的部分,选取或重新构造测试用例验证没有错误再次发生的用例选
择方法
b) 周边影响法
该方法不但包含覆盖修改法确定的测试用例,还需要分析修改的扩散影响,对那
些受到修改间接影响的部分选择测试用例验证它没有受到不良影响,该方法比覆
盖修改法更充分一点。
c) 指标达成法
这是一种类似于单元测试的方法,在重新执行测试前,先确定一个要达成的指标,
如修改的部分代码 100%的覆盖、与修改有关的接口 60%的覆盖等,基于这种要求
选择一个最小的测试用例集合。
回归测试流程(适用于单元测试,集成测试,系统测试)
1) 在测试策略制定阶段,制定回归测试策略
2) 确定需要回归测试的版本
3) 回归测试版本发布,按回归测试策略执行回归测试
4) 回归测试通过,关闭缺陷跟踪单(问题单)
5) 回归测试不通过,缺陷跟踪单返回开发人员,开发人员重新修改问题,再次提交测试
人员回归测试
(注:回归测试比较适合使用自动化工具)
其他测试阶段
1) 验收测试
a) 验收测试是以用户为主的测试,验收组应该由项目组成员,用户代表等组成
b) 在通过内部系统测试及软件配置审查后,就可以开始验收测试
c) 验收测试原则上在用户所在地进行,但经用户同意也可以在公司内模拟用户环境
d) 验收测试根据合同、《需求规格说明书》或《验收测试计划》对产品进行验证
e) 结果两种(接受与不接受)
2) Alpha 测试(属于验收测试)
由用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境
下进行的测试。
目的主要是评价软件产品的 FLURPS(即功能、局域化、可用性、可靠性、性能和技
术支持等)
3) Beta 测试(属于验收测试)
由软件的多个用户在一个或多个用户的实际环境下进行测试
Alpha 测试和 Beta 测试的区别
Alpha 测试过程可控,但是参与人数有限;Beta 测试参与人数巨大,但是过程不可控。
4
测试过程模型
测试过程阶段划分
1) 测试计划阶段:测试计划
2) 测试设计阶段:测试方案
3) 测试实现阶段:测试用例、测试规程
4) 测试执行阶段:测试报告
主要测试文档
测试计划:指明测试范围、方法、资源、以及相应测试活动的时间进度安排表的文档。
测试方案:指明为完成软件或软件集成特性的测试而进行的设计测试方法的细节文档。
测试用例:指明为完成一个测试项的测试输入、预期结果、测试执行条件等因素的文档。
测试规程:指明执行测试时测试活动序列的文档。(后执行用例的输入是先执行用例的输
出)
测试报告:指明执行测试结果的文档。(注:1)将工作过程表现出来 2)表明个人对测试
对象的态度)
测试日报:每天测试执行情况的记录和总结。
常见的测试过程模型
1) 瀑布模型
缺陷:
a) 测试介入太晚
b) 工作效率低
c) 成本巨大
2) H 模型
5
测试就绪点
剩余38页未读,继续阅读
clairelss
- 粉丝: 27
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页