面向对象软件测试策略

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 验收测试主要包括配置复审、合法性检查、文档 检查、软件一致性检查、软件功能和性能测试与 测试结果评审等内容。
6.1 单元测试
• 单元测试对软件设计的最小单元即模块的正确性 进行验证,主要测试模块在语法、格式和逻辑上 可能存在的错误。不同的软件形式、不同的开发 技术中,单元的具体含义可能不同。一般来说, 单元指的是软件里最小的、可以独立执行编码的 单位,并且它应该具有以下特征:
– 单元必须可测; – 单元的行为或者输出可观测; – 单元有明确的可定义的边界或接口。 – 在单元测试中,每个模块的测试工作可以独立的、并 行的开展。
第6章 传统软件测试策略
本章要点
了解传统软件测试策略包含的阶段和各自内容 熟悉单元测试的概念和原则 熟悉单元测试关注的几个方面的内容 了解单元测试环境建立和使用的主要方法 熟悉集成测试的概念和原则 熟悉集成测试分析的内容 了解几种常见的集成测试策略 熟悉系统测试的概念 了解常见的系统测试方法 熟悉验收测试的概念和分类 了解验收测试的主要内容 了解回归测试相关概念
– 软件功能和性能满足软件需求规格要求,用户 可以接受; – 软件不满足需求规格要求,用户无法接受。
• 一个软件产品可能拥有很多用户,不能由每个用户验收, 此时多采用α和β测试,来发现那些只有最终用户采用可能 发现的问题。
– α测试是在软件开发公司内模拟软件系统运行环境下的一种验收测 试,软件开发公司组织内部人员,模拟各类用户行为对即将面市 的软件产品进行测试,试图发现并修改错误。当然,α测试也需要 用户的参与。 – 经α测试测试调整的软件产品接下来进行β测试。β测试是指软件开 发公司组织各方面典型用户在日常工作中实际使用β版本,并要求 用户报告异常情况,提出批评意见。一般包括功能性、安全性、 易用性、可扩展性、兼容性、效率、文档等方面的内容,然后软 件开发公司再对β版本进行修改和完善。
• 单元测试要针对每个程序模块进行测试,需要根 据详细设计规约的源代码,了解模块的输入输出 和内部逻辑结构。在测试时主要考虑五个方面的 内容。
出错处理 模块接口 局部数据结构
模块
独立路径 边界条件
• 在进行单元测试时,被测试的单元本身不是独立的程序, 需要为其开发驱动模块和桩模块。驱动模块是接受测试数 据,并把数据传送给被测试的模块,然后打印相关结果的 “主程序”;桩模块是替代那些被被测试模块调用的模块, 可能要使用子模块的接口,才能做一些少量的数据操作, 并验证打印入口处的信息,然后返回。 • 构造单元测试环境的主要工作包括:
• 具体说来,系统测试主要包括以下方法:
– – – – – – – – – 功能测试 性能测试 压力测试 安全性测试 恢复性测试 健壮性测试 可用性测试 用户界面测试 文档测试
6.4 验收测试
• 验收测试是部署软件之前的最后一个测试 。验收测试目的是确保软件准备就绪,应 该着重考虑软件是否满足合同规定的所有 功能和性能,文档资料是否完整,人机界 面和其他方面是否令用户满意等。验收测 试的结果有两种可能:
– 构造最小运行调度系统,即驱动模块,用以模拟被测模块的上一 级模块; – 模拟实现单元接口,即桩模块,用以模拟被测模块需要调用的模 块接口; – 模拟生成测试数据或状态,为单元运行准备动态环境。
6.2 集成测试
• 集成是指将经过单元测试的模块按设计要求把它 们连接起来,组成所规定的软件系统的过程。集 成测试,也叫组装测试、联合测试等,使单元测 试的逻辑扩展,是在单元测试的基础上,测试将 所有的软件单元按照概要设计规约要求组装成模 块、子系统或系统的过程中,各部分功能能否达 到或实现相应技术指标及要求的活动。集成测试 主要是测试软件单元的组合能否正常工作。
• 集成测试是一个灰色地带,要做好集成测试不是一件容易 的事情。集成测试应当针对概要设计规约尽早开始,并遵 守一些原则:
– – – – – – – – – – – 集成测试应当尽早开始,并以概要设计规约为基础; 集成测试应当根据集成测试计划和方案进行,排除测试的随意性; 在模块和接口的划分上,测试人员应当和开发人员进行充分的沟通; 项目管理者保证测试用例经过了审核; 集成测试应当按照一定的层次进行; 集成测试的策略选择应当综合考虑质量、成本和进度三者之间的关系; 所有公共的接口都必须被测试到; 关键模块必须进行充分的测试; 测试结果应该被如实记录; 当接口发生修改时,涉及的相关接口都必须进行回归测试; 当测试计划中的结束标准满足时,集成测试结束。
• 传统软件测试过程则分为单元测试、集成测试、 系统测试与验收测试几个阶段,与软件开发活动 逆向形成对应关系。
– 单元测试确保每个模块独立正确的运行,多采用白盒测试,通过 覆盖技术确保覆盖尽量多的出错点,对应着软件详细设计阶段; – 集成测试建立在模块间的接口之上来测试软件结构,多采用黑盒 测试,辅以白盒测试,对应着软件概要设计阶段; – 系统测试检验软件是否满足功能、性能和行为方面的需求,基本 完全采用黑盒测试,对应着软件需求分析阶段; – 验收测试是检验软件产品是否符合要求的最后一道工序,它需要 用户的参与与评审。
• 统测试是一个庞大的工程,在测试之前应该做好如下准备 工作:
– 收集软件规格说明书,作为系统测试的依据; – 收集各种软件说明书,作为系统测试的参考;
百度文库
– 仔细阅读软件测试计划,最好制定单独的系统测试计划,作为系 统测试的根据,并收集已编好的测试用例;
– 如果没有现成的系统测试用例,则需要做大量工作来编写测试用 例。
• 集成测试分析可以从以下几个方面进行:
– – – – 体系结构分析 模块分析 接口分析 集成测试策略分析
• 集成测试策略有很多种,主要可以分为增量式和非增量式 两种类型。
– 非增量式集成测试 – 增量式集成测试 • 自顶向下增量式集成测试 • 自底向上增量式集成测试
6.3 系统测试
• 系统测试是对已集成好的软件系统进行的彻底的测试,以 验证软件系统的正确性和性能等是否满足需求分析所定义 的要求。系统测试的测试用例应该根据需求分析规约来设 计,并在实际使用环境下运行。
相关文档
最新文档