软件测试第一讲楖述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如经济损失甚至威胁生命安全。 ?系统经常不能实现预期的目的。 ?系统升级的成本很高。 ?发现并排除缺陷的成本过高。
软件测试历史
时间 1950
修复 BUG
测试自动 高级测试 自动业务 化工具 自动化 优化
1960
1970
1980
1990
2000
彻底 证明软件 测试 能够工作
证明软件 不能工作
缺陷预防 测试过程
一个测试的生命周期
错误
需求规格说明
缺陷
错误
设计
错误
错误 编码
错误
测试
修复
错误 缺陷分类
缺陷隔离
缺陷解决
测试过程
?测试过程可以分为如下步骤:
测试方法
? 黑盒子和白盒子 ? 静态的和动态的 ? 文档、代码审查 ? 数据输入边界条件法 ? 等价划分、数据流程图 ? 状态变换图 ? 逻辑路径法
黑盒测试与白盒测试
?黑盒测试
? 在黑盒测试中,软件测试员只需知道软件要做什 么即可 —而无法看到盒子是如何运作的。只要进 行一些输入,就能得到某种输出结果。
? 编程: 将设计转换成计算机可读的形式。 ? 测试: 对设计、编程进行验证和用户需求确认的过程 ? 维护:维持软件运行,修改软件缺陷、增强已有功能、增
加新功能、升级等。
软件开发过程模型
?瀑布开发模型 ?原型开发模型 ?快速应用开发 (RAD)模型 ?RUP开发模型 ?迭代开发模型 ?增量开发模型 ?组件开发模型 ?并发开发模型 ?XP开发模型
Document) ?软件规格说明书 - Specifications ?技术设计文档 – Technical Design Docs ?测试文档 Test Documents ?在线帮助 - Online help ?产品发布注释 - Release Notes / Read Me ?产品软件包 - Release packages
软件的生存周期
?制定计划 (Planning) ?需求分析和定义(Requirement Analysis and
Definition) ?软件设计(Software Design) ?程序编写(Coding, Programming) ?软件测试(Testing) ?运行/维护(Running/Maintenance)
怎样成为优秀的软件测试员
?软件测试员应具备的素质:
? 探索精神 ? 故障排除能手 ? 不懈努力 ? 创造性 ? 追求完美 ? 判断准确 ? 老练稳重 ? 说服力
软件产品的组成部分
?客户需求 - Customer Requirements ?市场需求文档 - MRD (Marketing Requirement
早期 测试 设计
互联网 (敏捷 方法)
软件测试分类
测试阶段 验收测试
集成测试
系统测试
动态测试
单元测试
黑盒测试
功能测试 强壮性测试 性能测试 适用性测试 安全性测试 可靠性测试 目标/特性
静态测试
白盒测试
测试 方法
开发阶段与测试类型
用户需求
验收测试
功能需求
系统测试
楖要设计
集成测试
详细设计
单元测试
编码
?白盒测试
? 在白盒测试中,软件测试员可以访问程序员的代 码,并通过检查代码来协助测试 —可以看到盒子 里面。根据代码检查结果判断多大的数据可能出 错,并椐此调整测试程序。
静态测试与动态测试
?静态测试
? 静态测试是指测试不运行的部分 —只是检查和审 阅
?动态测试
? 动态测试是指通常意义上的测试 —运行和使用软 件。
软件开发过程
? 需求分析: 根据客户的要求,清楚了解客户需求中的产品 功能、特性、性能、界面和具体规格等,然后进行分析, 确定软件产品所能达到的目标。
? 设计: 根据需求分析的结果,考虑如何在逻辑、程序上去 实现所定义的产品功能、特性等,可以分为概要设计和详 细设计,也可分为数据结构设计、软件体系结构设计、应 用接口设计、模块设计、界面设计等。
软件产品的其他内容
?帮助文件Help files ? 示例 Samples and examples to illustrate points ? 产品支持文档Product support information ? 错误信息Error messages ? 安装手册Setup and installation instructions ? 用户手册User manual(s) ? 产品标签Label and stickers ? 产品广告或宣传材料Ads and marketing material
?偏差 (variance ) ?失败 (failure) ?矛盾(inconsistency ) ? 特殊( feature)
?缺陷(bug)
软件缺陷
?软件未达到产品说明书标明的功能 ?软件出现了产品说明书指明不会出现的错误 ?软件功能超出产品说明书指明范围 ?软件未达到产品说明书虽未指出但易使用、
运行速度缓慢,或者最终用户认为不好
为什么会出现软件缺陷
其他(6%)
编写代码 (15%)
编制说明书 (54%)
设计(25%)
软件缺陷的修复成本
2500
2000
1500
1000
500
0
书 制说明
设计
写 代码编
测试
发布

系列1
软件测试员究竟做什么
?软件测试员的目标是找出软件缺陷,尽可能 早一些,并确保其得以修复。
软件测试
概述
个人介绍
?姓名:李鹤林 ?Email:lihelinjj263
软件测试背景
?软件是人编的—所以不完美
软件缺陷的例子
?迪斯尼的狮子王 ?英特尔奔腾浮点错误 ?千年虫 ?美国航天局火星极地登陆事故 ?爱国者导弹防御系统
描述软件失败的术语
? 缺点( defect ) ? 谬误( fault ) ? 问题( problem ) ? 错误( error ) ? 毛病( incident ) ? 异常( anomaly )
瀑布模型
软件概念
软件概念
需求分析
软件需求 / 原型
概要设计
概要设计文档
详细设计
详细设计文档
编码
代码文件
测试
快速原型模型
开始 结束
初步需求 分析
开发产品
快速设计
用户评估原 型(新需求)
建造原型
增量开发
2
1
1
34
2 1
2
1 3
迭代开发
2
1
1
34
2 1
2
1 3
软件的质量问题
?已交付的软件频繁的出现故障 ?系统运行失败所带来的后果令人无法接受,
相关文档
最新文档