第一章;掌握软件测试的概念,重点围绕软件测试的狭义定义和广义定义展开;
了解软件测试的目的,理解软件测试的原则;
了解软件测试的过程;
软件测试和软件开发的关系。;1.1软件测试的概念
1.2软件测试的目的
1.3软件测试的原则
1.4软件测试的过程
1.5软件测试与软件开发的关系
;1.1软件测试的概念;广义的软件测试是由确认、验证、测试三个方面组成。
确认:评估将要开发的软件产品是否是正确无误、可行和有价值的。这里包含了对用户需求满足程度的评价,意味着确保一个待开发软件是正确无误的,是对软件开发构想的检测。
验证:检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致。验证意味着确保软件正确无误地实现软件的需求。
测试:与狭隘的测试概念统一。通常是经过单元测试、集成测试、确认测试和系统测试四个环节。
;1.2软件测试的目的;1.3软件测试的原则;ISTQB的6项原则
;其他重要的7项原则
;1.4软件测试的过程;1.4软件测试与软件开发的关系;软件测试在项目各个阶段的作用如下所示:
项目规划阶段:负责从单元测试到系统测试的整个测试阶段的监控。
需求分析阶段:确定测试需求分析,即确定在项目中需要测试什么,同时制订系统测试计划。
概要设计与详细设计阶段:制订单元测试计划和集成测试计划。
编码阶段:开发相应的测试代码和测试脚本。
测试阶段:实施测试并提交相应的测试报告。
;软件测试是贯穿于整个软件开发的过程。在软件开发的各个阶段,测试人员必须制订本阶段的测试方案,把软件开发和测试活动集成到一起,如图所示。;
本章首先从软件测试概念、目的、原则和过程方面讲解软件测试,然后讲解软件测试与软件开发的关系,重点讲解软件测试在软件开发各阶段的作用。;第二章;了解软件质量的基本概念,重点围绕软件质量的定义和模型展开;
熟悉软件质量工程体系概念,理解软件质量工程体系CM模型;
了解软件质量的六个要素。;
;2.1软件质量的定义;2.2软件质量模型;2.3软件质量工程体系;基于PDCA(即是计划Plan、实施Do、检查Check、处理Act四个词英文前缀的缩写)的全面统计质量控制(TotalStatisticalQualityControl,TSQC,全面统计质量控制)模型,是我国实际采用的模型之一,基于PDCA的全面统计质量控制模型图如图所示。;软件质量保证(SoftwareQualityAssure,SQA)是建立一套有计划、有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。
由于软件质量保证(SQA)是CMM(软件能力成熟度)2级中的一个重要关键过程部分,它是贯穿于整个软件过程的第三方独立审查活动,在CMM的过程中充当重要角色。
SQA的目的是向管理者提供对软件过程进行全面监控的手段,包括评审和审计软件产品和活动,验证它们是否符合相应的规程和标准,同时向项目管理者提供这些评审和审计的结果。
;2.4软件质量度量;2.4软件质量度量;2.4软件质量度量;2.5软件质量标准体系;2.5.2能力成熟模型;2.5.3软件质量标准与全面质量管理;
本章首先从软件质量定义和模型方面讲解软件质量,然后详细讲解软件质量工程体系,最后重点讲解软件质量度量和软件质量标准体系。;第三章;了解测试方法的分类;
掌握黑盒和白盒测试方法;
集成测试方法;
理解面向对象测试方法和自动化测试方法。;3.1软件测试方法综述
3.2基于策略和过程的测试
3.3基于源代码可见性的测试
3.4非功能测试
3.5面向对象测试
3.6自动化测试;3.1软件测试方法综述;3.2基于策略和过程的测试;集成测试阶段是对每个模块进行单元测试后,按照总体设计时确定的软件结构图和一定策略将测试完成的单元连接起来进行的测试,也称为综合测试。
1.集成测试分为四个阶段:计划、设计、实现和执行阶段。
2.集成测试的策略:集成测试,按照是否一次性按照软件结构图集成最终产品将测试策略分为非渐增式集成策略和渐增式集成策略分别进行测试。而在以渐增式集成为策略的测试中,根据集成方向将测试分为自顶向下、自底向上和三明治法。每种策略有其适用场景和优缺点。
;(1)非渐增式集成测试策略;(2)增量式集成测试策略;1)自顶向下集成;具体实施过程如下:
①确定所有的将要集成在一起的单元已经通过了单元测试。
②选择的集成测试的策略,在这里采用深度优先的方法。
③对主控制软件单元A进行测试,使用测试用被调用模拟子模块S1和S2来代替单元A原本实际所调用的软件单元B和C,然后对软件单元A进行测试,如图3-3所示。
④使用实际的软