第6章 传统软件测试策略.

Slides:



Advertisements
Similar presentations
1. 软件工程 软件工程包括 3 个要素:方示、工具和过程。方法是完成软件工程项目的技术手段;工 具支持软件的开发、管理和文档生成;过程支持软件开发的各个环节的控制和管理。 软件工程的核心思想是:把软件产品看作是一个工程产品来处理。把需求计划、可行 性研究、工程审核、质量监督等工程化的概念引入到软件生产中,以达到工程项目的.
Advertisements

第10章 软件测试 软件测试是对软件规格说明、软件设计和编码的最全面也是最后的审查。
第2章 软件测试策略与过程 2.1 软件测试的复杂性分析 2.2 软件测试方法与策略 2.3 单元测试 2.4 集成测试 2.5 确认测试
网络性能评估与测试 Network Performance Evaluation and Testing
绩效考评表格设计 班级:15服务4班 姓名:杨冬茜.
初级会计电算化 (用友T3) 制作人:张爱红.
软件测试理论—单元测试.
游戏软件测试 主讲人:徐丽.
实验四 利用中规模芯片设计时序电路(二).
Tsing UNIS Education Institution Introduction
UI(用户界面)集训班 Illustrator 高级班.
第3章 软件工程基础.
第10章 FPGA硬件设计 <EDA技术与应用> 课程讲义
会计学专业基础课堂之 基础会计(初级会计) 安徽财经大学会计学院.
软件质量管理 软件测试基础 测试用例设计 软件测试技术 自动化测试. 软件质量管理 软件测试基础 测试用例设计 软件测试技术 自动化测试.
Oracle数据库 Oracle 子程序.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
软 件 工 程.
面向对象建模技术 软件工程系 林 琳.
学习前的准备工作 讲师:burning.
欢乐玩转单元测试之JUnit 讲师:FREE QQ:
存储系统.
李杰 首都经济贸易大学 安全与环境工程学院 个人主页:
辅导课程六.
Visual Studio Team System 简介
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第一章 软件测试基本概念 本章要点 了解软件,Bug,用户需求,软件测试,测试环境 掌握软件环境分类,测试用例概念
课程设计.
化学品清单 类型.
单元测试工具XUnit 任课老师:黄武 下午2时20分 25.
CPU结构和功能.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
录制回放工具使用说明 鲁晓宇
新一代安全网上银行 小组成员:杨志明 王晶 任毅 刘建中 关昊 刘超.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
微机系统的组成.
VisComposer 2019/4/17.
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
物联网工程设计与实施.
第6章 软件测试.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
第二部分(章)软件工程与软件测试 §1 软件工程与软件测试模型 §2 软件缺陷和缺陷排除的两种重要手段 §3 软件测试的基本概念
实验七 安全FTP服务器实验 2019/4/28.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
信号量(Semaphore).
iSIGHT 基本培训 使用 Excel的栅栏问题
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
数据报分片.
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
敏捷开发下 问题驱动的软件测试设计 郑文强 测试架构师 阿尔卡特-朗讯.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第二节 C语言的特点.
软件质量与测试.
本节内容 如何调试驱动程序? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
RefWorks使用指南 归档、管理个人参考文献.
入侵检测技术 大连理工大学软件学院 毕玲.
质量控制(QC)模式 BrookFIELD.
DEV243 Visual Studio Team System 测试深入探讨
Presentation transcript:

第6章 传统软件测试策略

本章要点 了解传统软件测试策略包含的阶段和各自内容 熟悉单元测试的概念和原则 熟悉单元测试关注的几个方面的内容 了解单元测试环境建立和使用的主要方法 熟悉集成测试的概念和原则 熟悉集成测试分析的内容 了解几种常见的集成测试策略 熟悉系统测试的概念 了解常见的系统测试方法 熟悉验收测试的概念和分类 了解验收测试的主要内容 了解回归测试相关概念

传统软件测试过程则分为单元测试、集成测试、系统测试与验收测试几个阶段,与软件开发活动逆向形成对应关系。 单元测试确保每个模块独立正确的运行,多采用白盒测试,通过覆盖技术确保覆盖尽量多的出错点,对应着软件详细设计阶段; 集成测试建立在模块间的接口之上来测试软件结构,多采用黑盒测试,辅以白盒测试,对应着软件概要设计阶段; 系统测试检验软件是否满足功能、性能和行为方面的需求,基本完全采用黑盒测试,对应着软件需求分析阶段; 验收测试是检验软件产品是否符合要求的最后一道工序,它需要用户的参与与评审。

6.1 单元测试 单元测试对软件设计的最小单元即模块的正确性进行验证,主要测试模块在语法、格式和逻辑上可能存在的错误。不同的软件形式、不同的开发技术中,单元的具体含义可能不同。一般来说,单元指的是软件里最小的、可以独立执行编码的单位,并且它应该具有以下特征: 单元必须可测; 单元的行为或者输出可观测; 单元有明确的可定义的边界或接口。 在单元测试中,每个模块的测试工作可以独立的、并行的开展。

单元测试要针对每个程序模块进行测试,需要根据详细设计规约的源代码,了解模块的输入输出和内部逻辑结构。在测试时主要考虑五个方面的内容。

