软件的静态测试和动态测试【软件测试分类】

2023-10-30

                                     软件的静态测试和动态测试


软件测试一般分为静态测试和动态测试



1.静态测试



静态测试时指测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态分析中进行人工测试的主要方法有桌前检查(Desk Checking)、代码审查和代码走查。经验表明,使用这种方法能够有效发现30%-70%的逻辑错误。
值得说明的是,使用静态测试的方法也可以实现白盒测试。例如:使用人工检查代码的方法来检查代码的逻辑问题,也属于白盒测试范畴。



2.动态测试



动态测试是指通过运行程序发现错误,分为黑盒测试法、白盒测试法和灰盒测试法。不管是哪一种测试,都不能做到穷尽测试,只能选取少量最有代表性的输入数据,期望用较少的代价暴露较多程序的错误。这些被选取出来的数据就是测试用例(一个完整的测试用例应该包含数据和期望的输出结果)。
(1)黑盒法。把被测对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。常用的黑盒测试用例的设计方法有等价划分、边值分析、错误猜测、因果图和功能图等。
(2)白盒法。把测试对象看做一个打开的盒子,测试人员了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。由于白盒测试是结构测试,所以被测对象基本上是源程序,以程序的内部逻辑为基础设计测试用例。常用的白盒测试用例设计方法有基本路径测试、循环覆盖测试、逻辑覆盖测试。
(3)灰盒法。灰盒测试是一种介于白盒测试与黑盒测试之间的测试,它关注输出对于输入的正确性。同时也关注内部表现,但这种关注不像白盒测试那样详细且完整,而只通过一些表征性的现象、事件及标志来判断程序内部的运行状态。

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

软件的静态测试和动态测试【软件测试分类】 的相关文章

  • 等价类划分法

    专注于分享软件测试干货内容 欢迎点赞 收藏 留言 如有错误敬请指正 软件测试面试题分享 1000道软件测试面试题及答案 软件测试实战项目分享 纯接口项目 完整接口文档 软件测试实战项目分享 WEB 测试自动化项目实战 软件测试学习教程推荐
  • 软件测试开发/全日制/测试管理丨用户端 Web 自动化测试

    随着Web应用的普及和不断发展 用户端Web自动化测试成为确保Web应用质量的重要手段 这种测试方法不仅提高了测试效率 也帮助团队及时发现和解决潜在问题 确保用户体验的连贯性和稳定性 工具选择 用户端Web自动化测试的第一步是选择适当的工具
  • 【软件测试】学习笔记-脚本与数据的解耦 + Page Object模型

    本篇文章介绍GUI测试中两个非常重要的概念 测试脚本和数据的解耦 以及页面对象 Page Object 模型 测试脚本和数据的解耦 GUI自动化测试适用的场景 尤其适用于需要回归测试页面功能的场景 如果在测试脚本中硬编码 hardcode
  • 外包干了2个月,技术退步明显...

    先说一下自己的情况 大专生 18年通过校招进入武汉某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋友
  • 软件测试/测试开发/全日制/测试管理丨Python深拷贝与浅拷贝

    深拷贝和浅拷贝是两种不同的拷贝方式 它们在处理可变对象 如列表 字典 时有着不同的行为 以下是深拷贝和浅拷贝的主要区别 1 浅拷贝 Shallow Copy 创建方式 浅拷贝通过复制原始对象 创建一个新对象 但对于原始对象中的可变对象 如列
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • Linux终端常见用法总结

    熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率 笔者结合自身学习实践 总结以下终端用法供同行交流学习 常 见 用 法 1 快捷键 1 1 Alt 在光标位置插入上一次执行命令的最后一个参数 1 2 Ctrl R
  • RF自动化环境安装+自动化实例解析

    RF定义 通用型的 自动测试框架 绝大部分的软件的的自动化系统都可以采用它 特点 测试数据文件 Test Data 对应一个个的测试用例 测试数据文件里面使用的功能小模块叫关键字 由测试库 Test Library Robot Framew
  • 软件测试|Pydantic详细介绍与基础入门

    简介 Pydantic 是一个强大的 Python 库 用于数据验证和解析 特别是用于处理 JSON 数据 它的主要目标是使数据验证和解析变得简单 直观和可维护 本文将介绍 Pydantic 的基础知识 包括如何定义模型 验证数据以及处理错
  • 软件测试|Selenium StaleElementReferenceException 异常分析与解决

    简介 Selenium 是一个流行的自动化测试工具 用于模拟用户与网页交互 然而 当我们在使用 Selenium 时 可能会遇到一个常见的异常 即 StaleElementReferenceException 这个异常通常在我们尝试与网页上
  • 软件测试|pycharm关联GitHub的详细步骤

    简介 GitHub 是全球最大的开源代码托管平台之一 而 PyCharm 是一款强大的 Python 集成开发环境 将两者结合使用 可以提高团队协作和代码管理的效率 本文将详细介绍如何在 PyCharm 中管理 GitHub 账号 包括如何
  • 软件测试|教你如何使用Python绘制出奥运五环旗

    简介 我们之前介绍过使用turtle来绘制正多边形 但是绘制正多边形只是turtle模块最基础的使用 我们可以使用turtle模块绘制出更多不一样的精彩图形 本文就来给大家介绍一个比较简单的turtle绘图实例 绘制奥运五环旗 初始化参数
  • 软件测试|如何使用selenium处理iframe富文本输入框

    简介 在网页开发中 富文本框是常见的元素 用于输入富文本内容 如富文本编辑器或邮件编辑器 如果我们要使用Python和Selenium进行自动化测试或操作这种富文本框 可能会遇到一些挑战 本文将详细介绍如何使用Python和Selenium
  • 跨平台UI自动化框架:Airtest,游戏开发和应用测试的利器

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 摸爬滚打多年的打工人,总结了三条职场真理,绝不假大空!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 程序员找工作难!拿到外包公司的 offer 我应该去么?

    引言 前一阵子有一个帖子引起了非常广泛的讨论 描述的就是一个公司的外包工作人员 加班的时候因为吃了公司给员工准备的零食 被公司的HR当场批评 这个帖子一发出来 让现在测试行业日益新增的外包公司备受关注 那么外包公司和非外包公司有什么样的不一
  • 15:00面试,15:06就出来了,问的问题有点变态。。。

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到9月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降40 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联
  • 深入解析 YAML 配置文件:从语法到最佳实践

    一 认识YAML YAML YAML Ain t Markup Language 是一种人类可读的数据序列化语言 它的设计目标是使数据在不同编程语言之间交换和共享变得简单 YAML采用了一种简洁 直观的语法 以易于阅读和编写的方式表示数据结

