【软件测试】单元测试、系统测试、集成测试的区别及示例

2023-11-11

目录

一、单元测试

二、集成测试

三、系统测试


一、单元测试

  1. 定义:单元测试是对软件组成单元进行测试(细粒度)
  2. 测试目的:用于检验软件基本组成单位的正确性
  3. 测试对象:一个工作单元,通常是类内部的一个方法
  4. 测试使用方法:白盒测试
  5. 测试依据:详细设计文档+代码
  6. 测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
  7. 评估基准:逻辑覆盖率
  8. 花费时间:少
  9. 测试举例(以用户管理模块为例,关注点是用户管理模块本身的功能或错误处理)

测试用例编号

UNIT_001

测试模块/对象

用户管理

是否有测试代码

测试代码

测试目的

添加用户时,当输入的信息不完整时,看是否能够给出提示且添加失败

前提条件(如有)

序号

操作

预期结果

测试结果

备注

1

启动软件,点击用设置-用户管理,进入用户管理界面

正常登录,显示用户管理界面

2

点击新增按钮

显示新增用户窗体

3

输入用户名,其余信息不填

正常显示用输入的用户名

4

点击保存按钮

提示密码不能为空,且用户新增失败

用例测试结果

二、集成测试

  1. 定义:也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作(中等粒度)
  2. 测试目的:用于验证详细设计,主要目的是检查软件单位之间的接口是否正确
  3. 测试对象:一项内部功能,多个类之间或与外部系统的交互
  4. 测试使用方法:灰盒测试
  5. 测试一句:概要设计文档+单元测试用例
  6. 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响
  7. 评估基准:接口覆盖率
  8. 花费时间:中等
  9. 测试举例(以用户登录模块为例,关注点是模块之间的对接情况,如添加用户模块和用户管理展示界面)

测试用例编号

INTEGRATE_001

测试模块/对象

用户管理

是否有测试代码

测试代码

测试目的

输入正确信息添加用户后,能否将新用户显示至用户管理界面

前提条件(如有)

序号

操作

预期结果

测试结果

备注

1

启动软件,点击用设置-用户管理,进入用户管理界面

正常登录,显示用户管理界面

2

点击新增按钮

显示新增用户窗体

3

输入用户名、助记符、密码、确认密码等信息,选择权限

正确输入所有信息

4

点击保存按钮

在用户管理界面新增一条用户数据

用例测试结果

三、系统测试

  1. 定义:对功能、性能以及软件所运行的软硬件环境进行测试,如回归测试、冒烟测试(粗粒度)
  2. 测试目的:用于验证概要设计
  3. 测试对象:一项外部功能,从用户的角度验证需求
  4. 测试使用方法:黑盒测试
  5. 测试依据:需求规格说明书
  6. 测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
  7. 评估基准:需求规格的覆盖率
  8. 花费时间:多
  9. 测试举例(以用户登录模块为例,关注的是此功能是否符合用户需求以及性能的好坏)

测试用例编号

SYSTEM_001

测试模块/对象

用户管理

是否有测试代码

测试代码

测试目的

是否能正常添加、编辑、删除用户

前提条件(如有)

序号

操作

预期结果

测试结果

备注

1

启动软件,点击用设置-用户管理,进入用户管理界面

正常登录,显示用户管理界面

2

点击新增按钮,并按要求输入所有信息,点击保存

新增用户成功

3

在用户管理界面,选中已有的用户,点击编辑按钮,重新输入该用户的信息,点击保存

编辑用户成功

4

在用户管理界面,选中已有的用户,点击删除按钮,选择是

删除用户成功

用例测试结果


参考:

单元测试、集成测试、系统测试区别 - 郝小爬 - 博客园 (cnblogs.com)

(10条消息) 软件测试的四个阶段【单元测试、集成测试、系统测试和验收测试】_集成测试和单元性测试什么时候开始执行_ty6693的博客-CSDN博客

(11 封私信 / 80 条消息) 单元测试,集成测试,系统测试的区别是什么? - 知乎 (zhihu.com)