在进行单元测试时,被测试的单元本身不是独立的程序,需要为其开发驱动模块和桩模块。驱动模块是接受测试数据,并把数据传送给被测试的模块,然后打印相关结果的“主程序”;桩模块是替代那些被被测试模块调用的模块,可能要使用子模块的接口,才能做一些少量的数据操作,并验证打印入口处的信息,然后返回。 构造单元测试环境的主要工作包括: 构造最小运行调度系统,即驱动模块,用以模拟被测模块的上一级模块; 模拟实现单元接口,即桩模块,用以模拟被测模块需要调用的模块接口; 模拟生成测试数据或状态,为单元运行准备动态环境。

6.2 集成测试 集成是指将经过单元测试的模块按设计要求把它们连接起来,组成所规定的软件系统的过程。集成测试,也叫组装测试、联合测试等,使单元测试的逻辑扩展,是在单元测试的基础上,测试将所有的软件单元按照概要设计规约要求组装成模块、子系统或系统的过程中,各部分功能能否达到或实现相应技术指标及要求的活动。集成测试主要是测试软件单元的组合能否正常工作。

集成测试是一个灰色地带,要做好集成测试不是一件容易的事情。集成测试应当针对概要设计规约尽早开始,并遵守一些原则: 集成测试应当尽早开始,并以概要设计规约为基础; 集成测试应当根据集成测试计划和方案进行,排除测试的随意性; 在模块和接口的划分上,测试人员应当和开发人员进行充分的沟通; 项目管理者保证测试用例经过了审核; 集成测试应当按照一定的层次进行; 集成测试的策略选择应当综合考虑质量、成本和进度三者之间的关系; 所有公共的接口都必须被测试到; 关键模块必须进行充分的测试; 测试结果应该被如实记录; 当接口发生修改时,涉及的相关接口都必须进行回归测试; 当测试计划中的结束标准满足时,集成测试结束。

集成测试策略有很多种,主要可以分为增量式和非增量式两种类型。 集成测试分析可以从以下几个方面进行: 体系结构分析 模块分析 接口分析 集成测试策略分析 集成测试策略有很多种,主要可以分为增量式和非增量式两种类型。 非增量式集成测试 增量式集成测试 自顶向下增量式集成测试 自底向上增量式集成测试

6.3 系统测试 系统测试是对已集成好的软件系统进行的彻底的测试,以验证软件系统的正确性和性能等是否满足需求分析所定义的要求。系统测试的测试用例应该根据需求分析规约来设计,并在实际使用环境下运行。 统测试是一个庞大的工程,在测试之前应该做好如下准备工作: 收集软件规格说明书,作为系统测试的依据; 收集各种软件说明书,作为系统测试的参考; 仔细阅读软件测试计划,最好制定单独的系统测试计划,作为系统测试的根据,并收集已编好的测试用例; 如果没有现成的系统测试用例,则需要做大量工作来编写测试用例。

具体说来,系统测试主要包括以下方法: 功能测试 性能测试 压力测试 安全性测试 恢复性测试 健壮性测试 可用性测试 用户界面测试 文档测试

6.4 验收测试 验收测试是部署软件之前的最后一个测试。验收测试目的是确保软件准备就绪,应该着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整,人机界面和其他方面是否令用户满意等。验收测试的结果有两种可能: 软件功能和性能满足软件需求规格要求,用户可以接受; 软件不满足需求规格要求,用户无法接受。

一个软件产品可能拥有很多用户,不能由每个用户验收,此时多采用α和β测试,来发现那些只有最终用户采用可能发现的问题。 α测试是在软件开发公司内模拟软件系统运行环境下的一种验收测试,软件开发公司组织内部人员,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误。当然,α测试也需要用户的参与。 经α测试测试调整的软件产品接下来进行β测试。β测试是指软件开发公司组织各方面典型用户在日常工作中实际使用β版本,并要求用户报告异常情况,提出批评意见。一般包括功能性、安全性、易用性、可扩展性、兼容性、效率、文档等方面的内容,然后软件开发公司再对β版本进行修改和完善。

验收测试主要包括配置复审、合法性检查、文档检查、软件一致性检查、软件功能和性能测试与测试结果评审等内容。 软件文档检查 软件代码测试 软件功能和性能测试 测试结果交付内容

6.5 回归测试 回归测试不是一个测试阶段,而是一种可以用于单元测试、集成测试、系统测试和验收测试各个测试过程的测试技术。 回归测试指软件系统被修改或扩充后重新进行的测试,回归测试是为了保证对软件修改后,没有引入新的错误而重复进行的测试。每当软件增加了新的功能,或软件中的缺陷被修正,这些变更都可能影响软件原来的结构和功能。为了防止软件变更产生的无法预料的副作用,不仅要对内容进行测试,还要重复进行过去已经进行的测试,以证明修改没有引起未曾预料的后果,或证明修改后软件仍能够满足实际的需求。 在软件系统运行环境改变后,或者发生了一个特殊的外部事件,也可以采用回归测试。

本章习题 传统软件测试过程划分为几个阶段?主要目的和对应的开发阶段是什么? 单元测试主要测试哪些内容? 什么是集成测试分析?可以从哪些方面进行? 常用的集成测试策略有哪些? 系统测试有哪些常用的方法? 验收测试的主要内容是什么? 为什么要进行回归测试,如何进行?