热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

单元测试任务包括哪些?

单元测试,处于软件测试初期阶段,任务主要包括:模块接口测试、模块局部数据结构测试、模块中所有独立执行通路测试、模块的各条错误处理通路测试、模块边界条件测试。模块接口测试是单元测试的基础

  单元测试,处于软件测试初期阶段,任务主要包括:模块接口测试、模块局部数据结构测试、模块中所有独立执行通路测试、模块的各条错误处理通路测试、模块边界条件测试。

  1. 模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。测试接口正确与否应该考虑下列因素:

    (1) 输入的实际参数与形式参数的个数是否相同;(2)输入的实际参数与形式参数的属性是否匹配;(3)输入的实际参数与形式参数的量纲是否一致;(4)调用其 他模块时所给实际参数的个数是否与被调模块的形参个数相同;(5)调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配;(6)调用其他模块时 所给实际参数的量纲是否与被调模块的形参量纲一致;(7)调用预定义函数时所用参数的个数、属性和次序是否正确;(8)是否存在与当前入口点无关的参数引 用;(9)是否修改了只读型参数;(10)对全程变量的定义各模块是否一致;(11)是否把某些约束作为参数传递。 如果模块内包括外部输入输出,还应该 考虑下列因素:(1)文件属性是否正确;(2)OPEN/CLOSE语句是否正确;(3)格式说明与输入输出语句是否匹配;(4)缓冲区大小与记录长度是 否匹配;(5)文件使用前是否已经打开;(6)是否处理了文件尾;(7)是否处理了输入/输出错误;(8)输出信息中是否有文字性错误;

  2. 检 查局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确。局部数据结构往往是错误的根源,应仔细设计测试用例,力求发现下面几类错 误:(1)不合适或不相容的类型说明;(2)变量无初值;(3)变量初始化或省缺值有错;(4)不正确的变量名(拼错或不正确地截断);(5)出现上溢、 下溢和地址异常。

  3. 除 了局部数据结构外,如果可能,单元测试时还应该查清全局数据对模块的影响。   在模块中应对每一条独立执行路径进行测试,单元测试的基本任务是保证模块中每条语句至少执行一次。此时设计测试用例是为了发现因错误计算、不正确的比较和 不适当的控制流造成的错误。此时基本路径测试和循环测试是最常用且最有效的测试技术。计算中常见的错误包括:(1)误解或用错了算符优先级;(2)混合类 型运算;

     (3)变量初值错;    (4)精度不够;    (5)表达式符号错。     比较判断与控制流常常紧密相关,测试用例还应致力于发现下列错误:    (1)不同数据类型的对象之间进行比较;    (2)错误地使用逻辑运算符或优先级;    (3)因计算机表示的局限性,期望理论上相等而实际上不相等的两个量相等;    (4)比较运算或变量出错;    (5)循环终止条件或不可能出现;    (6)迭代发散时不能退出;    (7)错误地修改了循环变量。

  1. 一 个好的设计应能预见各种出错条件,并预设各种出错处理通路,出错处理通路同样需要认真测试,测试应着重检查下列问题:(1)输出的出错信息难以理解; (2)记录的错误与实际遇到的错误不相符;(3)在程序自定义的出错处理段运行之前,系统已介入;(4)异常处理不当;(5)错误陈述中未能提供足够的定 位出错信息。

  2. 边界条件测试是单元测试中最后,也是最重要的一项任务。众的周知,软件经常在边界上失效,采用边界值分析技术,针对边界值及其左、右设计测试用例,很有可能发现新的错误。


推荐阅读
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • [论文笔记] Crowdsourcing Translation: Professional Quality from Non-Professionals (ACL, 2011)
    Time:4hoursTimespan:Apr15–May3,2012OmarZaidan,ChrisCallison-Burch:CrowdsourcingTra ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ... [详细]
  • 三星W799在2011年的表现堪称经典,以其独特的双屏设计和强大的功能引领了双模手机的潮流。本文详细介绍其配置、功能及锁屏设置。 ... [详细]
  • 在API测试中,我们常常需要通过大量不同的数据集(包括正常和异常情况)来验证同一个接口。如果为每种场景单独编写测试用例,不仅繁琐而且效率低下。采用数据驱动的方式可以有效简化这一过程。本文将详细介绍如何利用CSV文件进行数据驱动的API测试。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
author-avatar
手机用户2502939543
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有