第六章-系统测试与维护

本章概要

  • 测试评审方法
  • 验证与确认
  • 测试自动化
  • 软件调试
  • 测试设计和管理方法

一、测试与评审

原则:

  1. 尚未发现的错误数量与程序已经发现错误的数量成正比
  2. 修改后应该进行回归测试
  3. 既要选择有效、合理的数据,也要选择无效、不合理的数据
  4. 程序员避免测试自己的程序
  5. 尽早、不断地进行测试

1.1测试类型

  • 动态测试
    • 黑盒测试法:面向设计需求以及说明书的规定
    • 白盒测试法:面向结构、检测软件编码过程中的错误
    • 灰盒测试法:介于二者之间
  • 静态测试

1.2测试用例设计

  • 黑盒测试法:等价类划分、边界值分析、错误推测(现象看本质)、因果图
  • 白盒测试法:基本路径测试、循环覆盖测试、逻辑覆盖测试(语句、条件、判断等逻辑覆盖)

1.3测试阶段

  1. 单元测试
  2. 集成测试
  3. 确认测试(阶段顺序——————存疑、填坑???)
    • 内部确认测试
    • Alpha测试
    • beta测试
    • 验收测试
  4. 系统测试
  5. V模型:

    1584238690198

1.4面向对象测试

  • 算法层(单元测试)
  • 类层(模块测试)
  • 模板层/类树层(集成测试)
  • 系统层(系统测试)

1.5测试自动化

  • 优缺点

1.6软件调试

调试方法:
  1. 蛮力法:计算机找错,但是低效、耗时
  2. 回溯法:按照控制流程人工回溯追踪,但是不适用于大型软件
  3. 原因排除法:演绎归纳+二分法
测试与调试内涵的异同:
  • 测试在前、调试在后

  • 测试与调试的目标、方法和思路上都不同:

    • 测试目标:是否存在错误
    • 调试目标:定位错误+修正错误
  • 测试始于已知条件;调试始于未知条件

  • 测试在时间和过程上是可预知的;调试不可预知

1.7软件评审

原则

  • 关注产品、实质性问题
  • 评审工作不可缺省
分类
  • 技术评审
  • 管理评审

1.8验证与确认

验证内涵
  • 整个开发周期,一个给定的阶段的产品,是否达到上一阶段确定的需求的过程
确认内涵
  • 开发结束时,评价软件是否和软件需求相一致的过程

二、软件质量管理

2.1质量保证与质量控制

质量保证内涵
  • 分阶段、间隔时间进行
  • 方法:质量审计和过程分析
质量控制内涵
  • 实时监控
  • 目的:判断是否复核相关质量标准、制定有效方案、消除产生质量问题的原因
联系
  • 质量控制的成果是质量保证的审计对象之一
  • 质量保证的成果又可以指导下一阶段的质量工作(质量控制、质量改进)

三、软件改进过程

3.1 CMMI(目的是为软件改进)

CMMI:能力成熟度模型集成

CMMI 是什么东西?

连续式和阶段式同时也是评估的两个不同角度,用连续式评估,企业会得到很多个PA的Level,用阶段式评估,企业会得到一个整体的Level。

  • 组织能力成熟度——阶段式
    • 等级由低到高:初始级、已管理级、已定义级、定量管理级、优化级
  • 软件过程能力——连续式

四、软件开发环境与工具

软件开发支持环境
  • 环境机制
    • 界面:用户界面规范
    • 过程:过程控制和消息服务
    • 库:环境信息库
  • 工具集
    • 系统规划工具
    • 建模工具
    • 分析设计工具
    • 编程工具
    • 测试工具
    • 项目管理工具
软件生存期支持环境

五、系统运行与评价

5.1系统转换计划(有新|旧系统)

新旧系统转换策略
  • 直接转换策略
  • 并行转换策略
  • 分段转换策略

1584243852506

数据转换与迁移

ETL:Extract-Transform-Load

  • 抽取:旧数据库
  • 转换:
    • 工具迁移(系统切换前)
    • 手工录入(系统切换前)
    • 新系统生成(系统切换后)
  • 装载:新数据库

5.2系统运行与维护

软件维护的特点:
  • 是整个生命周期完整的一部分
  • 软件维护定义:需要提供软件支持的全部活动
  • 交付前:交付后运行的计划和维护计划
  • 交付后:软件修改、培训、帮助资料等

1584244198195

四类维护的内涵:
  • 正确性维护(改正性维护):改正测试阶段尚未发现的错误
  • 适应性维护:外部环境(信息技术变化)和管理需求变化进行的修改
  • 完善性维护:扩充功能+改善性能
  • 预防性维护:为适应未来软硬件环境的变化,主动增加预防性新功能

5.3系统审计

审计准备阶段:
  • 合同及相关准备
  • 审计计划
审计实施阶段:
  • 系统规划、分析阶段
  • 系统设计、实现阶段
  • 系统运行、维护阶段
  • 系统项目管理规范
审计报告阶段:

1584244665464

5.4系统评价

分类
  • 性能、效益、建设
流程
  • 组织成立
  • 收集资料
  • 评价报告
  • 公布+建立评价项目档案