史上最全面!!软件测试(知识点整理)
- 格式:docx
- 大小:1.26 MB
- 文档页数:26
软件测试
第1章软件工程概述
1.1软件工程起源
1.1.1软件的发展及特点
1.1.1.1计算机硬件的发展
1.1.1.2计算机软件的发展
1.1.1.3计算机软件特点
1.2软件危机
1.2.1软件危机的表现
1.2.2软件危机的形成条件
1.2.3软件工程的提出
1.3软件工程概述
软件工程
是研究和应用如何以系统性的、规范性的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
1.3.1软件工程三要素
方法、过程和工具。
1.方法
(1)结构化方法(模块化方法)
将系统分解为具有层次结构的模块或过程,在设计和实现模块的内容时候,不同
考虑其他模块的内部实现细节,而只需要考虑本模块的实现和与其他模块实现的接口。
(2)面向对象方法
面向对象方法的核心概念是“类”,类是对具有相同属性和行为的一个或多个对象的抽象描述。
(3)形式化方法
形式化方法是描述系统性质的基于数学的技术,此技术提供了一个框架,可以在框架中以系统的方式刻画。开发和验证系统。
(4)基于构件的方法
构件是可复用的软件组成成分,可以独立地制造、分发、销售和装配的二进制软件单元,是可执行软件的一个物理封装,他有良好的接口,可被用来构造其他软件涉及三个子过程,构件开发、构件管理、基于构件的应用组装。
(5)基于Agent 的方法
面向多Agent的观点认为现实世界是由许多自主的或非自主的实体组成,它们按照各种关系组织起来,彼此间进行各种交互与通信,完成各种复杂的任务。
(6)基于敏捷技术的方法
敏捷方法汲取众多轻型方法的“精华”,恰当的表达这些方法的最根本之处
2.过程
RUP软件生命周期四过程:初始、细化、构造、交付
3.工具
(1)管理工具
主要对软件项目活动进行支持,如管理工具Microsoft Project、需求管理工具Doors、测试管理工具TestDirector、配置管理工具Microsoft Visual SourceSafe。
(2)开发工具
主要对软件的系统分析与设计、开发及测试活动进行支持,如系统建模工具Rose、集成开发环境JBuilding、 Framework、单元测试工具JUnit、性能测试工具LoadRunner
(3)其他工具
图形化工具,如例图、鱼骨图
1.3.2软件开发工程模型
1.瀑布模型
2.原型模型
3.增量模型
4.喷泉模型
5.螺旋模型
1.4软件过程能力评估与CMM/CMMI
CMM是软件过程能力成熟度模型(Capacity Maturity Model)的简称,是卡内基-梅隆大学软件工程研究院为了满足美国联邦政府评估软件供应商能力的要求,
于1986年开始研究的模型,并于1991年正式推出了CMM 1.0 版。
CMM的五个成熟度等级
初始级:
可重复级:
确定级:
管理级:
优化级:
第2章软件测试的金字塔体系
2.1一个中心:质量(金字塔顶点)
2.2五个要素:(金字塔5个支点)
(1)质量
(2)人员
(3)技术
(4)资源
(5)流程:从测试计划和测试用例的创建、评审到测试的执行、报告,设定每个阶段的进出标准。
图1:软件测试核心、目标、基础等关系
2.3五个工作面:(金字塔5个面)
(1)质量-人员-技术:团队建设
(2)质量-人员-资源:成本管理
(3)质量-技术-流程:测试架构
(4)资源-质量-流程:基础建设
(5)人员-技术-流程-资源:项目管理
2.4八组关系:(金字塔8条边)
(1)质量与人员
(2)质量与流程
(3)质量与技术
(4)质量与资源
(5)人员与技术
(6)人员与流程
(7)流程与资源
(8)技术与资源
2.5 13项原则
ISTQB的6项原则
(1)测试显示缺陷,但不能证明没有缺陷
(2)穷尽测试是不可能的
(3)测试尽早借入
(4)缺陷集群性:发现缺陷多的地方,没有发现的缺陷更多
(5)杀虫剂悖论:采用同样的测试用例多次重复测试将不在发现新的缺陷(6)测试活动依赖于测试背景:针对不同的测试环境,测试的活动也是不同的。
其他重要的7条原则
(7)持续的测试、持续的反馈
(8)80/20原则
(9)建立清晰的阶段性目标
(10)测试独立性
(11)确保可测试性
(12)计划是一个过程
(13)一切从用户角度出发
2.6 21个关键域
2.7 34个方法
2.8软件测试分类
2.9软件测试的详细分类
第3章软件测试方法与过程模型
3.1软件测试分类
3.1.1单元测试
1.定义:单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元
测试活动中,软件的独立单元将在与程序的其他部分相隔的情况下进行测试。
3.1.2集成测试
1.定义:又叫组装测试、联合测试,是单元测试的逻辑扩展,是在单元测试的
基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中,各部分工作是否达到或实现相应技术指标及要求的
活动。、
3.1.3系统测试
1.定义: