模块测试

article/2025/8/22 10:35:40

本博客主要分享关于模块测试(单元测试)的相关概念。
以及再进行模块测试中的各种测试方法,和他们各自的优缺点。

大型测试的软件程序(超过500条语句的程序)需要特别的测试对策。

大型程序测试的第一个步骤:模块测试

模块测试(或单元测试)是对程序中的单个子程序、子程序或过程进行测试的过程。

一开始并不是对整个程序进行测试,先测试构成程序的较小模块上面。

1、模块测试的优点
(1)模块测试对较小单元进行测试,是一种管理组合的测试元素的手段。
(2)模块测试减轻了调试的难度(准确定位并纠正某个已知错误的过程)的难度。
(3)模块测试通过为我们提供同时测试多个模块的可能,将并行工程引入软件测试中。

模块测试的目的是将模块的功能与定义模块的功能规格进行比较。

{
从三个方面讨论模块测试:
1、测试用例设计方式
2、模块测试及集成的顺序
3、对执行模块测试的建议

一、测试用例设计
1、模块的规格说明
一般规定了模块的输入参数和输出参数以及模块的功能
2、模块的源代码

模块测试总体上是面向白盒测试的,对完整的程序,白盒测试不容易展开;
后续测试过程着眼于发现其他类型的错误(这些错误不一定与逻辑结构有关,比如程序未能满足用户需求)

模块测试的测试用例设计过程:使用一种或多种白盒测试方法分析模块逻辑结构,然后使用黑盒测试方法对照模块的规格说明以补充测试用例。

二、增量测试
将模块组装成工作程序的方式
增量测试和非增量测试
两种增量方法:自顶向下和自底向上开发或测试过程

1、软件测试是否应先独立测试每个模块,然后将这些模块组装成完整的程序?这种方法称为非增量测试(崩溃测试)
2、先将下一步要测试的模块组装到测试完成的模块集合中,再进行测试,称为增量测试或集成。

传统的非增量测试:
先对每一个模块进行单独地模块测试,将每一个模块视为一个独立的个体。这些模块可以同时或者按次序进行测试,最后将这些模块组装或者集成为完整的程序。
这里写图片描述
测试单独的模块需要一个特殊的驱动模块(driver module)和一个或多个桩模块(stub module)。测试模块B,设计测试用例,将测试用例作为输入参数由驱动模块传递给模块B。驱动模块是人们编写的一个小模块,用来将测试用例驱动或传输到被测模块中(也可以由测试工具替代)。驱动模块还必须向测试人员显示模块B的结果。此外,模块B调用了模块E,所以还必须使用一个额外的组件,该组件在模块B调用模块E的时候接受模块B的控制指令。就由桩模块来完成,它是一个被命名为“E”的特殊模块,用来模拟E的功能。当所有的模块测试都完成之后,就将这些模块组装成完整的程序。

增量测试 不同于独立地测试每个模块,增量测试首先将下一个要测试的模块组装到前面已经测试过的模块集合中去。

Conclusion:

1、非增量测试所需工作量要多一些,需要准备驱动模块和桩模块。
自底向上的增量测试只需要驱动模块不需要桩模块;
自顶向下的增量测试只需要桩模块不需要驱动模块。
增量测试的工作量要少一些,因为使用前面测试过的模块来取代非增量测试中所需要的桩模块(自底向上)或驱动模块(自顶向下(从顶部开始测试))

2、若使用增量测试,可以较早发现模块中与不匹配接口、不正确假设相关的编程错误(尽早对模块进行了集成测试)。采用非增量测试,如果先前对各个模块测试都没有发现问题,各个模块内部并没有错误,但是集成综合测试的时候,可能有接口不匹配等问题,造成整个程序出现问题,发现问题的时间太晚,导致最后修正难度增大,而且找出问题更不容易。

3、如果使用了增量测试,调试会进行的容易一些。假定存在着与模块之间接口或假设相关的编程错误,那么如果使用非增量测试,直到整个程序组装之后,错误才浮现出来,此时,定位错误难度很大,它可能存在于程序内部的任何一个位置。 如果使用增量测试,这种类型的错误就很容易发现,因为该错误很可能与最近添加的模块有关。

4、增量测试会将测试进行得更彻底,增量测试使用先前测试过的模块,取代了非增量测试中使用的桩模块或驱动模块。因此,到最后一个模块测试完成时,实际的模块经受到了更多的检验。

5、非增量测试所占用机器的时间显得少一些。完成一次增量测试所需执行的机器命令多于采用非增量测试方法所需的指令。但是非增量测试要比增量测试需要更多的驱动模块和桩模块,开发这些驱动模块和桩模块是要占用机器时间的。

6、模块测试阶段开始时,如果使用的是非增量测试,就有更多机会进行并行操作(所有模块可以同时测试),在模块开始之时,项目的人员数量常常处于最高峰。

}


