软件工程(导论)

成秀秀、杨玲、戚爱斌、苗世迪、温东新

目录

  • 1 软件与软件工程
    • 1.1 软件
    • 1.2 软件危机
    • 1.3 软件工程
    • 1.4 软件生命周期
    • 1.5 软件过程模型
    • 1.6 学生成果分享
  • 2 可行性研究与项目开发计划
    • 2.1 可行性研究的任务
    • 2.2 可行性研究过程
    • 2.3 进度计划
    • 2.4 学生成果分享
  • 3 需求分析
    • 3.1 需求分析的任务
    • 3.2 与用户沟通获取需求的方法
    • 3.3 分析建模与规格说明
    • 3.4 实体-联系图
    • 3.5 数据规范化
    • 3.6 状态转换图
    • 3.7 其它图形工具
    • 3.8 验证软件需求
  • 4 总体设计
    • 4.1 系统流程图
    • 4.2 数据流图
    • 4.3 数据字典
    • 4.4 设计过程
    • 4.5 设计原理
    • 4.6 启发规则
    • 4.7 描绘软件结构的图形工具
    • 4.8 面向数据流的设计方法
  • 5 详细设计
    • 5.1 结构程序设计
    • 5.2 人机界面设计
    • 5.3 过程设计的工具
    • 5.4 面向数据结构的设计方法
    • 5.5 程序复杂程度的定量度量
  • 6 软件编码
    • 6.1 程序设计语言
    • 6.2 编码风格
  • 7 软件测试
    • 7.1 软件测试基础
    • 7.2 单元测试
    • 7.3 集成测试
    • 7.4 确认测试
    • 7.5 白盒测试技术
    • 7.6 黑盒测试技术
    • 7.7 调试
    • 7.8 软件可靠性
  • 8 软件项目管理
    • 8.1 估算软件规模
    • 8.2 工作量估算
    • 8.3 人员组织
    • 8.4 质量保证
    • 8.5 软件配置管理
    • 8.6 能力成熟度模型
单元测试

单元测试总述

单元测试集中检测模块;

单元测试和编码属于软件过程的同一个阶段;

可以应用人工测试和计算机测试这样两种不同类型的测试方法;

单元测试主要使用白盒测试技术,对多个模块的测试可以并行地进行。 


一、测试重点

1、模块接口

2、局部数据结构

3、重要的执行通路

4、出错处理通路

5、边界条件


二、代码审查

由审查小组正式进行测试称为代码审查;

可查出30%~70%的逻辑设计错误和编码错误;

审查小组组成:

■组长

■程序的设计者

■程序的编写者

■程序的测试者

一次审查会上可以发现许多错误,可以减少系统验证的总工作量。 


三、计算机测试

必须为每个单元测试开发驱动程序和(或)存根程序。

驱动程序是一个“主程序”,它接收测试数据,传送给被测试的模块,并且印出有关的结果。

存根程序代替被测试的模块所调用的模块。它使用被它代替的模块的接口,可能做最少量的数据操作,印出对入口的检验或操作结果,并且把控制归还给调用它的模块。

驱动程序和存根程序代表开销,通常并不把它们作为软件产品的一部分交给用户。