--END--

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【软件测试】单元测试、系统测试、集成测试的区别及示例 的相关文章

  • 真的干不过,00后整顿职场已经给我卷麻了,想离职了...

    在程序员职场上 什么样的人最让人反感呢 是技术不好的人吗 并不是 技术不好的同事 我们可以帮他 是技术太强的人吗 也不是 技术很强的同事 可遇不可求 向他学习还来不及呢 真正让人反感的 是技术平平 却急于表现自己的人 每天加班到12点 在老
  • 软件测试|Windows系统配置pytest+allure环境教程

    前言 allure可以输出非常精美的测试报告 也可以和pytest进行完美结合 不仅可以渲染页面 还可以控制用例的执行 本文我们将介绍Windows系统中如何配置allure环境 第一步 配置Java环境 因为 allure 的运行依赖于J
  • 接口测试之Fiddler弱网测试

    前言 目前市面上的APP功能越来越丰富 移动端测试也越显为重要 因为用户在网速慢的情况下 你的网站 软件 总能出现各种各样的问题 请不要忽略这一点 针对在不同的网络情况下 接下来 本篇要讲述的就是在通过fiddler对APP进行模拟弱网测试
  • 【Mysql】InnoDB 引擎中的页目录

    一 页目录和槽 现在知道记录在页中按照主键大小顺序串成了单链表 那么我使用主键查询的时候 最顺其自然的办法肯定是从第一条记录 也就是 Infrimum 记录开始 一直向后找 只要存在总会找到 这种在数据量少的时候还好说 一旦数据多了 遍历耗
  • Jmeter 压测-性能调优5大注意

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 小白也能学会的创建Git仓库实操

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试/测试开发/全日制/测试管理丨Python深拷贝与浅拷贝

    深拷贝和浅拷贝是两种不同的拷贝方式 它们在处理可变对象 如列表 字典 时有着不同的行为 以下是深拷贝和浅拷贝的主要区别 1 浅拷贝 Shallow Copy 创建方式 浅拷贝通过复制原始对象 创建一个新对象 但对于原始对象中的可变对象 如列
  • RF自动化环境安装+自动化实例解析

    RF定义 通用型的 自动测试框架 绝大部分的软件的的自动化系统都可以采用它 特点 测试数据文件 Test Data 对应一个个的测试用例 测试数据文件里面使用的功能小模块叫关键字 由测试库 Test Library Robot Framew
  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|使用matplotlib绘制多种折线图

    简介 在数据可视化领域 Matplotlib是一款非常强大的Python库 它可以用于绘制各种类型的图表 包括折线图 本文将介绍如何使用Matplotlib创建多种不同类型的折线图 并提供示例代码 创建模版 在绘图之前 我们可以先创建我们的
  • 软件测试|Pydantic处理时间类型数据

    简介 我们之前介绍过使用 pydantic 验证数据 比如校验数据的格式等 但是在我们的日常工作中 还有一种数据是需要我们验证的 比如时间数据 时间数据不同于字符串 列表等数据 与他们的验证不一样 本文就来为大家介绍一下 pydantic
  • 软件测试|如何使用selenium处理iframe富文本输入框

    简介 在网页开发中 富文本框是常见的元素 用于输入富文本内容 如富文本编辑器或邮件编辑器 如果我们要使用Python和Selenium进行自动化测试或操作这种富文本框 可能会遇到一些挑战 本文将详细介绍如何使用Python和Selenium
  • Jmeter 性能-阶梯式性能指标监听

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】!

    前言 最近在网上搜索前端自动化测试相关的文档 但是发现网上的文章都是偏使用 没有把一些基础概念说清楚 导致后续一口气遇到一些 karma Jasmine jest Mocha Chai BDD 等词汇的时候很容易一头雾水 这次一方面整理一下
  • 月薪2W的软件测试工程师,到底是做什么的?

    在生活中 我们常常会遇到以下几种窘迫时刻 准备骑共享单车出行 却发现扫码开锁半天 车子都没有反应 手机导航打车 却发现地图定位偏差很大 司机总是跑错地方 买个水 却遭遇自动售货机吐币 或者不找零钱 好不容易休息打个游戏 却一直出现卡顿 闪退
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM
  • 15:00面试,15:06就出来了,问的问题有点变态。。。

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到9月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降40 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联
  • 一文从0到1手把手教学UI自动化测试之数据驱动!

    在UI的自动化测试中 我们需要把测试使用到的数据分离到文件中 如果单纯的写在我们的测试模块里面 不是一个好的设计 所以不管是什么类型的自动化测试 都是需要把数据分离出来的 当然分离到具体的文件里面 文件的形式其实有很多的 这里主要说明JSO
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错

