软件测试知识面试题:白盒测试、黑盒测试、测试用例

news2024/12/24 3:31:41

文章目录

  • 白盒测试
    • 1、白盒测试分两类
    • 2、白盒测试的四个原则
    • 3、白盒测试常用的7类测试
  • 黑盒测试
    • 1、黑盒测试的优缺点
    • 2、黑盒测试的方法
    • 3、黑盒测试的原则
  • 测试用例
    • 1、测试用例包含
    • 2、设计测试用例所需的文档资料
    • 3、采用白盒测试技术设计用例的目的
    • 4、采用黑盒测试技术设计用例的目的
    • 功能测试和接口测试的区别是什么?

白盒测试

1、白盒测试分两类

(1)静态测试
静态测试是测试中很重要的方法之一。它不要求在计算机上实际执行所测程序,主要以
一些人工的模拟技术对软件进行分析和测试。静态测试大约可以找出 25%—60%的逻辑错误。

(2)动态测试
输入一组预先按照一定的测试准则设计的实例数据驱动运行程序,检查程序功能是否符
合设计要求,发现程序中错误的过程。

2、白盒测试的四个原则

1、保证一个模块中所有路径至少被测试一次
2、所有逻辑值都要测试真和假两种情况
3、检查程序的内部数据结构是否有效
4、再上、下边界及可操作范围内运行所有循环

3、白盒测试常用的7类测试

1、逻辑覆盖法
(1) 语句覆盖
(2) 判定覆盖
(3) 条件覆盖
(4) 条件判定组合覆盖
(5) 多条件覆盖
(6) 修正条件判定覆盖
(7) 组合覆盖
(8) 路径覆盖

2、插桩技术
3、基本路径测试法
4、域测试法
5、符号测试
6、Z路径覆盖法
7、程序变异测试法

黑盒测试

不考虑程序内部逻辑结构和内部特性的情况下,测试程序的功能,测试者要在软件的接口处进行,它只检查程序功能是否按照规格说明书的规定正常使用,程序是否能接收输入数据而产生正确的输出信息,以及性能是否满足用户的需求,并且保持数据库或外部信息的完整性。

1、黑盒测试的优缺点

优点:

  1. 从产品功能角度测试可以最大程度满足用户的需求
  2. 相同动作可重复执行,最枯燥的部分可由机器完成
  3. 依据测试用例针对性地找寻问题,定位更为准确,容易生成测试数据
  4. 将测试直接和程序/系统要完成的操作相关联

缺点:

  1. 代码得不到测试
  2. 如果规格说明设计有误,很难发现
  3. 测试不能充分的进行
  4. 结果取决于测试用例的设计

2、黑盒测试的方法

  • 等价类划分法
  • 边界值分析法
  • 因果图法
  • 判定表驱动测试
  • 场景法
  • 功能图法
  • 错误推测法
  • 正交试验设计法

3、黑盒测试的原则

  1. 根据软件规格说明书设计测试用例,规格说明书的正确性是至关重要的
  2. 针对性的地找问题,并且正确定位等价类
  3. 功能是否有缺陷或错误现象?
  4. 根据测试的重要性来确定测试等级和测试重点,减少程序可能出现的缺陷
  5. 在接口处,输入的信息是否能正确接受?接受后能否输出正确的结果?
  6. 认真选择测试策略,尽可能发现程序的数据结构错误或外部信息访问错误,站在用户立场上进行测试

测试用例

1、测试用例包含

在这里插入图片描述

2、设计测试用例所需的文档资料

软件需求说明书
软件设计说明书
软件测试需求说明书
成熟的测试用例

3、采用白盒测试技术设计用例的目的

在这里插入图片描述

4、采用黑盒测试技术设计用例的目的

在这里插入图片描述

功能测试和接口测试的区别是什么?

功能测试:也被称为系统测试,主要针对软件系统的功能进行测试,确保软件的功能符合需求规格说明,主要关注单个功能或者多个功能的组合是否能够正常实现。

接口测试:主要针对软件系统提供的接口进行测试,测试的是系统组件之间的接口,例如HTTP接口、数据库接口等。这种测试主要关注不同系统组件之间数据传输的正确性、稳定性以及安全性。

总结来说,功能测试更关注单个功能或多个功能的组合是否能正常实现,而接口测试更关注系统组件之间的数据传输。在实施测试时,这两种方法通常会结合使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1513095.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java探索之旅】解密Java中的类型转换与类型提升

🎥 屿小夏 : 个人主页 🔥个人专栏 : Java编程秘籍 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一、类型转化1.1 自动类型转换(隐式类型转换)1.2 强制类型转换…

实体店新模式:线下正规实体门店的转型与升级策略

在当今竞争激烈的市场环境下,线下正规实体门店需要不断转型与升级,以适应消费者的需求和市场的变化。 作为一名开鲜奶吧5年的创业者,我见证了无数实体店的成功与失败,下面的文章我将通过具体案例,为大家分享一些实用的…

[WiFi] 802.11w/802.11k/802.11v/802.11r/802.11u/802.11ai/802.11ah简介

802.11w(PFM) Protected Management Frames,802.11w协议主要基于现有的对数据报文的加密形式,对管理帧进行类似的加密。802.11w需要加密的管理帧包括解关联帧、去认证帧及强壮Action帧。 802.11k(RRM) Radio Resource …

Transformer家族

在《Transformer原理》中我们介绍了,现在很多大模型都是基于Transformer,其中最出名就是GPT和BERT模型,在GPT和BERT模型被提出来之后,NLP领域也出现了基于Transformer结构的模型,按照模型结构基本可以分为三类&#xf…

