当前位置: 首页 > article >正文

【软件测试】白盒、黑盒、灰盒测试,按照测试阶段分类

文章目录

  • 按照测试方法分类
    • 白盒测试
    • 黑盒测试
    • 灰盒测试
  • 按照测试阶段分类
    • 单元测试
    • 集成测试
    • 系统测试
    • 冒烟测试
    • 回归测试

按照测试方法分类

白盒测试

白盒测试又称为结构测试逻辑测试,它一般用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试

白盒测试主要氛围 IE 静态测试和动态测试两种。静态测试常见于桌面检查、代码审查、代码走查、代码扫描工具

动态测试方法主要包含六种测试方法:语句覆盖判定覆盖条件覆盖判定条件覆盖条件组合覆盖路径覆盖

测试课程 7,2:00开始

黑盒测试

不关注程序内部,只关注输入和输出

在测试登录功能的时候

  • 账号密码(输入数据)——>登录结果(输出数据)
  • 我们不关注中间的程序是怎么运行的,只关心输入和输出

灰盒测试

结合了白盒测试和黑盒测试,但又不是完全复制。是介于⽩盒测试与⿊盒测试之间的⼀种测试,灰盒测试多⽤于集成测试阶段,不仅关注输出、输⼊的正确性,同时也关注程序内部的情况。

灰盒测试没有⽩盒测试详细和完整,⿊盒测试是覆盖产品范围最⼴的测试,因此灰盒测试基本是不能够替代⿊盒测试,否则需要很⼤的代价,设计⾮常多的⽤例。

  • 没有白盒详细
  • 没有黑盒范围广

常⻅的测试⽅法有⿊盒测试,⽩盒测试和灰盒测试。开发⼈员主要⽤⽩盒测试和灰盒测试,测试⼈员主要⽤⽩盒测试和⿊盒测试。对于测试⼈员来说,相较于⽩盒测试,⿊盒测试⽤的更多⼀些。

在测试面试的时候一定要留心眼子,话不要说太死了,存在即合理

按照测试阶段分类

单元测试

单元指的是“最小单元”,是人为规定的

java 中也有很多单元测试框架,如 JunitJunit 提供了⾮常多注解和断⾔函数,有效提升开发单元测试脚本的效率

集成测试

做一个排序的系统,获取用户输入的数据,系统进行排序,再将数据输出

集成测试也称联合测试(联调)、组装测试,将程序模块采⽤适当的集成策略组装起来,对系统的接⼝及集成后的功能进⾏正确性检测的测试⼯作。集成主要⽬的是检查软件单位之间的接⼝是否正确。image.png|531

  • 测试阶段:⼀般单元测试之后进⾏
  • 测试对象:模块间的接⼝
  • 测试⼈员:⽩盒测试⼯程师或开发⼯程师
  • 测试依据:单元测试的模块+概要设计⽂档
  • 测试⽅法:⿊盒测试与⽩盒测试相结合
  • 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

系统测试

对通过集成测试的系统进⾏整体测试,验证系统功能性和⾮功能性需求的实现。

  • 测试阶段:集成测试通过之后
  • 测试对象:整个系统(软、硬件)
  • 测试⼈员:⿊盒测试⼯程师
  • 测试依据:需求规格说明⽂档
  • 测试⽅法:⿊盒测试
  • 测试内容:功能、界⾯、可靠性、易⽤性、性能、兼容性、安全性等

冒烟测试

检查主流程是否走得通,看程序是否有可测性

冒烟测试的对象是每⼀个新编译的需要正式测试的软件版本,⽬的是确认软件主要功能和核⼼流程正常,在正式进⾏系统测试之前执⾏。冒烟测试⼀般在开发⼈员开发完毕后提交给测试⼈员来进⾏测试时,先进⾏冒烟测试,保证基本功能正常,不阻碍后续的测试。

如果冒烟测试通过,则测试⼈员开始进⾏正式的系统测试,如果不通过,则测试⼈员可以让开发⼈员重新修复代码直到冒烟测试通过,再开始进⾏系统测试。

回归测试

博客系统:登录页面、首页、博客编辑页、博客详情页…
所有的页面,所有的功能测试完整之后要整体再回归一遍


http://www.kler.cn/a/393325.html

相关文章:

  • c++写一个死锁并且自己解锁
  • 【安全通信】告别信息泄露:搭建你的开源视频聊天系统briefing
  • 卓胜微嵌入式面试题及参考答案(2万字长文)
  • 时间管理的三个痛点
  • 每日一练:二分查找-搜索插入位置
  • GitLab基于Drone搭建持续集成(CI/CD)
  • Blender进阶:颜色节点
  • 使用 unicorn 和 capstone 库来模拟 ARM Thumb 指令的执行(一)
  • 多链路负载均衡设置在哪里?
  • 移动应用开发:实现简易调查问卷
  • 【go从零单排】File Paths文件路径
  • [ 网络安全介绍 5 ] 为什么要学习网络安全?
  • 自动化测试策略 —— 新功能还是老功能的回归测试?
  • 地面沉降数值模拟/三维地质建模数据处理技术应用
  • 机器学习5_支持向量机_原问题和对偶问题
  • 数字字符串格式化
  • 【Rust调用Windows API】杀掉指定进程(包括兄弟进程、子进程、父进程)
  • 人力资源招聘系统-提升招聘效率与质量的关键工具
  • Docker 部署Nacos 单机部署 MYSQL数据持久化
  • 计算机网络(4)之交换技术,分层技术和默认网关
  • 怎么在MindMaster里插入剪贴画?
  • c++ 二分查找
  • Mac Nginx 前端打包部署
  • Vue开发风格
  • Scala的Map集合练习
  • 关键字“退出、结束、跳过”(day13)