软件测试入门

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
质量保证(QA)是通过预防,检查与改进来保证软 件质量的
软件测试关注的不是过程活动,而是每个过程活动
的产出物
32
《软件测试》
相关知识点
知识点列表
软件缺陷 软件可靠性 软件质量
33
《软件测试》
软件缺陷
定义
从产品内部看,缺陷是软件产品开发或维护过程中存
在的错误、毛病等各种问题;从产品外部看,缺陷是
39
《软件测试》
软件质量
标准
软件需求是度量软件质量的基础,与需求不一致就
是质量不高。
指定的标准定义了一组指导软件开发的准则,如果 没有遵守这些准则,几乎肯定会导致质量不高。 如果软件满足明确描述的需求,但却不满足隐含的 需求,那么软件的质量仍然是值得怀疑的。
40
《软件测试》
任务实施
步骤
了解软件质量管理 了解软件能力成熟度模型 了解软件测试成熟度模型
21
《软件测试》
软件测试模型
V模型
22
《软件测试》
软件测试模型
W模型
23
《软件测试》
软件测试模型
X模型
24
《软件测试》
软件测试模型
H模型
25
《软件测试》
软件测试模型
前置模型
26
《软件测试》
任务小结
1
1. 软件测试的发展经历了从最初的软件调试 软件测试 门的学科 软件测试定义的讨论 独立的 软件测试成为专
SCM)
软件工程管理(Software Engineering Management) 软件开发过程(Software Development Process) 软件工程工具与方法(Computer-Aided Software Engineering, CASE) 软件品质(Software Quality)
41
《软件测试》
软件质量管理
质量管理过程
质量计划 质量保证 质量控制
42
《软件测试》
软件能力成熟度模型
CMM/CMMI
CMM/CMMI是目前国际上最流行、最实用的一种软 件生产过程标准 美国卡内基梅隆大学软件工程研究所(CMU SEI)提出
分为5个等级
初始级(initial) 可重复级(Repeatable) 已定义级(Defined) 已管理级(Managed) 优化级(Optimizing)
43
《软件测试》
软件测试成熟度模型
TMM
美国的伊利诺斯州技术学院参照CMM开发了 TMM(Testing Maturity Model),作为CMM的补充 一个试图达到TMM特定等级的企业必须至少达到同
样的CMM等级
分为5个等级
初始级
定义级
集成级 管理和测量级 优化,预防缺陷和质量控制级
TMM描述了测试过程,是项目测试部分得到良好计 划和控制的基础。
45
《软件测试》
拓展训练
进一步练习
1、进一步了解并简述软件质量管理中软件质量保证 和软件质量控制之间的区别和联系。 2、进一步了解并简述软件测试在软件质量管理中的 作用。
46
《软件测试》
任务三:软件测试的分类、原则和流程
任务简介 任务分析 相关知识点 任务实施 任务小结 拓展训练
系统所需要实现的某种功能的失效或违背。 表现: 1、软件没有实现产品规格说明所要求的功能模块 2、软件中出现了产品规格说明指明不应该出现的 错误 3、软件实现了产品规格说明没有提到的功能模块 4、软件没有实现虽然产品规格说明没有明确提及 但应该实现的目标; 5、软件难以理解,不容易使用,运行缓慢,或从 测试员的角度看,最终用户会认为不好。
30
《软件测试》
任务简介
简介
了解软件质量管理。 了解软件能力成熟度模型 了解软件测试成熟度模型
31
《软件测试》
任务分析
通常在一般的中小企业中会不将软件测试与软件质 量保证加以细分,软件测试人员也叫做质量保证人员 即QA,但是软件测试和软件质量保证是软件质量工程
的两个不同层面的工作,两者既有联系,又有区别。
FritzBauer
在NATO会议上给出的定义:建立并使用完善的 工程化原则,以较经济的手段获得能在实际机器
上有效运行的可靠软件的一系列方法。
14
《软件测试》
软件工程
定义
计算机科学技术百科全书 软件工程是研究和应用如何以系统性的、规范化 的、可定量的过程化方法去开发和维护软件,以 及如何把经过时间考验而证明正确的管理技术和 当前能够得到的最好的技术方法结合起来
9.确保发布给用户的系统中有哪些风险。
10.ISO9000定义:测试是一种基于机器的,对代码执行测试,确认测试的活动 。 11.对软件质量的度量(Hetzel,1983) 12.验证系统满足需求,或确定实际结果与预期结果之间的区别
13.确认程序正确实现了所要求的功能
10
《软件测试》
软件测试
标准定义
8
《软件测试》
相关知识点
知识点列表
软件测试 软件工程
9
《软件测试》
软件测试
早期定义
1. 是证明软件中不存在错误的过程 2.是确信程序做了它应该做的事情(Hetzel,1973) 3.是为找出错误而运行程序或系统的过程(Myers,1979) 4.保证程序和相应的规范说明一致。 5.发现软件中的缺陷。 6.确保软件不做不必要的事情。 7.确保系统合理地执行。 8.确保系统失败前可以让系统运行到何种程度
本单元将:
介绍软件工程及其各阶段的任务,由此引出软件 测试模型
讨论软件质量的概念及质量保证体系。
介绍软件测试的分类、原则、策略和流程。
5
《软件测试》
任务一:软件工程和软件测试的联系及软件测试模型
任务简介 任务分析 相关知识点 任务实施 任务小结 拓展训练
6Байду номын сангаас
《软件测试》
与软件开发融合的发展历程,目前软件
测试进入了快速发展的轨道,自动化测试应用广泛,
测试技术不断细分。 2. 软件测试与软件开发的各阶段是一一对应的,且具
有和软件开发并行的特性。
27
《软件测试》
任务小结
2
3. 软件测试模型的主要特点:
V模型:反映了测试活动与分析设计的关系,清楚的描述了测试阶
段和开发过程期间各阶段的对应关系,但没有明确的指出应对软 件的需求、设计进行测试。 W模型:强调了测试计划等工作的先行和对系统需求和设计的测 试,但无独立的操作流程,受开发进度的制约。 X模型:提出针对单独的程序片段进行相互分离的编码和测试,此 后通过频繁的交接,通过集成最终合成为可执行的程序。 H模型:体现了软件测试模型是一个独立的流程,贯穿与整个产 品周期,与其他流程并发进行。 前置模型:是“测试驱动开发”的映射。前置测试模型结合了传 统的Ⅴ模型和Ⅹ测试模型特点,把软件测试的工作提早至对需求
大量的研究成果,广泛地进行大量的技术实践,借
由学术界和产业界的共同努力,软件工程正逐渐发 展成为一门专业学科。
13
《软件测试》
软件工程
定义
IEEE 在软件工程术语汇编中的定义:软件工程是:1. 将系统化的、严格约束的、可量化的方法应用于 软件的开发、运行和维护,即将工程化应用于软 件;2.在1中所述方法的研究
11
《软件测试》
软件测试
标准定义
软件工程知识体系指南2004版 定义 测试是为评价、改进产品质量、标识产品的缺陷和问 题而进行的活动。 软件测试由一个程序的行为在有限测试用例集合上, 针对期望的行为的动态验证组成,测试用例是从通常
的无限执行域中适当选取的。
12
《软件测试》
软件工程
由来
北大西洋公约组织(NATO)在1968年举办了首次 软件工程学术会议并于会中提出“软件工程”来界 定软件开发所需相关知识,并建议“软件开发应该 是类似工程的活动”。 软件工程自1968年正式提出至今,这段时间累积了
软件测试的现状
发展趋势
1. 软件测试技术进入快速发展轨道 2. 自动化软件测试技术应用越来越普遍 3. 测试技术不断细分
1. WEB应用测试
2. 手机软件测试 3. 嵌入式软件测试
4. 安全测试
5. 可靠性测试
19
《软件测试》
软件测试与软件工程
对应关系
20
《软件测试》
软件测试模型
对应关系
V模型 W模型 X模型 H模型 前置模型
获取阶段,提高了软件测试的效率
28
《软件测试》
拓展训练
进一步练习
1、进一步了解并简述软件测试定义的演变过程,和 测试意义的演变 2、进一步了解并简述软件开发的几个模式,并说明 每种模式对软件测试的影响。
29
《软件测试》
任务二:软件质量的概念及质量保证体系
任务简介 任务分析 相关知识点 任务实施 任务小结 拓展训练
44
《软件测试》
任务小结
1. 20世纪90年代中期以后,人们对软件测试的认识也 不断得到发展。 2. 美国卡耐基-梅隆大学软件工程研究所(SEI)研制并
推出了CMM,该模型逐渐成为了评估软件开发过程
的管理以及工程能力的标准。 3. Burnstein博士提出的TMM,依据CMM的框架提出测
试的五个不同级别,关注于测试的成熟度模型。
IEEE软件工程(1983)的定义: 使用人工或者自动手段来运行或测试某个系统的过 程,其目的在于检验它。是否满足规定的需求或弄 清预期结果与实际结果之间的差别。它是帮助识别 开发完成(中间或最终的版本)的计算机软件(整
体或部分)的正确度(correctness) 、完全度
(completeness)和质量(quality)的软件过程;是 SQA(software quality assurance)的重要子域
15
《软件测试》
软件工程
核心知识
软件需求(Software requirements) 软件设计(Software design) 软件建构(Software construction)
软件测试(Software test)
软件维护与更新(Software maintenance) 软件构型管理(Software Configuration Management,
国家教学资源库建设项目
单元1 软件测试入门
学习导航
基础知识
《软件测试》
软件工程与软件测试、软件质量保证、测试模型、分类、原则、流程
测试方法和技术(白盒、黑盒)
Junit
测试技术
测试过程(单元、集成、系统、验收、回归)
测试进阶
测试项目管理(用例管理、缺陷管理)
自动化测试
2
《软件测试》
本单元任务分解
任务简介
任务简介
了解软件测试的历史发展过程和软件测试的现状。 了解软件测试与软件工程各阶段的联系 了解软件测试模型
7
《软件测试》
任务分析
软件测试的含义和概念, 从软件测试的历史发展阶段来把握。 从软件工程的角度来把握。
软件测试的历史和现状,它的背景和意义。
软件测试和软件工程的联系。 常见的软件测试模型。
任务一:理解软件工程和软件测试的联系 及软件测试模型 任务二:正确理解和认识软件质量的概念 及质量保证体系 任务三:理解软件测试的分类、原则、策 略和流程
3
《软件测试》
本单元各任务的教学过程
项目概述 任务一 任务二 任务三
4
《软件测试》
项目概述
目标
本单元旨在对软件测试建立概要性、框架性的整体 认识和全面理解,并为后续学习软件测试的策略、 方法与实现技术建立坚实基础。
37
《软件测试》
软件可靠性
2
软件可靠性定义 (1)在规定的条件下,在规定的时间内,软件不 引起系统失效的概率; (2)在规定的时间周期内,在所述条件下程序执 行所要求的功能的能力;
38
《软件测试》
软件质量
影响质量的因素
正确性、健壮性、效率、完整性、可用性、风险
(产品运行);
可理解性、可维修性、灵活性、可测试性(产品修 改); 可移植性、可再用性、互运行性(产品转移)。
16
《软件测试》
任务实施
步骤
了解软件测试的历史发展过程和软件测试的现状 了解软件测试与软件工程各阶段的联系 了解软件测试模型
17
《软件测试》
软件测试的历史发展过程
发展阶段
1. 软件调试 2. 独立的软件测试 3. 定义软件测试
4. 软件测试成为专门学科
5. 开发与测试的融合
18
《软件测试》
34
《软件测试》
软件缺陷
产生的原因
软件本身
团队工作
技术问题 项目管理的问题
35
《软件测试》
软件缺陷
修复成本
问题发现的越早越好
36
《软件测试》
软件可靠性
1
软件可靠性比硬件可靠性更难保证
即使是美国宇航局的软件系统,其可靠性仍比硬
件可靠性低一个数量级。 影响软件可靠性的因素 1.需求分析定义错误。 2.设计错误。 3.编码错误。 4.测试错误。 5.文档错误。
相关文档
最新文档