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

软件测试第1章 软件测试是什么

目录​​​​​​​

内容说明

一、软件测试与质量概览需要熟悉什么

二、如何理解质量保证

三、软件测试的误区-程序员和测试的关系

四、软件测试是什么?

五、软件测试的目的

六、软件测试与软件质量保证

七、软件测试的必要性

八、软件测试的基本概念分析

九、软件测试的分类


内容说明

结合章节内容重点难点,会对重要知识点进行扩展,以及做示例说明等,以便更好理解重点难点;

一、软件测试与质量概览需要熟悉什么

二、如何理解质量保证

质量保证:一种思维方式

三、软件测试的误区-程序员和测试的关系

四、软件测试是什么?

不同的人对软件测试有不同的理解:

Glenford J. Myers提出:

(1)软件测试是程序的执行过程,目的在于发现错误。

(2)软件测试是为了证明程序有错误,而不是证明程序无错误。

(3)一个好的软件测试用例在于能发现至今未发现的错误。

(4)一个成功的软件测试是发现了至今未发现的错误的测试。

Bill Hetzelt 在《软件测试完全指南》中指出: “软件测试是以评价一个程序或者系统属性为目标的任何一种活动。软件测试是对软件质量的度量。”

其他定义: 人工或自动的手段为运行或测试某个软件系统的 过程, 其目的在于检验它是否满足规定需求或弄清预期结果与实际结果之间的差别。

验证 + 确认 = 测试

验证: 关注开发活动内部

确认:关注开发与用户的衔接

五、软件测试的目的

现对软件测试的目的总结为以下3点:    

(1)以最少的人力、物力、时间找出软件中潜在的各种错误和缺陷,全面评估和提高软件质量,及时揭示质量风险,控制项目风险。

(2)有助于发现开发工作中所采用的软件过程的缺陷,通过对软件缺陷进行分析,获得软件缺陷模式,有助于软件缺陷预防,以便进行软件过程改进;同时通过对软件测试结果的分析和整理,可以修正软件开发的规则,并为软件的可靠性分析提供相关的依据。

(3)评价程序或系统的属性,对软件质量进行度量和评估,以验证软件的质量能否满足用户的需求,为用户选择、接受软件提供有力的依据

六、软件测试与软件质量保证

        软件质量保证是贯穿软件项目整个生命周期的有计划的系统活动,经常针对整个项目质量计划执行情况进行评估、检查和改进,确保项目质量与计划保持一致。

        软件质量保证确保软件项目的过程遵循了对应的标准及规范要求,且产生了合适的文档和精确反映项目情况的报告,其目的是通过评价项目质量建立项目达到质量要求的信心。

        评价、度量和测试在技术内容上有着非常重要的关系。软件测试是获取度量值的一种重要手段。软件度量在GJB 5236中的主要规定是:软件度量是软件质量模型和内部质量、外部质量以及使用质量的度量,可用于在确定软件需求时规定软件质量需求或其他用途。

        软件质量评价在GJB 2434A中针对开发者、需求方和评价者提出了3种不同的评价过程框架。在执行软件产品评价时,确立评价需求的质量模型就需要采用GJB 5236给出的内部质量、外部质量、使用质量的度量等。

软件质量保证与软件测试是否是一回事?

七、软件测试的必要性

软件在人们的日常生活中无处不在。缺陷即伴随着软件而产生。

软件缺陷经常会给企业带来一定的经济损失,甚至有时候会带来灾难性后果。

波音公司星际客机软件故障;

Uber自动驾驶汽车撞死行人;

要完全覆盖所有的场景几乎是不可能的,这也就是我们常说的测试是不能穷尽的。

八、软件测试的基本概念分析

        软件测试里经常提到3个概念:缺陷(fault)、错误(error)和失效(failure)。        

        具体来说:缺陷对应于项目内的错误代码,有时候又称为defect或者bug。错误是指程序在运行时,因为执行到了错误代码而造成程序内部状态出错。失效是指程序在运行结束后,其返回的实际结果与预期结果不一致。

RIP模型认为要确保测试用例触发外在失效,需要满足以下3个必要条件。

九、软件测试的分类

目前,软件测试领域有许多测试名称,这些名称来自不同的分类原则,以下是常见的测试分类方式:

按测试阶段或测试步骤划分;按测试对象划分;按使用的测试技术划分;按软件质量特性划分;按照测试项目划分

按测试阶段或测试步骤划分:

按软件质量特性划分:

相关文章:

软件测试第1章 软件测试是什么

目录​​​​​​​ 内容说明 一、软件测试与质量概览需要熟悉什么 二、如何理解质量保证 三、软件测试的误区-程序员和测试的关系 四、软件测试是什么? 五、软件测试的目的 六、软件测试与软件质量保证 七、软件测试的必要性 八、软件测试的基本概念分析 …...

【技术分享】 hysteria2从服务端到客户端部署教程

hysteria2从服务端到客户端部署教程 前言 在如今的网络环境中,尤其是涉及跨国访问的场景中,hysteria2作为一个新兴的传输协议工具,凭借其高效的传输能力和灵活的配置方式,受到了越来越多用户的青睐。本教程将带您一步步完成hyst…...

C++入门基础知识16

C 的关键字(接上一篇博文!!!) 54. typeid 指出指针或引用指向的对象的实际派生类型。 55. typename typename(类型名字)关键字告诉编译器把一个特殊的名字解释成一个类型。在下列情况下必须对一…...

浏览器调试工具-Chrome Dev Tools

浏览器调试模式下的各个调试工具是常用的工具集,能够帮助开发者理解、调试和优化网页。 1.打开方式 直接在浏览器中按下F12键右键点击页面上的任一元素,选择“检查”(Inspect)在浏览器右上角点击菜单按钮,选择“更多…...