http://chatgpt.dhexx.cn/article/amJrekPw.shtml

相关文章

系统为什么要模块化

一、系统模块化的重要性: 对于目前绝大部分的项目而言,系统模块化的重要性不言而喻。一个良好的模块划分能够使得系统具有以下的优点: 1. 更高的可靠性 2. 更稳定的结构 3. 更强的维护性 4&#…

【C语言】模块化编程-通俗易懂

1什么是模块化 模块化编程就是把我们的一整个项目,分成很多模块(比如一个学生成绩查询可以分为,登陆,查询,修改保存,退出等模块) 而一个程序工程包含多个源文件(.c 文件和 .h 文件)&#xff0…

python模块详细介绍

文章目录 模块模块的简介和使用简介使用模块 python标准库python第三方模块pyecharts的使用 模块 模块的简介和使用 简介 模块化是将程序分解为一个个的模块module,通过组合模块来搭建出一个完整的程序。 有点:便于团队开发,方便维护&…

什么是模块化?

1.什么是模块化? 1.模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元 2. 编程领域中的模块化,就是遵守固定的规则,把一个大文件拆成独立并互相依赖的多个小模块…

模块的介绍

模块简介 1.什么是模块 模块就是以 .py 结尾的文件里面定义好功能的函数和对象看成一个结合体,当用户调用模块就相当于拥有了这个模块里面的所有功能。 2.模块的分类 内置模块: 解释器内自带的模块 可以直接调用 如:time、random 自定义模块&…

模块基础——模块简介、模块导入方式、模块查找顺序

文章目录 模块简介模块的使用import句式from...import...句式模块的补充知识判断文件类型循环导入问题模块的查找顺序(重点) 面向过程编程面向过程的优缺点 模块简介 什么是模块? 模块就是一系列功能的集合。在python中,一个py文件就是一个模块&#xff…

Linux下iptables防火墙配置

目录 一.Linux防火墙基础 1.1 防火墙概述 1.2 四表五链 二. iptables--命令 2.1 iptables的安装 2.2 iptables的配置方法 三.配置Filter表防火墙 3.1 列出(fliter)表中的所有链 iptables -L 3.2 使用数字形式(fliter)表…

linux防火墙添加开放端口

linux防火墙添加开放端口 --添加开放端口 sudo firewall-cmd --zonepublic --add-port开放的端口号/协议[tcp/udp] --permanent --permanent 添加的端口号永久生效 --使新增的端口配置立即生效 sudo firewall-cmd --reload ​​​​​​​

Linux修改防火墙

linux环境-CentOS 7.6 64位 查看是否配置防火墙:ifconfig 2.查看是否开启防火墙:service iptables status 3.查看防火墙配置规则:iptables -L -n 4.查看ssh当前端口占用:sudo netstat -atlunp | grep sshd 5.修改进入ssh目录&a…

linux 防火墙配置规则

