软件测试的目的---防范项目风险
软件测试的目的到底是什么一直是困扰开发人员和测试人员的一个问题,
项目管理人员希望测试能够保证软件项目的成功
开发人员希望希望测试可以让他们理直气壮的说,他们的软件是没有问题的,从而证明他们的工作成果
软件测试经典理论说,测试无法证明软件是没有问题,而只能证明软件是有错误的.
软件测试的经典理论又说好的测试用例是能发现那些问题的测试用例,
于是问题产生了,测试到底是做什么的?
其实这个问题并不难解决,只要你从一个更高的角度去看待这个问题.
项目管理中有一个很重要的领域就是风险管理,而测试是防范和解决技术风险一个重要手段。
这样可以很好解决测试在软件开发中的地位和作用问题。
首先来说风险(技术风险)。软件是一个科技含量比较高的行业,由于新技术比较多,所以技术风险自然会比较大,如何防范这些风险带来的危害是我们要格外注意的一个问题
风险的危害 = 风险发生的概率 * 风险造成的危害。
作为测试工作就是通过降低风险发生的概率和以及风险造成的危害来保证项目的顺利实施的。
先说降低风险发生的概率,在功能测试中就是测试的覆盖率,尽量提高测试强度在尽可能多的覆盖所有的功能点,
比如冒烟测试、合法数据测试、非法数据的测试,就是逐步增强测试强度,来发现问题,
再说降低风险造成的危害,从纯技术角度来说,软件测试发现的问题,其危害程度是不一样的,比如死机问题,应该是最严重的问题了,其次是功能无法实现,发现这些问题的价值往往是很大的。这些问题往往会产生严重的问题,如果及时发现这些问题,可以让开发人员及时进行修改,防止系统的这些问题给项目的开发带来严重的问题。
在这里要说几个个人的一些体会。
1测试人员不能通过测试工作给项目带来直接的好处,说简单一点就是测试不能测试出来好的产品,但通过对测试中发现问题的修改可以让产品的质量上一个高台阶,
2测试人员不能要能善于发现问题,更要善于和开发人员交流,让他们认识到发现的问题,并对这些问题进行修改,从而通过开发人员实现自己的价值
3测试人员需要通过自己测试技术的提高,采用更科学的测试方法,和工具,增强测试强度,告诉项目经理,我们的产品经过测试,发生问题的概率比原来降低了好几个数量级,发生问题概率降低了,从另外一个方面讲就是产品的可靠性增强了,这正式上级领导奖励测试部门的目的
4什么样的测试用例是好好测试用例,如果是发现从未发现过的测试用例才是好的测试用例,那么在回归测试的,如果所有测试用例都通过了,这些测试用例都是坏的测试用例吗?这显然说不过去,在我看来,评判一个测试用例好坏应该有两个标准,一个是是否发现问题的概率比较高的测试用例才是好的测试用例,另外一个便于开发人员确定问题的测试用例才是好的测试用例,这里说的比较复杂,举几个例子吧。
如果说发现了未发现的bug的测试是好的测试,这个东西如何实施就无法确定,没有测试谁知道哪个哪个测试用例可能发现问题,所以测试人员根本无法实施测试工作的改进,但如果说发现问题可能性比较大的,就比较好实施了,比如划分等价类,边界值等方法都是经过长期总结出来的发现问题可能性比较大的方法,
另外,测试的目的,是修改问题,在软件开发过程中,如果要修改问题,首先要定位,其次判断问题发生的条件,如果你的测试用例(一般来说是几个或者几十个),可以让开发人员发现问题发生的规律,那么他们可以方便的发现问题发生的规律,对开发人的定位工作会起到很大的帮助做用,这样的测试用例对提高产品质量的作用是很大的。
Python接口自动化测试零基础入门到精通(2023最新版)
相关文章:
软件测试的目的---防范项目风险
软件测试的目的到底是什么一直是困扰开发人员和测试人员的一个问题, 项目管理人员希望测试能够保证软件项目的成功 开发人员希望希望测试可以让他们理直气壮的说,他们的软件是没有问题的,从而证明他们的工作成果 软件测试经典理论说,测试无法证明软件是没有问题,而只能证明软…...
自己动手写编译器:创建由 C 语言编译而成的语法解析器
在上一章节,我们完成了由 c 语言设计的输入系统,本节我们看看如何在前一节的基础上完成一个由 c 语言设计并编译出来的词法解析器。整个解析器的基本设计思路是: 1,由我们上一节设计的输入系统将字符串从文件中读入。 2࿰…...
接口设计-增删改查
关于增删改查的 接口设计,比较简单,有一些固定的做法可以使用。 查询列表 查询列表的接口,带上分页的入参: pageNo,pageSize,非必选,并设置默认值。 入参为 dto,根据 dto 从数据库…...
持续持续集成部署-k8s-配置与存储-配置管理:Secret 的应用
持续持续集成部署-k8s-配置与存储-配置管理:Secret 的应用 1. 简介2. 创建 Secret3. docker-registry 的使用1. 简介 与 ConfigMap 类似,用于存储配置信息,但是主要用于存储敏感信息、需要加密的信息,Secret 可以提供数据加密、解密功能。 在创建 Secret 时,要注意如果要…...
ZYNQ7020开发(一):开发环境搭建
文章目录 一、配置Ubuntu 编译环境二、安装Petalinux三、安装JTAG驱动四、安装Vitis一、配置Ubuntu 编译环境 虚拟机环境:VMware Workstation 16 Pro 16.1.0 build-17198959Ubuntu 版本:No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 L…...
Spring Boot插件化开发概念原理及实现
Spring Boot 是一个开源的Java框架,它简化了基于Spring框架的应用程序的开发和部署过程。它提供了一种快速、简单的方式来构建独立的、可执行的Spring应用程序。在Spring Boot中,插件化开发是一种强大的开发模式,它允许开发人员将应用程序的不…...
Ps:PSDT 模板文件
自 Photoshop CC 2015.5 版以后,Ps 中新增了一种文件格式:.PSDT。 说明: PSD、PDD、PSDT 都是 Ps 的专用文件格式,需要继续在 Ps 中进行编辑的文件可存为此类格式。 PSD Photoshop document Photoshop 默认文档格式,支…...
Linux-----nginx的简介,nginx搭载负载均衡以及nginx部署前后端分离项目
目录 nginx的简介 是什么 nginx的特点以及功能 Nginx负载均衡 下载 安装 负载均衡 nginx的简介 是什么 Nginx是一个高性能的开源Web服务器和反向代理服务器。它的设计目标是为了解决C10k问题,即在同一时间内支持上万个并发连接。 Nginx采用事件驱动的异…...
presto插件机制揭秘:探索无限可能的数据处理舞台
文章目录 1. 前言2. Presto插件架构3. Plugin接口3.1 插件协议3.2 插件实现类 4. 插件加载过程4.1 PluginManager 5. 插件应用6. 总结 关键词:Presto Plugin 1. 前言 本文源码环境: presto: prestoDb 0.275版本 在Presto框架中插件机制设计是一种非常常见…...
acwing算法基础之数据结构--并查集算法
目录 1 基础知识2 模板3 工程化 1 基础知识 并查集支持O(1)时间复杂度实现: 将两个集合合并。询问两个元素是否在一个集合中。 基本原理:每个集合用一颗树来表示。树根的编号就是整个集合的编号。每个结点存储它的父结点,p[x]表示x的父结点…...
k8s:二进制搭建 Kubernetes v1.20
目录 1 操作系统初始化配置 2 部署 etcd 集群 2.1 准备签发证书环境 2.2 生成Etcd证书 3 部署 docker引擎 4 部署 Master 组件 5 部署 Worker Node 组件 k8s集群master01:192.168.30.105 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集…...
SpringBoot系列-1启动流程
背景 本文作为SpringBoot系列的开篇,介绍SpringBoot的启动流程,包括Spring容器和Tomcat启动过程。SpringBoot作为流行的微服务框架,其是基于约定和自动装配机制对Spring的封装和增强。 由于前面的Spring系列对Spring容器已经进行了较为细致的…...
【记】一次common模块导入无效的bug
首先Maven clean install无用 然后idea清除缓存重启无用 pom.xml文件重载无效 正确解决路径: 1.检查common模块的父工程导入和自身模块的声明是否正确 默认是继承父工程的groupid,可以不用再声明 2.检查子工程是否引入正确的common,org不要…...
1.Netty概述
原生NIO存在的问题(Netty要解决的问题) 虽然JAVA NIO 和 JAVA AIO框架提供了多路复用IO/异步IO的支持,但是并没有提供给上层“信息格式”的良好封装。JAVA NIO 的 API 使用麻烦,需要熟练掌握 ByteBuffer、Channel、Selector等 , 所以用这些API实现一款真正的网络应…...
YOLO目标检测——真实道路车辆检测数据集【含对应voc、coco和yolo三种格式标签】
实际项目应用:自动驾驶技术研发、交通安全监控数据集说明:真实道路车辆检测数据集,真实场景的高质量图片数据,数据场景丰富标签说明:使用lableimg标注软件标注,标注框质量高,含voc(xml)、coco(j…...
【Solidity】Solidity中的基本数据类型和复合数据类型
1. 基本数据类型 1.1 整数类型 Solidity支持有符号整数和无符号整数,可以指定位数和范围。以下是一些整数类型的示例: int:有符号整数,可以是正数或负数。2,-45,2023 uint:无符号整数&#x…...
Flutter Set存储自定义对象时 如何保证唯一
在Flutter中,Set和List是两种不同的集合类型,List中存储的元素可以重复,Set中存储的元素不可重复。 如果你想在Set中存储自定义对象,你需要确保对象的唯一性。 这可以通过在自定义类中实现hashCode方法和equals方法来实现。 has…...
Docker容器中执行throttle.sh显示权限报错:RTNETLINK answers: Operation not permitted
在模拟通信环境时,我执行了一下命令: bash ./throttle.sh wan但是,出现了权限的报错:RTNETLINK answers: Operation not permitted 解决方案说简单也挺简单,只需要两步完成。但是其实又蛮繁琐,因为需要将…...
【Linux】jdk、tomcat、MySQL环境搭建的配置安装,Linux更改后端端口
一、作用 工具的组合为开发者和系统管理员提供了构建和运行Java应用程序以及存储和管理数据的完整环境。 JDK(Java Development Kit):JDK是Java开发工具包,它提供了开发和运行Java应用程序所需的工具和库。通过安装JDK,…...
【WinForm详细教程七】WinForm中的DataGridView控件
文章目录 1.主要属性DataSource行(Row 相关属性)列(Column 相关属性)单元格(Cell 相关属性)逻辑删除AllowUserToAddRowsAllowUserToDeleteRowsAllowUserToOrderColumns其他布局和行为属性 2.控件中的行、列…...
RePKG终极指南:Wallpaper Engine资源提取与转换的完整解决方案
RePKG终极指南:Wallpaper Engine资源提取与转换的完整解决方案 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 你是否曾经遇到过这样的问题?在Wallpaper Eng…...
Stable Diffusion v1.5 Archive 镜像实测:5步完成部署,快速体验文生图
Stable Diffusion v1.5 Archive 镜像实测:5步完成部署,快速体验文生图 1. 开篇:为什么选择SD1.5 Archive版本 Stable Diffusion作为当前最热门的开源AI绘画模型,已经迭代了多个版本。其中v1.5作为经典版本,在图像质量…...
Mojo嵌入Python项目的4种架构模式(含GIL绕过实测数据+内存安全验证报告)
第一章:Mojo嵌入Python项目的4种架构模式(含GIL绕过实测数据内存安全验证报告)Mojo 作为兼具 Python 兼容性与系统级性能的新兴语言,其嵌入 Python 项目的能力已通过多种生产就绪架构得到验证。以下四种主流集成模式均在 macOS Ve…...
Pixel Aurora Engine效果展示:像素极光视觉系统渲染的星际战舰系列
Pixel Aurora Engine效果展示:像素极光视觉系统渲染的星际战舰系列 1. 像素极光引擎简介 Pixel Aurora Engine是一款基于AI扩散模型的高端绘图工作站,专为像素艺术创作而设计。它采用独特的复古像素游戏风格界面,通过先进的AI技术将文字描述…...
AIVideo效果对比展示:不同参数下的视频生成质量评测
AIVideo效果对比展示:不同参数下的视频生成质量评测 1. 开场白:参数设置对视频效果的影响 你有没有遇到过这样的情况:用AI生成视频时,明明输入的内容一样,但出来的效果却天差地别?有时候画面模糊不清&…...
千问3.5-2B镜像免配置优势解析:supervisor自恢复+健康检查+7860端口标准化
千问3.5-2B镜像免配置优势解析:supervisor自恢复健康检查7860端口标准化 1. 千问3.5-2B镜像核心价值 千问3.5-2B是Qwen系列的小型视觉语言模型,专为图片理解与文本生成任务优化设计。这个开箱即用的镜像解决了传统AI模型部署中最让人头疼的三个问题&am…...
Pixel Dream Workshop惊艳效果展示:像素化视频帧序列生成与动画合成
Pixel Dream Workshop惊艳效果展示:像素化视频帧序列生成与动画合成 1. 像素艺术的数字复兴 在数字艺术领域,像素风格正经历着令人振奋的复兴。Pixel Dream Workshop作为这一浪潮中的佼佼者,将传统像素艺术与现代AI技术完美融合,…...
UE5 - 动态材质与电子围栏:ArchvizExplorer与Map Border Collection的深度整合
1. 动态材质与电子围栏的完美结合 在UE5的建筑可视化项目中,电子围栏效果常常需要与场景动态交互。ArchvizExplorer作为建筑可视化利器,配合Map Border Collection的边界功能,能创造出令人惊艳的动态围栏效果。我最近在一个商业综合体项目中实…...
Z-Image-GGUF模型Java后端集成指南:SpringBoot微服务实战
Z-Image-GGUF模型Java后端集成指南:SpringBoot微服务实战 最近在做一个内容创作平台的后台重构,产品经理提了个需求,想给用户加个“AI一键生成文章配图”的功能。团队评估了几个方案,最终决定用Z-Image-GGUF这个模型,…...
Copilot 插入广告引担忧,AI 工具商业化边界受考
Copilot 拉取请求中惊现广告插入团队成员使用 Copilot 纠正拉取请求(PR)中的拼写错误时,出现了令人意想不到的情况。Copilot 不仅修改了 PR 描述,还插入了它自身以及 Raycast 的广告。这一行为引发了用户的强烈反应,有…...
