文档介绍:Lesson2 软件测试实践
主要内容
软件测试过程
软件测试与软件开发的关系
软件测试环境的搭建
软件测试过程
单元测试
目的:检测程序模块中有无故障存在
对象:软件设计的最小单位,与程序设计和编程实现关系密切
Lesson2 软件测试实践
主要内容
软件测试过程
软件测试与软件开发的关系
软件测试环境的搭建
软件测试过程
单元测试
目的:检测程序模块中有无故障存在
对象:软件设计的最小单位,与程序设计和编程实现关系密切
集成测试
目的:发现与接口有关的模块之间的问题
方法:非增式集成测试法和增式集成测试法
确认测试
目的:对软件产品进行评估以确定其是否满足软件需求的过程
系统测试
目的:针对系统中各个组成部分进行的综合性检验,证明系统的性能。
测试人员要求:
系统开发人员、系统开发组织不能负责系统测试。
验收测试
目的:向用户表明所开发的软件系统能够像用户所预定的那样工作。
回归测试(维护)
已发行的
软件
回归测试
在软件维护阶段,对软件进行修改之后进行的测试。
目的:检验对软件进行的修改是否正确。
软件测试与软件开发的关系
验收测试
回归测试
验收测试
   Alpha 测试:在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。 
   Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。
回归测试
回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。这里,修改的正确性有两重含义:一是所作的修改达到了预定目的,如错误得到改正,能够适应新的运行环境等等;二是不影响软件的其他功能的正确性。
软件测试与软件开发的关系
软件开发过程
软件测试在软件开发中的作用
项目规划
负责整个测试阶段的监控
需求分析
确定测试需求分析,制定系统测试计划。测试需求分析是指产品生存周期中测试所需的资源、配置、各阶段评审通过的标准等。
设计:概要设计和详细设计
制定集成测试计划和单元测试计划。
程序编写
开发相应的测试代码或测试脚本
测试
实施测试,并提交相应的测试报告
运行/维护
回归测试
阶 段
输入和要求
输出
需求分析审查
Requirements Review
市场/产品需求定义、分析文档和相关技术文档
要求:需求定义要准确、完整和一致,真正理解客户的需求
需求定义中问题列表,批准的需求分析文档
测试计划书的起草
设计审查
Design Review
产品规格设计说明、系统架构和技术设计文档、测试计划和测试用例
要求:系统结构的合理性、处理过程的正确性、数据库的规范化、模块的独立性等
清楚定义测试计划的策略、范围、资源和风险,测试用例的有效性和完备性
设计问题列表、批准的各类设计文档、系统和功能的测试计划和测试用例
测试环境的准备
单元测试
Unit Testing
源程序、编程规范、产品规格设计说明书和详细的程序设计文档
要求:遵守规范、模块的高内聚性、功能实现的一致性和正确性
缺陷报告、跟踪报告;完善的测试用例、测试计划
对系统功能及其实现等了解清楚
集成测试
Integration Testing
通过单元测试的模块或组件、编程规范、集成测试规格说明和程序设计文档、系统设计文档
要求:接口定义清楚且正确、模块或组件一起工作正常、能集成为完整的系统
缺陷报告、跟踪报告;完善的测试用例、测试计划;集成测试分析报告;
集成后的系统
功能验证
Functionality  Testing
代码软件包(含文档),功能详细设计说明书; 测试计划和用例
要求:模块集成 功能的正确性、适用性
缺陷报告、代码完成状态报告、功能验证测试报告
系统测试
System  Testing
修改后的软件包、测试环境、系统测试用例和测试计划
要求:系统能正常地、有效的运行,包括性能、可靠性、安全性、兼容性等。
缺陷报告、系统性能分析报告、缺陷状态报告、阶段性测试报告
验收测试
Acceptance  Testing
产品规格设计说明、预发布的软件包、确认测试用例
要求:向用户表明系统能够按照预定要求那样工作,使系统最终可以正式发布或向用户提供服务。用户要参与验收测试,包括α测试(内部用户测试)、β测试(外部用户测试)
用户验收报告、缺陷报告审查、版本审查
最终测试报告
版本发布
Release
软件发布包、软件发布检查表(清单)
当前版本已知问题的清单、版本