基于车联网大数据平台的用户驾驶习惯行为画像分析

近年来,新能源汽车行业的迅速发展推动了汽车智能化的趋势。新能源汽车上配备了成千上万的传感器,这些传感器采集了大量的行车数据被用于车辆运行状况的监控与分析。另一方面,采集到的大量行车数据,也能很好地体现用户的驾驶习惯。…...

Ubuntu24.04搭建maxkb开发环境

接上文:windows10搭建maxkb开发环境(劝退指南) 上文在windows10环境搭建maxkb开发环境遇到各种坑,后面就转战ubuntu平台,果然比较顺利的完成开发环境搭建。当然遇到相关的问题还是可以参考上文《windows10搭建maxkb开发…...

C++ 指针和引用的区别

1.引用在定义时必须初始化,而指针没有要求 2.引用一旦引用了一个实体就不能在引用其它实体,指针可以在任何时候指向同一类型的指针 3.没有空引用,但是有空指针 4.在sizeof中含义不同:引用结果为引用类型的大小,但指…...

python绘制蕨菜叶分形

一花一叶一世界,一草一木一浮生. 使用了四个不同的线性变换,根据概率选择其中一个变换并更新 x 和 y 坐标。然后将生成的绿色点绘制出来,形成一片蕨菜叶。 import numpy as np import matplotlib.pyplot as pltdef fern_fractal(num_points):# 初始化坐…...

1分钟了解pandas

Pandas 是一个强大的 Python 库,用于数据分析和数据处理。它为 Python 提供了高效的数据结构和数据分析工具,使得数据操作变得简单而直观。Pandas 由 Wes McKinney 在 2008 年创建,并迅速成为数据科学领域中最受欢迎的库之一。 安装 Pandas …...

django-celery应用-定时执行测试cases

1、celery周期性任务 简介-----celery beat 是一个调度程序,它定期启动任务,然后由集群中的可用工作节点执行这些任务。 django-celery-beat celery默认的调度程序是 celery.beat.PersistentScheduler ,它简单地跟踪本地 shelve 数据库文件中…...

【C++深度探索】unordered_set、unordered_map封装

🔥 个人主页:大耳朵土土垚 🔥 所属专栏:C从入门至进阶 这里将会不定期更新有关C/C的内容,欢迎大家点赞,收藏,评论🥳🥳🎉🎉🎉 文章目录…...

CSS——字体背景(Font Background)

一、字体族 1、字体的相关样式: ① color 用来设置字体颜色(前景颜色) ② font-size 字体的大小 和font-size相关的单位: em 相对于当前元素的一个font-size rem 相对于根元素的一个font-size ③ font-family 字体族&#x…...

秋招突击——8/15——知识补充——Socket通信

文章目录 引言正文基于TCP协议的Socket通信基于UDP协议的Socket通信服务端如何接收更多项目多进程多线程IO多路复用select轮询IO多路复用epoll事件通知 使用Socket实现同一个机器上的多线程通信服务端创建对应socket监听端口客户端发起对应的连接请求 总结 引言 上次面试腾讯的…...

Qt第十四章 模型视图

Model/View(模型/视图)结构 文章目录 Model/View(模型/视图)结构简介视图组件Model/View结构的一些概念项目控件组(item Widgets)模型/视图 如何使用项目视图组设置行的颜色交替变换拖拽设置编辑操作其他操作 选择模型自定义选择多…...

硬件工程师必须掌握的MOS管详细知识

MOS管,全称为金属-氧化物半导体场效应晶体管(Metal-Oxide-Semiconductor Field-Effect Transistor,MOSFET),是一种重要的半导体器件,广泛应用于电子工业中各种电路的开关、放大、调制、数字电路和模拟电路等…...

希尔排序,详细解析(附图解)

1.希尔排序思路 希尔排序是一种基于插入排序的算法,通过将原始数据分成若干个子序列,然后对子序列进行插入排序,逐渐减小子序列的间隔,最后对整个序列进行一次插入排序。 1.分组直接插入排序,目标接近有序--------…...

【C语言篇】编译和链接以及预处理介绍(下篇)

文章目录 前言#和###运算符##运算符 命名约定#undef命令⾏定义条件编译#if和#endif多个分支的条件编译判断是否被定义嵌套指令 头文件被包含头文件被包含的方式本地文件包含库文件的包含 嵌套文件包含 其他预处理指令 写在最后 前言 本篇接前一篇【C语言篇】编译和链接以及预处…...

利用Llama2 7b自己实现一套离线AI

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家, 可以当故事来看,轻松学习。 离了 ChatGPT 本人简直寸步难行,今天 ChatGPT 大面积宕机,服务直到文章写作&am…...

Ciallo~(∠・ω・ )⌒☆第十七篇 Ubuntu基础使用 其一

Ubuntu是一种基于Linux的操作系统,它是开源的、免费的,并且具有广泛的用户群体。 基本文件操作:Ubuntu使用命令行工具来进行文件操作。以下是一些常用的命令: 切换到用户主目录: cd ~ 切换到上级目录: cd .…...

Linux-零拷贝技术

什么是零拷贝? 在传统的数据传输过程中,数据需要从磁盘读取到内核空间的缓冲区,然后再从内核空间拷贝到用户空间的应用程序缓冲区。如果需要将数据发送到网络,数据还需要再次从用户空间拷贝到内核空间的网络缓冲区。这个过程涉及…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

网站指纹识别

网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...

LLMs 系列实操科普(1)

写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

快刀集(1): 一刀斩断视频片头广告

一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...