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

news2024/11/23 11:59:08

目录​​​​​​​

内容说明

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

二、如何理解质量保证

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

四、软件测试是什么?

五、软件测试的目的

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

七、软件测试的必要性

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

九、软件测试的分类


内容说明

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

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

二、如何理解质量保证

质量保证:一种思维方式

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

四、软件测试是什么?

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

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个必要条件。

九、软件测试的分类

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

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

按测试对象划分;

按使用的测试技术划分;

按软件质量特性划分;

按照测试项目划分

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

按软件质量特性划分:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HarmonyOS Next 系列之列表下拉刷新和触底加载更多数据实现(十一)

系列文章目录 HarmonyOS Next 系列之省市区弹窗选择器实现(一) HarmonyOS Next 系列之验证码输入组件实现(二) HarmonyOS Next 系列之底部标签栏TabBar实现(三) HarmonyOS Next 系列之HTTP请求封装和Token…

智碳云/高能耗企业 水-电-气-热-油-空压机等能源数据采集系统【源码】

智碳云/高能耗企业 水-电-气-热-油-空压机等能源数据采集系统【源码】 介绍基于SpringCloud的能源管理系统-能源管理平台源码-能源在线监测平台-双碳平台源码-SpringCloud全家桶-能管管理系统源码-能管系统软件架构

js 深入学习各种继承方法使用场景

前言 问题: JS 如何实现继承呢?主要有几种继承方式及分别适用于哪些场景呢? 我们学习高级语言,就必须学习面向对象,想要成为高手,就必须学习别人不会的,就比如JS中的继承,好多前端人…

ASP.NET在线交流论坛管理系统

ASP.NET在线交流论坛管理系统 说明文档 运行前附加数据库.mdf(或sql生成数据库) 主要技术: 基于asp.net架构和sql server数据库 用户功能有个人信息管理 帖了信息管理 意见反馈信息管理 点赞管理 收藏管理 后台管理员可以进行用户管理 …

部署及使用seata

目录 1.下载seata1.7.0.zip 2.上传至云服务器,使用unar工具解压 3.配置application.yml,主要配置如下参数 4.为seata执行mysql脚本 5.配置nacos配置中心 *6.启动seata服务器 问题:“cause:can not register RM,err:can not connect to…

国外项目管理软件最佳实践:选型与应用

国内外主流的10款国外项目管理软件对比:PingCode、Worktile、Asana、Trello、Monday.com、ClickUp、Wrike、ProofHub、Zoho Projects、Hive。 在寻找适合的国外项目管理软件时,你是否感到不知从何选择?市场上琳琅满目的选项往往令人眼花缭乱&…

微软披露Office最新零日漏洞,可能导致数据泄露

近日,微软披露了 Office 中一个未修补的零日漏洞,如果被成功利用,可能导致敏感信息在未经授权的情况下泄露给恶意行为者。 该漏洞被追踪为 CVE-2024-38200(CVSS 得分:7.5),被描述为一个欺骗漏洞…

关于xilinx的FFTIP的使用和仿真

工具:vivado2018.3,modelsim10.6d 场景:在进行数据进行频谱分析的时候,使用FPGA来完成FFT的计算可以加快数据的计算速度。 下面使用仿真完成DDS产生的数据的FFT以及IFFT。原始数据使用DDSIP产生,通过IP产生的波形数据…

旧手机NAS方案

这里写目录标题 1、参考2、alpine-term-v16.0-release.apk下载安装3、电脑端ssh连接3、安装docker3.1 网络配置3.2 配置APK源 1、参考 【Docker与Termux】闲置旧安卓手机上的NAS无缝部署方案 https://blog.csdn.net/AnRanGeSi/article/details/138717589 【Alpine Term】Andr…

线程与进程(5)

目录 信号量(线程的同步 ) 信号量的分类: 框架: (1)信号量的定义(semaphore): (2)信号量的初始化: (3)信号量的PV 操作 (4&#…

Ubuntu Linux安装Go语言

Golang是Google公司在2007年开始开发的一种静态强类型、编译型语言。Go语言被设计成一门简单、高效且可靠的编程语言,旨在解决大规模网络服务和分布式系统开发中的复杂性问题。Go语言结合了动态语言的开发速度和C/C等编译型语言的性能与安全性,提供了强大…

[DL]深度学习_针对图像恢复的高效扩散模型DiffIR

DiffIR: Efficient Diffusion Model for Image Restoration Abstract 扩散模型(DM)通过将图像合成过程建模为去噪网络的顺序应用,实现了SOTA的性能。然而,与图像合成不同的是,图像恢复(IR)对生成符合ground-truth的结果有很强的约束。因此&am…

家穷就去互联网

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330#rd 《网安面试指南》http://mp.weixin.qq.com/s?…

AI编程工具合集(附使用地址)

在AI编程工具领域,随着技术的飞速发展,越来越多的工具正在改变编程的方式。以下是目前排名前十的AI编程工具合集,提供了丰富的功能来提升开发效率,并在多个编程场景中帮助开发者解决问题。 1. GitHub Copilot • 是什么: GitHub C…

打靶笔记--medium_socnet

medium_socnet 靶机地址:https://www.vulnhub.com/entry/boredhackerblog-social-network,454/ 内容简介: 这是本系列的第04次打靶,我选择了一个中等难度的靶机。在这次打靶过程中,我们将使用到以下攻击手段: 主机发现 端口扫…

javaEE WebServlet、SpringWebMVC、SpringBoot实现跨域访问的4种方式及优先级,nginx配置跨域

文章目录 1. 前置知识2. 原理和解决方案总结2.1. 跨域不通过原理流程图2.2. 实现原理:添加以下http响应头2.3. 四种跨域实现方式及优先级(从高到低) 3. 具体实现代码3.1. 跨域全局配置方式-Filter(全适用)3.2. 跨域全局配置方式-SpringMvc3.3…

鸿蒙内核源码分析(内存规则篇) | 内存管理到底在管什么

先说如果没有内存管理会怎样? 那就是个奴才们能把主子给活活踩死, 想想主奴不分,吃喝拉撒睡都在一起,称兄道弟的想干啥? 没规矩不成方圆嘛,这事业肯定搞不大,单片机时代就是这种情况. 裸机编程,指针可以…

【笔记】MSPM0G3507使用RT-Thread FinSH——MSPM0G3507与RT_Thread(四)

接上篇 KEIL 添加 FinSH 源码 添加自己的函数实现rt_hw_console_getchar 修改为: #include "C:\ti\mspm0_sdk_2_01_00_03\examples\nortos\LP_MSPM0G3507\driverlib\G3507_RTT\ti_msp_dl_config.h"//ti_msp_dl_config.h的绝对地址RT_WEAK char rt_hw_con…

Java知识点一——列表、表格与媒体元素

显示表格边框&#xff1a;<table border"1"></table> 因为初始的表格是没有边框的 collapse相邻的单元格共用同一条边框&#xff08;采用 collapsed-border 表格渲染模型&#xff09;。 separate默认值。每个单元格拥有独立的边框&#xff08;采用 sep…

Haskell爬虫中日志记录:监控HTTP请求与响应

在当今信息爆炸的时代&#xff0c;数据抓取成为了获取信息的重要手段。Haskell&#xff0c;以其强大的类型系统和函数式编程特性&#xff0c;成为了编写高效、可靠爬虫的理想选择。然而&#xff0c;随着爬虫的运行&#xff0c;监控其行为变得尤为重要。本文将探讨如何在Haskell…