文章目录

  • 一:概述
  • 二:测试重点(了解)
    • (1)模块结构
    • (2)局部数据结构
    • (3)重要的执行通路
    • (4)出错处理通路(了解)
    • (5)边界条件
  • 三:测试方法
    • (1)代码审查
      • A:定义(了解)
      • B:流程
      • C:优点(了解)
      • D:与计算机测试的关系
    • (2)计算机测试(了解)

一:概述

单元测试集中检测软件设计的最小单元一模块,它和编码属于软件过程的同一个阶段。在编写出源程序代码并通过了编译程序的语法检查之后,就可以用详细设计描述作指南,对重要的执行通路进行测试,以便发现模块内部的错误。单元测试主要使用白盒测试技术,而且对多个模块的测试可以并行地进行,包括人工测试和计算机测试两种

  • 测试依据:详细设计文档
  • 测试技术:白盒测试技术
  • 测试方法:人工测试和计算机测试

二:测试重点(了解)

(1)模块结构

  • 模块接口的数据流是否能正常进出
  • 参数的数目、次序、属性或单位系统与变元是否一致
  • 是否修改了只作输入用的变元
  • 全局变量的定义和用法在各个模块中是否一致

(2)局部数据结构

对于模块来说,局部数据结构是常见的错误来源。应该仔细设计测试方案,以便发现局部数据说明、初始化、默认值等方面的错误。

(3)重要的执行通路

  • 选择最有代表性、最可能发现错误的执行通路进行测试
  • 设计测试方案来发现由于错误计算、不正确的比较或不适当的控制流而造成的错误

(4)出错处理通路(了解)

当评价出错处理通路时,应着重测试可能发生的错误为:

  • 错误的描述是难以理解
  • 记下的错误与实际遇到的错误不同
  • 在对错误进行处理之前,错误条件已经引起系统干预
  • 对错误的处理不正确
  • 描述错误的信息不足以帮助确定造成错误的位置

(5)边界条件

边界测试是单元测试中最重要的任务。软件常常在它的边界上失效,例如,处理n元数组的第n个元素时,或做到1次循环中的第1次重复时,往往会发生错误。使用刚好小于、刚好等于和刚好大于最大值或最小值的数据结构、控制量和数据值的测试方案,非常可能发现软件中的错误。

三:测试方法

(1)代码审查

A:定义(了解)

人工测试源程序可以由程序的编写者本人非正式地进行,也可以由审查小组正式进行。后者称为代码审查是一种非常有效的程序验证技术。

B:流程

  • 组建审查小组
  • 审查会议

C:优点(了解)

  • 一次审查会上可以发现许多错误
  • 不需要每次发现一个错误就进行验证,减少了系统验证的总工作量

D:与计算机测试的关系

对于查找某些类型的错误来说,人工测试比计算机测试更有效;对于其他类型的错误来说则刚好相反。因此,人工测试和计算机测试是互相补充,相辅相成的,缺少其一都会使查找错误的效率降低

(2)计算机测试(了解)

模块并不是一个独立的程序,因此必须要为每个单元测试开发驱动软件和(或)存根软件,具体如下:

  • 驱动程序:接收测试数据,把这些数据传送给被测试的模块,并且印出有关的结果
  • 存根程序:代替被测试的模块所调用的模块,它使用被它代替的模块的接口,做最少量的数据操作,印出对入口的检验或操作结果,并且把控制归还给调用它的模块