随机推荐

  • R语言中如何给向量改变赋值

    R语言中如何给向量改变赋值 一 创建向量 二 访问向量特定位置 三 改变向量特定位置赋值 结果 一 创建向量 a lt c rep 冬季盛宴 5 rep 盛宴 6 二 访问向量特定位置 代码如下 示例 在这里插入代码片 a 4 三 改变向量
  • ln: 创建符号链接 "/usr/bin/java": 文件已存在

    执行下述命令创建软链接 ln s JAVA HOME bin java usr bin java 出现下述错误提示 ln 创建符号链接 usr bin java 文件已存在 这种情况可以通过命令ll检查下 usr bin java现有的软链
  • Shell 批量搜索关键词并保存结果到文件中(数组、循环)

    bin bash keywords 不需要 不用谢谢 xxx xxx for var in keywords do echo var cat corpus txt grep var wc l cat corpus txt grep var
  • 微信支付V3 生成平台证书

    微信支付V3里必须有平台证书文件 才能唤起唤醒支付 平台证书生成前提需要提前下载好设置apikey3后下载的证书3个证书文件 apiclient key pem apiclient cert pem apiclient cert p12 官
  • C++ 栈和队列

    前言 前几次我们学习了vector list 分别对应线性表和链表 这两个基础的数据结构 本篇 我们将基于前面知识的基础 学习线性表和链表的应用结构 栈和队列 文章目录 前言 一 栈 1 概要 2 适配器 配接器模式 3 栈的使用 4 模拟
  • 富文本编辑器提取纯文本(uniapp、vue没有简介用详情替代)

    1 js方法 filtersText val if val null val let reg u4e00 u9fa5 g let names val match reg val names names join return val els
  • 以太坊之Downloader同步区块流程

    随着以太坊的数据越来越多 同步也越来越慢 使用full sync mode同步的话恐怕得一两个礼拜也不见得能同步完 以太坊有fast sync mode 找了些文章还不是很明白具体内容 所以尝试着看懂写下来 如有错误之处欢迎指正 关于fas
  • Python3 实现进度条

    本文实例讲述了Python显示进度条的方法 是Python程序设计中非常实用的技巧 分享给大家供大家参考 具体方法如下 首先 进度条和一般的print区别在哪里呢 答案就是print会输出一个 n 也就是换行符 这样光标移动到了下一行行首
  • sykwalking分布式微服务链路追踪

    不做介绍 直接上教程 skuwalking历史版本下载地址 https archive apache org dist skywalking 一 安装服务端 下载apache skywalking apm 8 4 0 tar gz 丢到服务
  • Java的垃圾回收机制介绍

    1 java的语言框架 1 CPU gt 操作系统内核 gt 应用层框架 gt JVM java虚拟机 gt Java字节码 gt Java源代码 2 java是解释型语言 嵌入式常用的C C 是编译型语言 简单来说 编译型语言只需要编译一
  • Amy-Tabb机器人世界手眼标定(1、环境搭建)

    本文为https github com amy tabb RWHEC Tabb AhmadYousef的环境搭配 写的有点乱 遇到类似问题可以直接ctrl f进行全局搜索查找 sudo命令 Linux sudo命令以系统管理者的身份执行指令
  • DCGAN,即深度卷积 GAN

    DCGAN 即深度卷积 GAN 是一种生成对抗网络架构 它使用了一些指南 特别是 用跨步卷积 鉴别器 和分数跨步卷积 生成器 替换任何池化层 在生成器和鉴别器中使用 batchnorm 为更深层次的架构移除完全连接的隐藏层 在生成器中对所有
  • 渗透测试工具Burpsuite

    学习文档 https portswigger net burp documentation desktop getting started download and install Burp Suite是一款流行的集成式Web应用程序安全测
  • 测试老鸟经验,性能测试重点17个疑难解答,一篇打通...

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • cmos是计算机主板上的一块可读写,关于基本输入输出系统(BIOS)及CMOS存储器,下列说法中错误的是...

    选B CMOS通常是指主板上一块可读写的存储芯片 它用于存储计算机的时钟信息和硬件配置信息等内容BIOS芯片是主板上一块长方型或正方型芯片 BIOS中主要存放 自诊断程序 加电自检程序 通过读取CMOS RAM中的内容识别硬件配置 并对其进
  • Burpsuite使用教程

    目录 Burpsuite基础 1 Proxy 2 spider 3 Decoder burp 进阶 1 Scanner 2 intruder 3 Repeater 4 comparer 5 sequencer Burp Suite是一款集成
  • SQL计算留存率等指标

    一 问题1 留存率计算 字段及表说明 表名 user log 字段名 log day 登录日期 device id 用户设备id app id 用户app的id 其中device id和app id确定唯一的用户 1 1计算某日留存率 次日
  • 关于SD卡挂载失败问题的解决方法

    单片机为STM32F103RBT6 SD卡为金士顿8G 在SD卡初始化通过后 在挂载SD卡时 遇到了问题 挂载部分代码如下 exfuns init 为fatfs相关变量申请内存 while FR OK f mount pfs 0 0 1 挂
  • 房屋、贷款相关公开数据集(免费下载链接)

    1 Loan Prediction 简单的贷款预测 贷款预测 包含贷款ID 性别 婚否 教育 贷款价格等 DataCastle 数据科学创新与实践平台https www datacastle cn dataset description h
  • 【软件测试】单元测试、系统测试、集成测试的区别及示例

    目录 一 单元测试 二 集成测试 三 系统测试 一 单元测试 定义 单元测试是对软件组成单元进行测试 细粒度 测试目的 用于检验软件基本组成单位的正确性 测试对象 一个工作单元 通常是类内部的一个方法 测试使用方法 白盒测试 测试依据 详细