基础知识 Linux系统内核内建了netfilter防火墙机制。Netfilter(数据包过滤机制),所谓的数据包过滤,就是分析进入主机的网络数据包,将数据包的头部数据提取出来进行分析,以决该连接为放行或阻挡的机制。Net…

Linux防火墙配置及放行端口

文章目录 一、firewalld的基本使用(系统防火墙)二、配置firewalld-cmd三、通过firewall-cmd(放行端口) 一、firewalld的基本使用(系统防火墙) 查看防火墙状态: systemctl status firewalld.se…

linux显示 防火墙配置文件,怎么查看Linux防火墙配置方法

当Linux系统的防火墙的状态和信息时候,我们可以用哪些命令查看呢。下面由学习啦小编为大家整理了查看Linux系统防火墙的命令详解,希望对大家有帮助! 查看Linux系统防火墙的命令详解 查看Linux系统防火墙的命令一、service方式 查看防火墙状态: [root@centos6 ~]# service ip…

Linux 配置防火墙

Linux 配置防火墙 一、图形化的形式 1.开启LAMP systemctl start httpd2.查看本地IP地址 ip addr3.本地IP为 192.168.31.150本地访问 外部浏览器就无法访问 4.此时配置防火墙 firewall-config此时,出现图形化界面,需要输入密码 改变服务http R…

Linux 防火墙配置(iptables和firewalld)

目录 防火墙基本概念 Iptables讲解 Iptables表 Iptables规则链 Iptables控制类型 Iptables命令配置 firewalld讲解 Firewalld区域概念 Firewalld两种配置方法 firewall-cmd命令行基础配置 firewall-config图形化配置 防火墙基本概念 防火墙就是根据系统管理员设定的…

UI设计师如何应对面试 哪些细节问题不可忽视

UI设计师如何应对面试?哪些细节问题不可忽视?有互联网的地方就会有UI设计师,越来越多的人转行从事UI设计加剧了求职竞争,如何才能脱颖而出获得高薪呢?专业技能很重要,面试技巧也不可忽视,下面就给大家分享…

UI设计师如何脱颖而出 面试过程中要注意什么

UI设计师如何脱颖而出?面试过程中要注意什么?有互联网的地方就会有UI设计师,越来越多的人转行从事UI设计加剧了求职竞争。专业技能很重要,面试技巧也不可忽视,下面就给大家分享一些UI设计师在面试过程中不可忽视的四个…

UI设计师这些面试技巧你知道吗?

随着互联网产业的飞速发展,UI设计师岗位缺口不断攀升,有意入行的人群也不在少数。那么学成之后,自然而然要进入到面试环节,为了提前做好准备,千锋今天向您分享几招UI设计师的面试技巧。 ​ 通顺的逻辑思维和表达能力 …

企业招聘UI设计常见面试题分享

对于想要加入互联网行业却又不愿意敲代码的人来说,UI设计是一个非常不错的选择。随着用户体验度即审美要求的提升,UI设计师地位进一步提升,很多企业都乐意薪资较高的招聘专业的设计人才。下面就给大家详细介绍一下。 目前UI设计热度呈现持续上…

2018年UI设计师经典面试题及答案总结

2018年马上就要结束了,给大家总结了一些UI设计出现比较多的面试题,很多时候我们有足够的技术,但是可能就断送在了面试上,大家如果去面试,可以多了解看看以下的这些UI设计师经典面试题及答案,毕竟知己知彼才能更好的发挥自己的特长,提高面试的机率嘛。 1、推动一个项目的…

android ui设计 面试问题,2019新版UI设计面试题汇总附答案

原标题:2019新版UI设计面试题汇总附答案 问题一、Android手机的常用设计尺寸有_________.怎么适配ios和安卓。 答案:安卓320 X 480是常规模拟器、但现在的开发都是用360x640做一倍率。480 X 800(1.5倍率)、720 X 1280(2倍率)、1920*1080(3倍率) ios用ske…