(软件工程复习核心重点)第六章实现和测试-第三节:单元测试相关推荐

  1. (软件工程复习核心重点)第一章软件工程概论习题

    这一章题目主要以简答和名词解释为主 文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 (2)了解 四:简答题 (1)必考 1.关于软件危机 2.关于软件工程 3. 关于软件生命周期 4.关于 ...

  2. (软件工程复习核心重点)第一章软件工程概论-第四节:软件过程及相关模型

    文章目录 一:软件过程概念 (1)定义 (2)构成 二:主要模型 (1)瀑布模型 A:定义 B:特点 C:优缺点 D::适用范围 E:实际的瀑布模型 (2)快速原型模型 A:定义 B:原理 C:优缺点 ...

  3. (软件工程复习核心重点)第九章软件项目管理

    文章目录 一:估算软件规模 (1)代码行技术 (2)功能点技术 二:工作量估算 三:进度计划 (1)甘特图(Cantt图) (2)工程网络 四:人员组织 五:质量保证 六:软件配置管理 七:能力成熟度 ...

  4. (软件工程复习核心重点)第一章软件工程概论-第二节:软件工程

    文章目录 一:软件工程 (1)软件工程的定义 (2)软件工程的本质特征 (3)软件工程基本原理 二:软件工程方法学 (1)概念 (2)分类 一:软件工程 (1)软件工程的定义 软件工程:采用工程的概念 ...

  5. (软件工程复习核心重点)第一章软件工程概论-第一节:软件和软件危机

    文章目录 一:软件的概念.特点与发展 (1)软件发展的三个阶段 (2)软件的概念 (3)软件的特点 二:软件危机 (1)软件危机的概念 (2)软件危机的表现 (3)软件危机产生的原因 A:主观原因 B ...

  6. (软件工程复习核心重点)第九章面向对象分析-第二节:面向对象分析之建立对象模型

    文章目录 一: 基本概念 (1)对象模型 (2)先建立对象模型的原因 (3)信息来源 (4)典型的建模步骤 二:确定类与对象 (1)找出候选的类与对象 A:客观事物分类 B:非正式分析 C:提取隐含的 ...

  7. (软件工程复习核心重点)第二章可行性研究习题

    文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 四:简答题 (1)必考 1. 关于可行性研究 2. 关于数据流图 3. 关于数据字典 (2)了解 五:应用题/画图题 一:选择题 二:填空题 ...

  8. (软件工程复习核心重点)第九章面向对象分析-第三节:面向对象分析之建立动态模型和功能模型

    文章目录 一:建立动态模型 (1)概念 A:适用性 B:步骤 (2)编写脚本 A:定义 B:目的 C:内容 D:方法 (3)设想用户界面 A:重要性 B:目的 C:方法 (4)画事件跟踪图 A:必要性 ...

  9. (软件工程复习核心重点)第二章可行性研究-第三节:数据流图

    文章目录 一:数据流图的定义(DFD) 二:数据流图的特点 三:数据流图的符号 (1)符号 (2)注意(了解) 四:数据流图示例 (1)示例1 A:首先从题目中提取四种成分 B:画数据流图 (2)示例 ...

  10. (软件工程复习核心重点)第二章可行性研究-第四节:数据字典

    文章目录 一:相关概念 (1)定义 (2)作用 (3)意义(了解) 二:内容 三:定义数据的方法 (1)数据元素组成数据的方式 (2)符号表示 四:数据字典示例 五:用途 一:相关概念 (1)定义 数 ...

最新文章

  1. 汇总python三种数据结构list,set,dict的常见操作
  2. CSS 7:网页布局(传统布局,flex布局,布局套路)
  3. python用户登录_python用户登录系统
  4. java三个取最大值、菜单新增修改、猜数字大小
  5. 财务造假10年!贾跃亭被罚2.41亿
  6. 希尔和归并排序的异同
  7. [UE4]增加观察者
  8. HDU-4310 Hero 贪心Or动态规划
  9. Java调用Javascript、Python算法总结
  10. python最短路径例子_[python]dijkstra 算法的 加权的最短路径 案例
  11. Java开发手册(嵩山版)
  12. grub4dos 加载 MEMTEST+86
  13. Qt开发笔记:OpenSSL库介绍、windows上mingw32版本的OpenSSL编译模块化
  14. R语言线性混合效应模型实战案例
  15. vue2.0 axios封装
  16. (CVPR-2022)具有密集 3D 表示和基准的野外步态识别
  17. 集成preempt-rt patch后发生panic的调试过程
  18. Nginx代理规则总结
  19. 登录显示服务器端校验不通过,SMTP服务器需要安全连接或客户端未通过身份验证。服务器响应是:5.7.57 SMTP;...
  20. Jackson荧光染料丨艾美捷Jackson Alexa Fluor®荧光染料

热门文章

  1. qt自带静态代码检测工具_两款静态代码检测工具的对比
  2. 大数据之Spark教程
  3. OpenCV中的Sobel算子
  4. 《细胞》重磅成果!任兵课题组绘制迄今最大规模人类单细胞染色质可及性图谱...
  5. 重磅!这个生信神器助你文章秒出图——miRNA与基因互作数据库
  6. linux 内核 核心代码,8分钟掌握Linux内核分析的核心科技
  7. QT Core | 信号槽01 - GUI上按钮触发应用程序里某个类的函数
  8. c 读取mysql另一个窗体中显示出来_二级ACCESS数据库4窗体的笔试题考点分析
  9. php怎么引入外部css文件,js如何引入css外部文件
  10. Qt笔记-QProcess带管道符号运行及获取进程启动时间(Linux)