接口测试与功能测试的区别~
今天为大家分享的是我们在日常测试工作中, 一定会接触并且目前在企业中是主要测试内容的 功能测试与接口测试
一.功能测试与接口测试的基本概念。
1.1 什么是功能测试呢?
功能测试: 是黑盒测试的一方面, 检查实际软件的功能是否符合用户的需求
功能测试测试的内容包括以下几方面:
逻辑功能测试
界面测试
易用性测试
安装/卸载测试
兼容性测试
既然提到了黑盒测试,我们就看看黑盒测试的定义.
1.2 什么是黑盒测试?
黑盒测试是指, 通过软件的外部表现发现软件隐藏的缺陷
黑盒测试将待测试对象看做是一个黑盒子, 完全不考虑程序内部结构和实现逻辑.
黑盒测试是在程序的界面处进行测试, 它只是检查程序是否按照PRD文档(需求说明书)的规定正常实现.
1.3 什么是接口测试?
接口是系统某个业务逻辑的实现,对其它系统提供使用的一种规约,主要是对某个业务行为及其涉及到的数据(参数)和业务行为产生的结果的协议规范
接口测试是模拟客户端与服务器端进行请求与响应的数据交换的过程. 是对服务器中系统组件间接口的一种测试.
接口测试主要用于检查外部系统与系统之间, 以系统内部各个模块之间的交互点.
接口测试的重点是 系统间、模块间的逻辑依赖关系及随着业务产生的相关数据
二. 功能测试与单元测试处于那个开发阶段
单元测试:
单元测试测试又被称为模块测试,测试内容为程序的最小单元, 也就是模块(代码块), 参照依据为 详细设计说明书
集成测试
集成测试又被称为组装测试, 通常在单元测试的基础上, 将所有的程序模块进行有序的、递增的测试, 测试内容为模块与模块之间,系统与系统之间的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统.
确认测试
也叫有效性测试, 是在模拟的环境下,验证软件的所有功能和性能及其他特性是否与用户的预期要求一致。通过了确认测试之后的软件,才具备了进入系统测试阶段的资质
系统测试
在生产环境下检查整个系统/程序,能否与系统资源(包括硬件、外设、网络、系统软件、支持平台等)正确配置、连接,并最终满足用户的所有需求
验收测试
是软件产品检验的最后一个环节。
依据项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审, 决定是否接收或拒收系统, 又分为 客户验收与第三方验收
通过上面的相关内容,相信大家能够比较直观的看到,接口测试是在集成测试阶段进行测试。而功能测试是集中在确认测试与系统测试阶段。
三.接口测试与功能测试的比较
综合比较:
1.功能测试必须是前端界面,后端代码已经完成并经过联调结束后才可以进行, 而接口测试是在后端开发编写完代码后就可以进行测试. 相对而言接口测试较早于功能测试;
2.功能测试不关注程序的内部结构与代码实现, 而接口测试测试的就是程序内部如何实现的, 因此接口测试天生就适合较复杂的系统, 系统越大, 接口测试的必要性就越强, 同时接口测试产生的效果就越好.
3.功能测试是通过在程序的界面中执行对应测试用例来发现软件中隐藏的缺陷, 而接口测试是通过调用程序中预先定义好的接口,发起请求获取响应数据,同时接口测试必须要对多接口场景的业务与数据进行校验.从发现缺陷的效率来看, 接口测试发现缺陷的效率远大高于功能测试.
4.接口测试是偏重于业务逻辑的测试, 因此目前企业中对于测试的范围划分中, 接口测试的占比已逐步大于功能测试.
5.接口测试与功能测试的目的都是为了发现软件中隐藏的缺陷, 因此从本质来说都是为了保障软件的质量, 没有谁更占优这样的说法, 因此在真正进行测试的过程中, 两者并无冲突.
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
软件测试面试小程序
被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!
涵盖以下这些面试题板块:
1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux
6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
相关文章:
接口测试与功能测试的区别~
今天为大家分享的是我们在日常测试工作中, 一定会接触并且目前在企业中是主要测试内容的 功能测试与接口测试 一.功能测试与接口测试的基本概念。 1.1 什么是功能测试呢? 功能测试: 是黑盒测试的一方面, 检查实际软件的功能是否符合用户的需求 功能测试测试的内容包括以下…...
LeetCode 23 合并 K 个升序链表
LeetCode 23 合并 K 个升序链表 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/merge-k-sorted-lists/description/ 博主Github:https://github.com/GDUT-Rp/LeetCode 题目: 给你一个链表数组…...
[国产MCU]-W801开发实例-TCP客户端
TCP客户端 文章目录 TCP客户端1、TCP协议简单介绍2、W801创建TCP客户流程本文将详细介绍如何在W801中使用TCP客户端。 1、TCP协议简单介绍 传输控制协议 (TCP) 是一种标准,它定义了如何建立和维护应用程序可以用来交换数据的网络对话。 TCP 与 Internet 协议 (IP) 一起工作,…...
《爵士乐史》乔德.泰亚 笔记
第一章 【美国音乐的非洲化】 【乡村布鲁斯和经典布鲁斯】 布鲁斯:不止包括忧愁、哀痛 十二小节布鲁斯特征: 1.乐型(A:主、B:属、C/D:下属):A→A→B→A→C→D→A→A 2.旋律:大三、小三、降七、降五 盲人…...
工程制造领域:企业IT架构
一、IT组织规划架构图 1.1 IT服务保证梯队与指导思想 二、整体业务规划架构图 三、数据化项目规划架构图 四、应用系统集成架构图...
PY32F003F18点灯
延时函数学习完之后,可以学习PY32F003F18的GPIO输出功能。 1、Debug引脚默认被置于复用功能上拉或下拉模式:PA14默认为SWCLK: 置于下拉模式PA13默认为SWDIO: 置于上拉模式PF4默认为Boot:Boot引脚默认置于输入下拉模式 2、GPIO输出状态&#…...
Mac不想用iTerm2了怎么办
这东西真是让人又爱又恨,爱的是它的UI还真不错,恨的是它把我的环境给破坏啦!让我每次启动终端之后都要重新source激活我的python环境,而且虚拟环境前面没有括号啦!这怎么能忍!在UI和实用性面前我断然选择实…...
x86_64 ansible 源码编译安装
源码 GitHub - ansible/ansible: Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a languag…...
数据结构学习系列之顺序表的两种插入方式
方式1:在顺序表末端插入数据元素,代码如下:示例代码: int insert_seq_list_1(list_t *seq_list,int data){if(NULL seq_list){printf("入参为NULL\n");return -1;}if(N seq_list->count){printf("顺序表已满…...
Matlab/Python教程系列 | 根据目录下的已有图片制作视频(动画)
MATLAB和Python的编程教程: 根据目录下的已有图片制作视频(动画) 注1:本文系“MATLAB/Python编程教程”系列之一,致力于使用Python和Matlab实现特定的功能。本次要实现的功能是:根据目录下的已有图片制作视频(动画)。 在这个教程中,我们将一起学习如何使用MATLAB和Python编…...
Pyecharts数据可视化(一)
目录 1.Pyecharts简介 2.Pyecharts的常用方法 3.Pyecharts绘制柱状图 3.1 绘制并列柱状图 3.2 绘制水平直方图 1.Pyecharts简介 Pyecharts是一个用于创建交互式图表的Python库。它基于Echarts,一个强大的JavaScript图表库,Pyecharts允许Python开发者…...
stable diffusion实践操作-提示词-图片结构
系列文章目录 stable diffusion实践操作-提示词 文章目录 系列文章目录前言一、提示词汇总1.1 图片结构11.2 图片结构21.3 图片结构3 二、总结 前言 本文主要收纳总结了提示词-图片结构。 一、提示词汇总 1.1 图片结构1 StylesArtistshudson river school哈得逊河学派alpho…...
程序员自由创业周记#2:前期准备
感恩 上次公开了创业的决定后,得到了很多亲朋好友和陌生朋友的鼓励或支持,以不同的形式,感动之情溢于言表。这些都会记在心里,大恩不言谢~ 创业方向 笔者是一名资质平平的iOS开发程序猿,创业项目也就是开发App卖&am…...
Elasticsearch实战(四):Springboot实现Elasticsearch指标聚合与下钻分析open-API
文章目录 系列文章索引一、指标聚合与分类1、什么是指标聚合(Metric)2、Metric聚合分析分为单值分析和多值分析两类3、概述 二、单值分析API设计1、Avg(平均值)(1)对所有文档进行avg聚合(DSL)(2…...
Opencv图像暗通道调优
基于雾天退化模型的去雾算法,Opencv图像暗通道调优,(清华版代码)对普通相片也有较好的调优效果,相片更通透。 结合代码实际运行效果、算法理论模型、实际代码。我个人理解,实际效果是对图像的三个颜色通道…...
怎样来实现流量削峰方案
削峰从本质上来说就是更多地延缓用户请求,以及层层过滤用户的访问需求,遵从“最后落地到数据库的请求数要尽量少”的原则。 1.消息队列解决削峰 要对流量进行削峰,最容易想到的解决方案就是用消息队列来缓冲瞬时流量,把同步的直…...
git status搜索.c和.h后缀及git新建分支
git status搜索.c和.h后缀及git新建分支 1.脚本代码2.git新建分支(1)创建新分支(2)删除本地分支(3)删除远端分支(4)合并分支3.指定历史版本创建分支1.脚本代码 $ git status | grep "\.[hc]$"$ 是行尾的意思 \b 就是用在你匹配整个单词的时候。 如果不是整个…...
【配置环境】Visual Studio 配置 OpenCV
目录 一,环境 二,下载和配置 OpenCV 三,创建一个 Visual Studio 项目 四,配置 Visual Studio 项目 五,编写并编译 OpenCV 程序 六,解决CMake编译OpenCV报的错误 一,环境 Windows 11 家庭中…...
java.sql.SQLException: com.mysql.cj.jdbc.Driver
这篇文章分享一下Springboot整合Elasticsearch时遇到的一个问题,项目正常启动,但是查询数据库的时候发生了一个异常java.sql.SQLException: com.mysql.cj.jdbc.Driver java.sql.SQLException: com.mysql.cj.jdbc.Driverat com.alibaba.druid.util.JdbcU…...
React笔记(四)类组件(2)
一、类组件的props属性 组件中的数据,除了组件内部的状态使用state之外,状态也可以来自组件的外部,外部的状态使用类组件实例上另外一个属性来表示props 1、基本的使用 在components下创建UserInfo组件 import React, { Component } from…...
终极指南:如何用YOLOv8 AI自瞄系统快速提升游戏瞄准精度
终极指南:如何用YOLOv8 AI自瞄系统快速提升游戏瞄准精度 【免费下载链接】RookieAI_yolov8 基于yolov8实现的AI自瞄项目 AI self-aiming project based on yolov8 项目地址: https://gitcode.com/gh_mirrors/ro/RookieAI_yolov8 RookieAI_yolov8是一款基于YO…...
D1021UK,125W高功率输出的推挽式DMOS RF FET射频晶体管
简介今天我要向大家介绍的是 TT Electronics/Semelab 的金金属化多用途硅DMOS RF FET晶体管——D1021UK。这是一款专为HF/VHF/UHF通信频段(1 MHz至400 MHz)设计的推挽式(Push-Pull)射频功率场效应管,在28V工作电压下可…...
3种高效方案解析:如何深度还原微信小程序源代码结构
3种高效方案解析:如何深度还原微信小程序源代码结构 【免费下载链接】wxappUnpacker forked from https://github.com/qwerty472123/wxappUnpacker 项目地址: https://gitcode.com/gh_mirrors/wxappu/wxappUnpacker 你是否曾面对一个加密的微信小程序包&…...
告别盲目添加LOCAL_LDFLAGS:深入理解Android NDK链接错误与libutils的正确引用姿势
深入解析Android NDK链接错误:从libutils引用看系统库的正确使用姿势 当你在Android NDK开发中遇到undefined symbol错误时,第一反应可能是寻找快速解决方案。网上常见的建议是添加-Wl,--unresolved-symbolsignore-all来绕过链接器检查,但这就…...
告别插线!用ESP32的OTA Web Updater实现无线烧录,保姆级避坑指南
ESP32无线固件更新全攻略:从零构建OTA Web Updater系统 引言:为什么需要无线更新? 想象一下,你精心设计的智能温室控制系统已经安装在屋顶的密闭箱体中,突然发现需要修复一个关键的温度传感器逻辑错误。传统方式需要…...
Anthropic收购Stainless:AI Agent时代的连接革命
Anthropic收购Stainless:AI Agent时代的连接革命 1. 引言:从“回答”到“行动”的AI范式转移 1.1 收购概况:Anthropic于2026年5月宣布收购Stainless 2026年5月,AI领域迎来了一项颇具深意的收购案:Anthropic正式宣布收购…...
ARM Trace Buffer架构与调试优化实践
1. ARM Trace Buffer架构解析Trace Buffer是ARM处理器中用于实时捕获指令执行轨迹的专用硬件模块,它通过独立的缓冲区和控制逻辑实现低开销的程序流监控。在ARMv8/v9架构中,Trace Buffer Extension(TRBE)作为可选的硬件扩展&#…...
别再混淆了!一文理清华为云Stack里FusionStorage、OceanStor Pacific与存储服务的对应关系
华为云Stack存储产品演进史:从FusionStorage到OceanStor Pacific的技术脉络解析 在云计算基础设施领域,存储系统的命名规则往往反映了技术架构的迭代路径。华为云Stack作为企业级混合云解决方案,其存储产品线经历了多次重大技术革新与品牌整合…...
3个真实场景告诉你,Avogadro 2分子建模软件如何改变化学研究方式
3个真实场景告诉你,Avogadro 2分子建模软件如何改变化学研究方式 【免费下载链接】avogadroapp Avogadro is an advanced molecular editor designed for cross-platform use in computational chemistry, molecular modeling, bioinformatics, materials science, …...
DDR3 颗粒信号定义解析
本文围绕 DDR3 标准信号定义、核心信号工作原理、PCB Layout 等长设计规则及行业常见误区展开,全程聚焦工程实践与底层原理。一、DDR3 标准信号完整清单(x16 位宽基准,x32 位宽对应翻倍)1. 数据信号(Data)表…...

