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

文章目录

  • 白盒测试
    • 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接口、数据库接口等。这种测试主要关注不同系统组件之间数据传输的正确性、稳定性以及安全性。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络编程套接字(3)——Java数据报套接字(UDP协议)

目录 一、Java数据报套接字通信模型 二、UDP数据报套接字编程 1、DatagramSocket (1)DatagramSocket构造方法 (2)DatagramSocket方法 2、DatagramPacket (1)DatagramPacket构造方法 (2&…

spring启动时如何自定义日志实现

一、现象 最近在编写传统的springmvc项目时,遇到了一个问题:虽然在项目的web.xml中指定了log4j的日志启动监听器Log4jServletContextListener,且开启了日志写入文件,但是日志文件中只记录业务代码中我们声明了日志记录器的日志&a…

HTML静态网页成品作业(HTML+CSS)——电影加勒比海盗介绍设计制作(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

数据结构从入门到精通——树和二叉树

树和二叉树 前言一、树概念及结构1.1树的概念1.2 树的相关概念(重要)1.3 树的表示1.4 树在实际中的运用(表示文件系统的目录树结构) 二、二叉树概念及结构2.1二叉树概念2.2现实中的二叉树2.3 特殊的二叉树2.4 二叉树的性质2.5 二叉…

PCB差分通孔的数值建模方法

目录 0 引言 1 基于CST的3D通孔模型 2 通孔模型的近似等效计算 3 利用ADS进行电路仿真分析 4 总结 0 引言 当数据速率超过10Gbps时,PCB上的通孔所带来的寄生参数会成为影响数据误码率的关键因素之一,虽然通过三维电磁场求解器提取过孔的行为模型&…

rust入门(1)创建项目

安装 vscode 安装插件 rust-analyzerNative Debug vscode 配置自动格式化代码 settings.json{"editor.defaultFoldingRangeProvider": null,"[rust]": {"editor.defaultFormatter": "rust-lang.rust-analyzer", // Makes the magi…

Python 井字棋游戏

井字棋是一种在3 * 3格子上进行的连珠游戏,又称井字游戏。井字棋的游戏有两名玩家,其中一个玩家画圈,另一个玩家画叉,轮流在3 * 3格子上画上自己的符号,最先在横向、纵向、或斜线方向连成一条线的人为胜利方。如图1所示…

静态时序分析:SDC约束命令set_output_delay详解

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 目录 指定延迟值 指定端口、引脚列表 指定参考时钟 简单使用 指定时钟下降沿 指定参考端口、引脚 包含源、网络延迟 指定电平敏感 指定上升、下降沿 指…

Redux Toolkit

本文作者为 360 奇舞团前端开发工程师 阅读本文章前,需要先了解下 redux 的基本概念与用法,Redux Toolkit 是建立在 Redux 基础之上的工具包,因此需要对 Redux 的基本概念有一定的了解,包括 Action、Reducer、Store、Middleware 等…

C#四部曲(知识补充)

Unity跨平台原理 .Net相关 只要编写的时候遵循.NET的这些规则,就能在.NET平台下通用 各种源码→根据.NET规范编写→(虚拟机)生成CIL中间码(保存在程序集中)→转成操作系统原代码 跨语言← 跨平台↓ Unity跨平台原理(Mono) c#脚本→MonoC#编…

低压线性恒流LED恒流驱动芯片SM15633EH:用于洗墙灯和线条灯

洗墙灯和线条灯是两种常见的LED照明产品,它们都需要使用LED恒流驱动芯片来确保稳定、可靠的电流供应,从而保证LED的使用寿命和亮度。 对于洗墙灯而言,由于其发出的光线需要覆盖较大的区域,因此需要使用较大功率的LED芯片&#xf…

Linux操作系统与Windows文件互传(FTP)

一、开启Ubuntu下的FTP服务 打开Ubuntu的终端窗口,然后执行如下命令来安装 FTP服务。 sudo apt-get install vsftpd等待软件安装完成后,用输入以下命令打开vsftpd.conf文件 sudo vim /etc/vsftpd.conf 找到下图的两个使能语句改成如图即可(记住保存后再…

新版哥白尼系统快速下载哨兵数据

在新版哥白尼系统下载数据,总是failed或者速度很慢,如何实现MB/s的下载速度,只需要四步就可以解决: 1 登录系统,找到想下载的数据,点开product info按扭,​​​​​​ 2. 找到数据的Product id和Name, #Product id:https://zipper.dataspace.copernicus.eu/odata/v1/P…

Selenium操作浏览器,弹出文件选择框,实现自动选定“目标文件”

前言 本文是该专栏的第20篇,后面会持续分享python爬虫干货知识,记得关注。 我们在使用selenium操作目标页面的时候,可能会遇到如下图所示的情景。 在用selenium操作并点击页面元素的时候,会弹出一个文件选择框,需要我们选择目标文件,并点击确认按钮,目标文件才能上传成…

Stream-JDK8

Stream概念 代码示例 package com.zz.stream;import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.stream.Collectors;/*** 使用Stream流* 找出姓张并且是三个字的名字*/ public class Test {public static void main(Stri…

cesiumlab白模效果一

效果 步骤 1、准备shp面数据 2、打开cesiumlab软件转换 选择shp面数据 设置高度,如果shp面中有高度字段,可以用高度字段,如果没有,可以用固定高度 设置贴图,这边用的是第二张效果,当然也可以用自己的贴图…

‘UnityEngine.Application‘ does not contain a definition for isBatchMode

unity 2017.4.37f1. 解决办法: Try to replace Application.isBatchMode with UnityEditorInternal.InternalEditorUtility.inBatchMode

MySQL实战:问题排查与监控

常见问题 有更合适的索引不走,怎么办? MySQL在选取索引时,会参考索引的基数,基数是MySQL估算的,反映这个字段有多少种取值,估算的策略为选取几个页算出取值的平均值,再乘以页数,即…

AI新工具(20240312) Midjourney官方发布角色一致性功能;免费且开源的简历制作工具;精确克隆语调、控制声音风格

1: Midjourney角色一致性功能 使人物画像在多方面高度一致成为可能。 Midjourney的角色一致性功能的使用方法如下: ⭐在你的输入指令后面加上 --cref URL,其中URL是你选择的角色图像的链接。 ⭐你可以通过 --cw 参数来调整参照的强度,范围…

Selenium控制已运行的Edge和Chrome浏览器(详细启动步骤和bug记录)

文章目录 前期准备1. 浏览器开启远程控制指令(1)Edge(2)Chrome 2. 执行python代码(1)先启动浏览器后执行代码(2)通过代码启动浏览器 3. 爬取效果3. 完整代码共享3.1 包含Excel部分的…