软件测试的目的---防范项目风险

软件测试的目的到底是什么一直是困扰开发人员和测试人员的一个问题,

项目管理人员希望测试能够保证软件项目的成功

开发人员希望希望测试可以让他们理直气壮的说,他们的软件是没有问题的,从而证明他们的工作成果

软件测试经典理论说,测试无法证明软件是没有问题,而只能证明软件是有错误的.

软件测试的经典理论又说好的测试用例是能发现那些问题的测试用例,

于是问题产生了,测试到底是做什么的?

其实这个问题并不难解决,只要你从一个更高的角度去看待这个问题.

项目管理中有一个很重要的领域就是风险管理,而测试是防范和解决技术风险一个重要手段。

这样可以很好解决测试在软件开发中的地位和作用问题。

首先来说风险(技术风险)。软件是一个科技含量比较高的行业,由于新技术比较多,所以技术风险自然会比较大,如何防范这些风险带来的危害是我们要格外注意的一个问题

风险的危害 = 风险发生的概率 * 风险造成的危害。

作为测试工作就是通过降低风险发生的概率和以及风险造成的危害来保证项目的顺利实施的。

先说降低风险发生的概率,在功能测试中就是测试的覆盖率,尽量提高测试强度在尽可能多的覆盖所有的功能点,

比如冒烟测试、合法数据测试、非法数据的测试,就是逐步增强测试强度,来发现问题,

再说降低风险造成的危害,从纯技术角度来说,软件测试发现的问题,其危害程度是不一样的,比如死机问题,应该是最严重的问题了,其次是功能无法实现,发现这些问题的价值往往是很大的。这些问题往往会产生严重的问题,如果及时发现这些问题,可以让开发人员及时进行修改,防止系统的这些问题给项目的开发带来严重的问题。

在这里要说几个个人的一些体会。

1测试人员不能通过测试工作给项目带来直接的好处,说简单一点就是测试不能测试出来好的产品,但通过对测试中发现问题的修改可以让产品的质量上一个高台阶,

2测试人员不能要能善于发现问题,更要善于和开发人员交流,让他们认识到发现的问题,并对这些问题进行修改,从而通过开发人员实现自己的价值

3测试人员需要通过自己测试技术的提高,采用更科学的测试方法,和工具,增强测试强度,告诉项目经理,我们的产品经过测试,发生问题的概率比原来降低了好几个数量级,发生问题概率降低了,从另外一个方面讲就是产品的可靠性增强了,这正式上级领导奖励测试部门的目的

4什么样的测试用例是好好测试用例,如果是发现从未发现过的测试用例才是好的测试用例,那么在回归测试的,如果所有测试用例都通过了,这些测试用例都是坏的测试用例吗?这显然说不过去,在我看来,评判一个测试用例好坏应该有两个标准,一个是是否发现问题的概率比较高的测试用例才是好的测试用例,另外一个便于开发人员确定问题的测试用例才是好的测试用例,这里说的比较复杂,举几个例子吧。

如果说发现了未发现的bug的测试是好的测试,这个东西如何实施就无法确定,没有测试谁知道哪个哪个测试用例可能发现问题,所以测试人员根本无法实施测试工作的改进,但如果说发现问题可能性比较大的,就比较好实施了,比如划分等价类,边界值等方法都是经过长期总结出来的发现问题可能性比较大的方法,

另外,测试的目的,是修改问题,在软件开发过程中,如果要修改问题,首先要定位,其次判断问题发生的条件,如果你的测试用例(一般来说是几个或者几十个),可以让开发人员发现问题发生的规律,那么他们可以方便的发现问题发生的规律,对开发人的定位工作会起到很大的帮助做用,这样的测试用例对提高产品质量的作用是很大的。

Python接口自动化测试零基础入门到精通(2023最新版)

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

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

相关文章

P6462补刀

灵光一现,突然就做出来了 正好写一下思路过程 一开始寻思是个数论的问题,貌似需要用到扩展欧几里得,不管那么多,直接写上,接着不断缝缝补补修修改改,此处省略一小时.... 做不出来....好难受 星期天,无聊,做个题.. 突然,不对啊 这个题实际上不就是我当前打还是不打的一个选…

Monarch Mixer:一种性能比Transformer更强的网络架构

六年前,谷歌团队在arXiv上发表了革命性的论文《Attention is all you need》。作为一种优势的机器学习网络架构,Transformer技术迅速席卷全球。Transformer一直是现代基础模型背后的主力架构,并且在不同的应用程序中取得了令人印象深刻的成功…

OCS2工具箱

