什么是软件测试?

2023-11-09

什么是软件测试?

软件测试的定义:在一定条件下对软件进行操作,发现软件的问题,提高软件的质量。

在这里插入图片描述
软件测试在开发中的有着重要地位。软件测试在各阶段的完成相应的任务,需求测试,架构测试,详细测试等。随着测试的发展,测试技术有了新的支持和扩充CMMI,其改进了各个过程提供了单一的集成框架,提高了测试效率。

CMMI对软件测试的扩充:

  1. 从对软件的测试活动扩展为对软件测试和开发的度量;
  2. 事后测试发展为全过程的测试;
  3. 测试于开发为并行过程。

==测试用例:==是测试过程中不可缺少的数据,其为执行条件和预期结果的集合,用于评判软件的质量的关键数据。测试用例设计的好坏直接关系到测试结果的好坏。因此需要对测试用例进行评价。

测试用例的评价标准:

  1. 测试用例目标是否明确;
  2. 设计思路是否正确;
  3. 设计层次是否清晰,结构是否合理。

测试用例的基本原则

  1. 测试用例的代表性;(正常数据,错误数据,边界数据)
  2. 测试结果的可判定性;(输入于输出的结果,应根据模块功能可预判)
  3. 测试结果的可再现性。(对于相同的输入,应该有相同的映射关系)

测试环境:测试环境简单书就是软件运行的平台。

测试环境=软件(dbms,中间件,web服务器)+ 硬件 + 网络 + 历史数据

测试的过程:测试人员根据需求说明书,概要设计说明书依据等价划分,边界值测试对软件质量和功能评估。 

软件测试原理

软件测试原则

  1. 所有测试都应追溯到用户需求;
  2. 尽早测试;
  3. 测试的“二八定律”;(测试发现的80%的错误可能出现在20%模块)
  4. 测试应有小到大逐渐深入;
  5. 测试中穷举法是不可能的;
  6. 测试由独立的三方完成。(开发人员不容易发现自己的错误)

软件测试的分类

  1. 按照测试阶段分类:

在这里插入图片描述

  1. 按照是否需要执行被测试软件

在这里插入图片描述

  1. 按照是否需要查看代码

在这里插入图片描述

  1. 其他测试

人工测试:测试用例的设计与结果的分析又人工完成。
自动测试:由自动化测试工具或者自动化测试脚本来进行的测试。
冒烟测试:在测试时发现了一个缺陷,由开发人员修复这个缺陷,针对次问题进行专门的测试。
随机测试:根据需求说明书执行样例测试的重要补充手段,是保证测试覆盖完整性的有效方法。

软件测试模型

V模型

在这里插入图片描述
W模型

在这里插入图片描述
H模型

在这里插入图片描述

X模型
在这里插入图片描述

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

什么是软件测试? 的相关文章

  • 等价类划分法

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

    随着Web应用的普及和不断发展 用户端Web自动化测试成为确保Web应用质量的重要手段 这种测试方法不仅提高了测试效率 也帮助团队及时发现和解决潜在问题 确保用户体验的连贯性和稳定性 工具选择 用户端Web自动化测试的第一步是选择适当的工具
  • 软件测试|好用的pycharm插件推荐(五)——Translation

    前言 在我们的日常工作中 经常会遇到需要查看各个第三方库源码的问题 在很多情况下 我们的英语能力不能够满足我们完全读懂源码 所以我们就需要借助翻译工具来帮助我们理解第三方库的源码 如果我们将源码复制再使用其他工具翻译 会显得比较繁琐 如果有
  • JMeter 批量接口测试

    一 背景 最近在进行某中台的接口测试准备 发现接口数量非常多 有6 70个 而且每个接口都有大量的参数并且需要进行各种参数验证来测试接口是否能够正确返回响应值 想了几种方案后 决定尝试使用JMeter的csv读取来实现批量的接口测试 二 脚
  • 外包干了2个月,技术退步明显...

    先说一下自己的情况 大专生 18年通过校招进入武汉某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋友
  • Jmeter 压测-性能调优5大注意

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试/测试开发/全日制/测试管理丨Python深拷贝与浅拷贝

    深拷贝和浅拷贝是两种不同的拷贝方式 它们在处理可变对象 如列表 字典 时有着不同的行为 以下是深拷贝和浅拷贝的主要区别 1 浅拷贝 Shallow Copy 创建方式 浅拷贝通过复制原始对象 创建一个新对象 但对于原始对象中的可变对象 如列
  • Linux终端常见用法总结

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

    本中介绍如何使用Locust为开发的服务 网站执行负载测试 Locust 是一个开源负载测试工具 可以通过 Python 代码构造来定义用户行为 避免混乱的 UI 和臃肿的 XML 配置 步骤 设置Locust 在简单的 HTTP 服务上模
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 19年通过校招进入广州某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋友
  • 测试工程师能否作为一份「终身职业」?30岁+怎么办?

    讨论 测试工程师可否作为一份终生的职业 这是我在论坛看到的一个讨论 你的答案是什么呢 我希望大家能认真思考后给出一个属于自己的答案 无论你是新手入门 还是资深专家 回答这个问题请不要凭一腔热血 也不用过分消极 别总和钱挂钩 平心而论即可 就
  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|使用matplotlib绘制多种柱状图

    简介 在数据可视化领域 Matplotlib是一款强大的Python库 它可以用于创建多种类型的图表 包括柱状图 本文将介绍如何使用Matplotlib创建多种不同类型的柱状图 并提供示例代码 创建基本柱状图 首先 让我们创建一个基本的柱状
  • 软件测试|教你使用Python下载图片

    前言 我一直觉得Windows系统默认的桌面背景不好看 但是自己又没有好的资源可以进行替换 突然我一个朋友提醒了我 网络上的图片这么多 你甚至可以每天换很多个好看的背景 但是如果让我手动去设置的话 我觉得太麻烦了 我不如使用技术手段将图片下
  • 测开和测试平台是否有存在的必要?

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

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Jmeter 性能-阶梯式性能指标监听

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 月薪2W的软件测试工程师,到底是做什么的?

    在生活中 我们常常会遇到以下几种窘迫时刻 准备骑共享单车出行 却发现扫码开锁半天 车子都没有反应 手机导航打车 却发现地图定位偏差很大 司机总是跑错地方 买个水 却遭遇自动售货机吐币 或者不找零钱 好不容易休息打个游戏 却一直出现卡顿 闪退
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • 深入解析 YAML 配置文件:从语法到最佳实践

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

