软件测试基础教程-01软件测试概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
缺陷辨析( 缺陷辨析(五)
• 测试人员或最终用户发现计算器某些地方不好用,比如,按键太 小、显示屏在亮光下无法看清等。(LG:BUG5)
1.1.3 软件缺陷特征
软件缺陷的特征:
•
“看不到” ——软件的特殊性决定了缺陷不易看到 • “看到但是抓不到” ——发现了缺陷,但不易找到问题发生的原因所在
1.1.4 软件缺陷产生原因
1.1 软件缺陷
• 1.1.1 软件缺陷案例 • 1.1.2 软件缺陷定义 • 1.1.3 软件缺陷特征 • 1.1.4 软件缺陷产生原因 • 1.1.5 软件缺陷修复费用
1.1.1 软件缺陷案例
• • • • • • 案例1 美国迪斯尼公司的狮子王游戏软件bug 兼容性问题 案例2 美国航天局火星登陆事故 集成测试 衔接问题 案例3 跨世纪“千年虫”问题 案例4 爱国者导弹防御系统炸死自家人 稳定性测试 案例5 Windows 2000 中文输入法漏洞 案例6 金山词霸bug
缺陷辨析( 缺陷辨析(一)
• 计算器说明书一般声称该计算器将准确无误地进行加、减、乘、 除运算。如果测试人员或用户选定了两个数值后,随意按下了 “+”号键,结果没有任何反应。(LG:BUG1)
缺陷辨析( 缺陷辨析(二)
• 若在进行测试时,发现除了规定的加、减、乘、除功能之外,还 能够进行求平方根的运算,而这一功能并没有在说明书的功能中 规定。(LG:BUG4)
软件质量、Bill Hetzel 《软件测试完全指南》
“测试是以评价一个程序或者系统属性为目标的任何 测试是以评价一个程序或者系统属性为目标的任何 一种活动。测试是对软件质量的度量” 一种活动。测试是对软件质量的度量
20世纪90年代 2002年
测试工具盛行 Rick D. Craig & Stefan P. Jaskiel 《系统的软件测试》
1. 2. 3. 4. 5. 6. 7. 8. 9. 判断准确 (Accurate Analysis and Reasoning, Power of ) 创造性 (Creativity) 探索精神 (Exploration ) 沟通能力 (Good Communication Skills) 学习能力 (Learning Ability) 坚持不懈 (Perseverance) 追求完美 (Pursuing Excellence) 故障排除 (Trouble-shooting ) 宽广的知识面 (Wider Breadth of Knowledge)
能力成熟度模型 (Capability Maturity Model) CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。 CMMI是CMM模型的最新版本。
问题与讨论
• 一名优秀的软件测试人员应具备什么样的素质?
软件测试从业人员职业素质
第1章 章 软件测试概述
BUG
Leabharlann Baidu• BUG的由来
• 第一个BUG(1945年9月9日)
BUG
• “测” “试”
本课教学目标
• 了解软件测试的背景 • 正确理解软件缺陷的概念 • 了解软件测试的发展历程及国内外现状 • 了解软件测试的发展趋势
课程内容
• 1.1 软件缺陷 • 1.2 软件测试发展历程 • 1.3 软件测试与软件开发的关系 • 1.4 软件测试国内外现状 • 1.5 软件测试的发展趋势 • 1.6 国内软件测试的职业发展 • 1.7 软件质量保证
上述所有实例中的软件问题在软件工程或软件测试中都被称 软件缺陷。 为软件缺陷
1.1.2 软件缺陷定义
(1)软件未达到 未达到产品说明书中已经标明的功能;(缺少) 未达到 (2)软件未达到 未达到产品说明书中虽未指出但应当达到的目标;(缺少) 未达到 指明不会出现的错误;(多余) (3)软件出现了产品说明书中指明不会 指明不会 (4)软件功能超出了 超出了产品说明书中指明的范围;(多余) 超出了 (5)软件测试人员认为 软件测试人员认为软件难以理解、不易使用,或者最终用户认为 最终用户认为该软 软件测试人员认为 最终用户认为 件使用效果不良。
• 测试与开发的并行性
1.4 软件测试的国内外现状
国外
软件测试在软件公司中占有重要地位 软件测试理论研究蓬勃发展 软件市场繁荣
国内
起步较晚 从业人员少 规模小 发展迅速
1.5 软件测试的发展趋势
• • • • • 测试工作将进一步前移。 软件架构师、开发工程师、QA人员、测试工程师将进行更好的融合。 测试职业将得到充分的尊重。 设置独立的软件测试部门将成为越来越多的软件公司的共识。 测试外包服务将快速增长。
其他 10% 编写代码 7% 软件产品说明 需求) 书(需求) 56%
设 计 27%
图 软件缺陷产生的原因分布
1.1.5 软件缺陷修复费用
• 软件在从需求、设计、编码、测试一直到交付用户公开使用后的过程中, 都有可能产生和发现缺陷。随着整个开发过程的时间推移,更正缺陷或 修复问题的费用呈几何级数增长。 100 80 60 40 20 0 编制说明书 设计阶段 编写代码 测试 发布
缺陷辨析( 缺陷辨析(三)
• 若在测试过程中发现,因为电池没电而导致了计算不正确,但产 品说明书未能指出在此情况下应如何进行处理。(LG:BUG2)
缺陷辨析( 缺陷辨析(四)
• 假如计算器说明书指明计算器不会出现崩溃、死锁或者停止反应, 而在用户随意按、敲键盘后,计算器停止接受输入或没有了反应。 (LG:BUG3)
1.3 软件开发与软件测试的关系
• 测试与开发各阶段的关系
1. 2. 3. 4. 5. 项目规划阶段 (Project Plan) 需求分析阶段 (Requirements Analysis) 详细设计和概要设计阶段 (Specs Design) 编码阶段 (Coding) 测试阶段 (Testing)
1.6 国内软件测试职业发展
1.7 软件质量保证(SQA)
• 测试是手段,质量保证是目的 测试是手段,
测试人员的目标是尽可能早的找出软件缺陷,并确保缺陷得以修复; 测试人员的目标是尽可能早的找出软件缺陷 质量保证人员的主要职责是创建和执行改进软件开发过程并防止软件缺陷 发生的标准和方法。
• 质量管理体系 • ISO9000与CMM
图 软件缺陷在不同阶段发现时修复的费用示意图
问题与讨论
• 对软件缺陷的理解(50字)? • 曾经发现过的典型BUG?
1.2 软件测试发展历程
早期 1957年 20世纪70年代 20世纪80年代早期 “调试” 为了确信自己的产品 Glenford Myers 《软件测试艺术》
“测试是为发现错误而执行一个程序或系统的过程 测试是为发现错误而执行一个程序或系统的过程” 测试是为发现错误而执行一个程序或系统的过程
“测试是为了度量和提高被测软件的质量,对测试件 测试是为了度量和提高被测软件的质量, 测试是为了度量和提高被测软件的质量 进行工程设计、实施和维护的整个生命周期过程” 进行工程设计、实施和维护的整个生命周期过程
今天的软件测试面临的挑战
• 软件在国防现代化、社会信息化和国民经济信息化中的作用越来越重要,由此产 生的测试任务越来越繁重 • • • • • 软件规模越来越大,功能越来越复杂,如何进行充分而有效的测试成为难题 面向对象的开发技术越来越普及,但是面向对象的测试技术却刚刚起步 对于分布式系统整体性能还不能进行很好的测试 对于实时系统来说,缺乏有效的测试手段 随着安全问题的日益突出,信息系统的安全性如何进行有效的测试与评估,成为 世界性难题