实时系统优化控制工具箱 参考视频:ETH 最优控制/MPC 实时求解器 OCS2 使用入门 参考文档:OCS2 求解器入门 选择OCS2 OCS2 是一个 MPC 实时求解器 (SLQ/iLQR),依赖 Pinocchio 构建机器人动力学模型,采用 RViz 或者 RaiSim 验证 (…

[LeetCode] 2.两数相加

一、题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个…

react native引用原生组件时无法显示的问题处理

最近有个需求,要在react native中嵌入一个原生的视频组件,同事嵌入后发现有问题: 内容无法显示 https://musicfe.com/rn-android-webview 参考这个方法,在嵌入之后调用一下。 public void manuallyLayoutChildren(View view) {int width v…

【前端笔记】ant-design-vue 3.x使用modal.method()自定义content内容小记

在一次编写业务代码时,碰到了一种既想要Modal.success样式,有想要定制其content内容的情况。 大部分情况下,使用Modal.method()这种方式时,可能content内容固定都是字符串,那如果想要做更高级的交互怎么办&#xff1f…

1.计算机系统概述

目录 一. 计算机的发展 二. 计算机硬件的基本组成 三. 各个硬件的工作原理 (1)主存储器 (2)运算器 (3)控制器 (4)一个例子 四. 计算机系统的层次结构 五. 计算机的性能指标…

【Mysql】Mysql中表连接的原理

连接简介 在实际工作中,我们需要查询的数据很可能不是放在一张表中,而是需要同时从多张表中获取。下面我们以简单的两张表为例来进行说明。 连接的本质 为方便测试说明,,先创建两个简单的表并给它们填充一点数据: …

Redis Functions 介绍(二)

首先,让我们先回顾一下上一篇讲的在Redis Functions中关于将key的名字作为参数和非key名字作为参数的区别,先看下面的例子 首先,我们先在一个Lua脚本文件mylib.lua中定义如下的库和函数 //--------------------mylib.lua 文件开始 --------…

SpringBoot项目从resources目录读取文件

SpringBoot 从 resources 读取文件 使用 Spring 给我们提供的工具类来进行读取 File file org.springframework.util.ResourceUtils.getFile("classpath:人物模板.docx");可能读取失败,出现如下错误: java.io.FileNotFoundException: clas…

C语言实现九九乘法表

学习C语言后&#xff0c;我们会发现打印九九乘法表是很简单的&#xff0c;话不多说&#xff0c;我们上代码&#xff01; 目录 1.函数代码 2.运行结果 1.函数代码 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() {int i 1;int j 1;int n 0;//行数in…

Instant-NGP论文笔记

文章目录 论文笔记 论文笔记 instant-ngp的nerf模型与vanilla nerf的模型架构相同。 instant-ngp的nerf模型包含两个MLP&#xff0c;第一个MLP就两个全连接&#xff0c;输入维度是32&#xff08;16层分辨率x2&#xff09;&#xff0c;输出是16&#xff08;用于预测密度&#x…

【LeetCode每日一题合集】2023.9.18-2023.9.24(⭐拓扑排序⭐设计数据结构:LRU缓存实现 LinkedHashMap⭐)

文章目录 337. 打家劫舍 III&#xff08;树形DP&#xff09;2560. 打家劫舍 IV&#xff08;二分查找动态规划&#xff09;LCP 06. 拿硬币&#xff08;简单贪心模拟&#xff09;2603. 收集树中金币⭐思路——拓扑排序删边 2591. 将钱分给最多的儿童&#xff08;分类讨论&#xf…

记一次pdjs时安装glob出现,npm ERR! code ETARGET和npm ERR! code ELIFECYCLE

如往常一样&#xff0c;我使用pdjs来编译proto文件&#xff0c;但出现了以下报错&#xff1a; 大致就是pdjs的util在尝试执行npm install glob^7.2.1 escodegen^1.13.0时出错了 尝试手动执行安装&#xff0c;escodegen被正确安装&#xff0c;但glob^7.2.1出错 npm ERR! code E…

Redis那些事儿(三)

文章目录 1. 前言2. 常用api介绍3. 需求假设&#xff08;获取离我最近的停车场&#xff09;4. 代码示例 1. 前言 接着上一篇Redis那些事儿&#xff08;二&#xff09; &#xff0c;这一篇主要介绍Redis基于Geo数据结构实现的地理服务&#xff0c;它提供了一种方便的方式来存储和…

库房管理软件采购申请流程代码实现解析

300rmb掏了个javavue2的小系统&#xff0c;学习代码&#xff0c;调整下申请流程。 原有的入库流程是&#xff0c;库管&#xff08;admin&#xff09;提出采购申请给采购员&#xff08;caigou&#xff09;&#xff0c;采购员采购入库时点击入库完成采购入库流程。 想弄清后端代…

非关系型数据库Redis的安装【Linux】及常用命令

前言 Redis&#xff08;Remote Dictionary Server&#xff09;是一种开源的内存数据库管理系统&#xff0c;它以键值存储方式来存储数据&#xff0c;并且支持多种数据结构&#xff0c;如字符串、哈希、列表、集合、有序集合等。Redis最初由Salvatore Sanfilippo开发&#xff0c…

数据分析实战 | 关联规则分析——购物车分析

目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据预处理 七、生成频繁项集 八、计算关联度 九、可视化 一、数据及分析对象 数据集链接&#xff1a;Online Retail.xlsx 该数据集记录了2010年12月01日至2011年12月09日…

Docker 修改镜像的Digests值

最近工作中遇到个事情&#xff0c;我在本地虚拟机导出的镜像&#xff0c;导入到服务器发现镜像的digests是<none>&#xff0c;网上找了半天发现没有相关的解决方案&#xff0c;服务器上的源码是通过镜像的hash值拉取镜像没有Tag&#xff0c;镜像digests为<none>很痛…

21. 合并两个有序链表

Problem: 21. 合并两个有序链表 文章目录 思路1 递归实现2 迭代实现 Code 思路 方法1 递归实现 方法2 迭代实现 1 递归实现 分析问题 对于本题&#xff0c;合并两个有序链表A和B&#xff0c;mergeTwoLists&#xff08;A,B&#xff09;&#xff0c;递归只需要关注本层我要干什么…