随机推荐

  • 用node.js 实现一个简单的接口

    使用 Node js 可以方便地创建简单的接口 下面是一个使用 Node js 和 Express 框架创建简单接口的示例 首先 确保已经安装了 Node js 和 npm Node js 包管理器 1 创建一个新的文件夹 并在文件夹中打开
  • 华为od机试 C++ 地址分割

    题目 你的任务是编写一个程序 该程序将接收一个由逗号分隔的字符串 其中包含一个URL的前缀和后缀 然后将它们合并成一个完整的URL 合并规则如下 如果前缀的最后一个字符是斜杠 则删除它 如果后缀的第一个字符是斜杠 则删除它 在处理过的前缀和
  • 很诡异的问题——Jenkins与svn代码冲突之解决方法

    今天遇到一个很诡异的问题 可能是我刚刚接触jenkins的原因 导致这个问题困扰了我半个小时 不管怎么样 我还是记录下来 希望能帮助到那些和我一样刚刚接触jenkins的小伙伴 我从idea修改了两个配置文件 提交到svn 然后jenkin
  • mac上安装brew(最简易)

    我们使用linux下有yum mac相应的是brew 安装软件 brew的安装目录在 usr local Cellar 我们以安装nodejs为例子 只需要执行 brew install nodejs 就安装完了 就这么简单 接下来我们安装
  • java开源 VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城 小程序商城搭建

    1 涉及平台 平台管理 商家端 PC端 手机端 买家平台 H5 公众号 小程序 APP端 IOS Android 微服务平台 业务服务 2 核心架构 Spring Cloud Spring Boot Mybatis Redis 3 前端框架
  • M1 电脑使用nvm 管理node

    1 执行下面的代码创建文件 bash profile touch bash profile 2 下载安装 curl o https raw githubusercontent com nvm sh nvm v0 35 2 install s
  • 从零开始的Docker详解(六)

    Docker仓库 docker仓库是集中存放镜像的地方 类似maven的仓库集中存放依赖 Docker Hub Docker Hub是由Docker官方维护的公共仓库 包含官方镜像和个人上传的镜像 大部分镜像都可以在上面找到 注 非官方的镜
  • CentOS7.3 安装

    选择Install CentOS Linux 7 选择语言 点击软件选择 选择基本环境 点击安装位置 选择我要配置分区 点击完成 根据需要选择分区方案 点击 根据需要添加挂载点 添加完所有挂载点后点击完成 在弹出的页面中选择接受更改 点击开
  • java基础知识点

    java中有四大修饰符 分别为private default protected public 下面主要是四者之间的区别 private 私有的 private可以修饰成员变量 成员方法 构造方法 不能修饰类 此刻指的是外部类 内部类不加以
  • 【mybatis-plus】学习笔记

    官方地址 https mp baomidou com 自动化工具 JPA tk imapper MybatisPlus 简介 MyBatis Plus 简称 MP 是一个 MyBatis 的增强工具 在 MyBatis 的基础上只做增强不做
  • 将Android项目打包成Library

    最近在弄一个SDK 考虑把项目做成 Library 类库的形式 方便调用 顺便在此分享给大家 首先 先创建一个普通的android项目 这个项目可以起任何你想要的名称 想要的包名等 步骤如下 在Package Explorer中 鼠标右键项
  • .NET Word模板引擎--MiniWord,继MiniExcel后又一开源作品

    目录 Part1简介 Part2特点 Part3安装 Part4使用 文本生成 图片生成 列表生成 表格生成 Part5总结 Part1简介 MiniWord 是 NET Word模板引擎 由Word模板和数据 简单 快速生成文件 Part
  • 启动模式,BOOT0和BOOT1详解

    原文链接 http blog csdn net daunxx article details 40148945 在画STM32的电路图的时候 关于STM32的启动方式纠结了一下 现有的参考设计都是在STM32的启动选择引脚BOOT0和BOO
  • 通过Java构建树形结构

    通过Java构建树形结构所需要的数据 实体类Test 主键 private String id 父类ID private String parentId 子节点 private List
  • matplotlib - 确保 0 在 RdBu 颜色条中变为白色

    matplotlib 确保 0 在 RdBu 颜色条中变为白色 matplotlib 确保 0 在 RdBu 颜色条中变为白色 IT工具网 标签 matplotlib colormap 我使用以下代码段创建了一个热图 span style
  • 丢手帕问题

    package Task author 链表解决丢手帕问题 约瑟夫问题 public class CycLink public static void main String args CycLinkModel cycLink new Cy
  • Vue3.x 中 vue.config 配置 Webpack-dev-server的proxy 实现代理跨域

    前言 如果你有单独的后端开发服务器 API 并且希望在同域名下发送 API 请求 那么代理某些 URL 会很有用 解决开发环境的跨域问题 不用在去配置nginx和host 爽歪歪 在webpack config js中配置 下面简单介绍一下
  • MySQL锁系列(八)之 死锁

    能学到什么 什么是死锁 死锁有什么危害 典型的死锁案例剖析 如何避免死锁 一 什么是死锁 1 必须满足的条件 1 2 1 必须有两个或者两个以上的事务 2 不同事务之间都持有对方需要的锁资源 A事务需要B的资源 B事务需要A的资源 这就是典
  • Protobuf(二)proto3语法格式

    proto文件有两种语法标准 proto2和proto3 我们以proto3为例 其语法格式如下 message
  • 什么是软件测试?

    什么是软件测试 软件测试的定义 在一定条件下对软件进行操作 发现软件的问题 提高软件的质量 软件测试在开发中的有着重要地位 软件测试在各阶段的完成相应的任务 需求测试 架构测试 详细测试等 随着测试的发展 测试技术有了新的支持和扩充CMMI