ruoyi-vue插件集成websocket

链接:插件集成 | RuoYi WebSocketServer.java:补充代码 /*** 此为广播消息* param message 消息内容*/public void sendAllMessage(String message) {LOGGER.info("【websocket.sendAllMessage】广播消息:"message);try {for(String sessionI…

游戏免费下载平台模板源码

功能介绍 此游戏网站模板源码是专门为游戏下载站而设计的,旨在为网站开发者提供一个高效、易于维护和扩展的解决方案。 特点: 响应式设计:我们的模板可以自适应不同设备屏幕大小,从而为不同平台的用户提供最佳的浏览体验。 …

亲测有效,职场焦虑迷茫的测试人都需要的3大良方!

Hi,大家好,我是小马哥。日常大家聊天时经常提及一个关键词——大环境不好,这种感受像一股暗流,由此带来了很多变化。 有人在这股潮流中感到迷失,选择了躺平;而有的人则积极寻找应对方法,努力在…

Dgraph 入门教程四《开发环境的搭建》

在深入 了解Dgraph 之前,我们先了解下开发环境,毕竟让开发人员真正动起手来才是第一步。 Dgraph 支持很多种语言的开发,包括GO,Python,JS,C#和Java等等。出于项目需要,只了解下JS和Java。 1、…

如何用SSH连接

以gitlab的SSH来举例,包括配置与克隆的过程: Git 是一个分布式版本控制系统,这意味着您可以在本地工作, 然后将您的更改共享或推送到服务器。在这种情况下,您推送到的服务器是 GitLab。 GitLab 使用 SSH 协议与 Git …

DC-DC直流隔离模块电源正负双输出升压变换器HRA系列5V12V24V转±50v±80v±110v±150v±200v±250v±300v

特点 效率高达 80%以上1*1英寸标准封装电源正负双输出稳压输出工作温度: -40℃~85℃阻燃封装,满足UL94-V0 要求温度特性好可直接焊在PCB 上 应用 HRA 0.2~8W 系列模块电源是一种DC-DC升压变换器。该模块电源的输入电压分为:4.5~9V、9~18V、及18~36V、36…

HTML视频笔记

学习arm开发板,涉及到网页HTML PHP什么的,简单看个视频学习下 HTML|超简单HTML入门教程 https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element ​​​​​​vscode需要的libc6等需要的版本高​​​​​​ 为了安装vscode,将…

Github上哪些好用的工具

专注于web漏洞挖掘、内网渗透、免杀和代码审计,感谢各位师傅的关注!网安之路漫长,与君共勉! Qexo-爱写博客的师傅强烈推荐 漂亮的 Hexo 静态博客编辑器。该项目是基于 Django 的 Hexo 静态博客管理后台,支持文章管理、…

[C语言]——数组练习

目录 练习1&#xff1a;多个字符从两端移动&#xff0c;向中间汇聚 练习2&#xff1a;⼆分查找 练习1&#xff1a;多个字符从两端移动&#xff0c;向中间汇聚 编写代码&#xff0c;演⽰多个字符从两端移动&#xff0c;向中间汇聚 #include <stdio.h> int main() {char a…

基础小白十天学会linux------>linux系统的介绍,应用,以及快速上手

什么是操作系统&#xff1f; 操作系统&#xff08;Operating System&#xff0c;简称OS&#xff09;是管理计算机硬件与软件资源的系统软件&#xff0c;是计算机系统的核心与基石。它负责为用户和其他软件提供交互的界面&#xff0c;同时管理系统资源&#xff0c;如CPU时间、内…

Vue3实战 第十二章 表格组件里el-table-column 的 formatter属性应用

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 往期热门专栏回顾 专栏…

Unity Xlua热更新技术学习指南

热更新是商业网络游戏必不可少的一项技术&#xff0c;而基于lua的热更新技术又是Unity商业网游项目中的一个主流选择。 部分同学近期表示自己在面试中被面试官提问热更新相关知识&#xff0c;但由于对热更新能力有所缺失&#xff0c;最后遗憾的与心仪工作失之交臂。 由此可见&a…

C++第三弹---C++入门(下)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 C入门 1、内联函数 1.1、概念 1.2、特性 2、auto关键字(C11) 2.1、类型别名思考 2.2、auto简介 2.3、auto的使用细则 2.3、auto不能推导的场景 …

3.自定义工程目录配置CMakeLists

问题背景 熟悉stm32keil开发的都知道&#xff0c;我们在编写不同的外设时&#xff0c;通常都会单独编写一个app文件夹或者是user文件夹之类的来存放不同外设功能的源文件和头文件。 在前面一节2.构建第一个工程并烧录到ESP32开发板-CSDN博客中&#xff0c;我们是使用了一个乐鑫…

数据管道架构设计一览

数据管道架构设计一览 今天来聊聊数据管道。 数据管道是现代系统中有效管理和处理数据的基本组成部分。 这些管道通常包括 5 个主要阶段&#xff1a; 收集&#xff08;Collect&#xff09;摄取&#xff08;Ingest&#xff09;存储&#xff08;Store&#xff09;计算&#x…

OpenCV(七)——灰度图像的阙值处理以及图像的边界填充

灰度图像的阙值处理 在OpenCV中利用threshold()对灰度图像进行阙值处理&#xff0c;该函数通过将图像中的每个像素值与一个给定的阈值进行比较来工作。如果像素值超过这个阈值&#xff0c;那么像素值将被设置成指定的最大值&#xff1b;如果没有超过阈值&#xff0c;则根据不同…