随机推荐

  • Js(一)Error [ERR_MODULE_NOT_FOUND]: Cannot find package ‘uuid‘ imported

    前言 本章主要讲述js报错之 Error ERR MODULE NOT FOUND Cannot find package uuid imported from xxx的解决 一 问题描述 问题 顾名思义 根据错误信息翻译 该文件路径下找不
  • 【华为OD机试真题 JS】贪吃蛇

    标题 贪吃蛇 时间限制 1秒 内存限制 262144K 语言限制 不限 贪吃蛇是一个经典游戏 蛇的身体由若干方格连接而成 身体随蛇头移动 蛇头触碰到食物时 蛇的长度会增加一格 蛇头和身体的任一方格或者游戏版图边界碰撞时 游戏结束 下面让我们
  • 一个java源文件中只能有一个public类

    java文件只有一个public类 1 每个编译单元 文件 只能有一个public 类 这么做的意思是 每个编译单元只能有一个公开的接口 而这个接口就由其public 类来表示 2 java程序的入口是main方法 所以被定为public的
  • Spring Cloud Sleuth 2.0概要使用说明

    Sleuth Zipkin和Brave 先说一下Spring Cloud Sleuth Zipkin和Brave三者之间的关系 首先 对于Spring Cloud Sleuth来说 大家或许接触的比较多 它是Spring框架家族 在这里为什
  • maven可执行jar及加载文件

    1 使用maven assembly plugin插件打包 1 1 代码 地址 https gitee com xixingzhe2 learn tree master jar exe test demo pom xml
  • CommonJS, AMD 和 RequireJS之间的关系(转载)

    先说说CommonJS CommonJS 大家是不是觉得JavaScript仅仅是一个客户端的编译语言 其实JavaScript设计之初不仅仅是针对客户端设计的语言 后来只是由于Web的迅速流行 加之Netscape和微软之间之争过早的将J
  • 每年等额本金,计算复利的方法

    最近正在学理财 就顺手写了个复利的计算方法 小记一下 public class CompoundInterestCalculation public static void main String args 计算公式V P 1 i 1 i
  • springmvc+mybatis+maven项目框架搭建

    项目的目录 1 配置web xml
  • Unity游戏开发之游戏动画(Unity动画系统)

    文章目录 Unity动画系统 动画片段 Animation Clip 在Unity中制作动画 动画复用 替身系统 Avatar Animator 组件 Animator Component 动画状态机 Animator Controller
  • vue axios 上传文件 xhr.addEventListener is not a function(…) 问题修复 不用卸载 mockjs

    vue axios 上传文件 xhr addEventListener is not a function 问题修复 不用卸载 mockjs 无法上传的原因是因为 mockjs 将 axios请求 的 XhrRequest 修改成了Mock
  • 解决”/bin/rm: Argument list too long”删除文件错误

    执行rm后出现 bin rm Argument list too long 报错 应该是目录中的文件太多 处理时间太长导致的 ls xargs n 10000 rm rf 通过xargs命令 将文件10个分成一组 然后分批删除 这样就不会出
  • 5.3 分布式 Git - 维护项目

    5 3 分布式 Git 维护项目 版本说明 版本 作者 日期 备注 0 1 loon 2019 3 28 初稿 目录 文章目录 5 3 分布式 Git 维护项目 版本说明 目录 维护项目 1 在特性分支中工作 2 应用来自邮件的补丁 3 使
  • 字节跳动视频编解码面经

    引言 本文主要是记录一下面试字节跳动的经历 三四月份投了字节跳动的实习 图形图像岗位 然后hr打电话过来问了一下会不会opengl c shador 当时只会一点c 其他两个都不会 也就直接被拒了 七月初内推了字节跳动的提前批 因为内推没有
  • MybatisPlus中的的BaseMapper接口的认识

    接上一篇博客 还是在接手别人的代码的时候 看到了如下的代码 当时自己只是查询了以下wrapper构造器的用法 这里其实还有一个MybatisPlus中的BaseMapper接口的用法 上面这句代码的意思其实就相当于 SELECT COUNT
  • Spring boot+Vue3博客平台:文章发布与编辑功能的技术实现

    本文将详细介绍如何实现一个博客平台中的文章发布与编辑功能 包括前端的Vue组件设计和后端的Spring Boot接口实现 在阅读本文后 您将了解如何设计和实现高效 易用的文章发布与编辑功能 一 发布文章 设计思路 在设计文章发布功能时 我们
  • 【Python脚本进阶】1.2、python脚本基础知识(中)

    目录 一 异常处理 1 1 简介 1 2 示例 二 函数 2 1 简介 2 2 示例1 2 3 示例2 三 迭代 3 1 简介 3 2 示例1 3 3 示例2 3 4 示例3 3 5 示例4 我所用为python3 pycharm 一 异常
  • 利用FFmpeg进行视频文件进行分割

    利用FFMPEG命令进行文件分割 ffmpeg ss 00 00 00 i input mp4 c copy t 60 output mp4 ss 表示视频分割的起始时间 t 表示分割时长 同时也可以用 00 01 00表示 注意 ss 要
  • 爬虫之模拟登录

    方法一selenium from selenium import webdriver from selenium webdriver common keys import Keys import time driver webdriver
  • unity 纯C# android 端PC端 热更方案研究

    首先说明我们的使用场景 不涉及IOS只是android端 最好实现全部更新 项目只有热更空壳 其他逻辑代码场景全部热更 1 首先代码热更 DLL在转为btyes 2 场景热更 3 资源热更 4 加载后代码和资源关联关系 首先说下实现 全部是
  • 软件的静态测试和动态测试【软件测试分类】

    软件的静态测试和动态测试 软件测试一般分为静态测试和动态测试 1 静态测试 静态测试时指测试程序不在机器上运行 而是采用人工检测和计算机辅助静态分析的手段对程序进行检测 静态分析中进行人工测试的主要方法有桌前检查 Desk Checking