提高软件缺陷探测率的5个重点

news2024/12/23 18:40:12

        缺陷对软件项目的影响不言而喻,如果不重视缺陷的探测率和移除率,往往会对软件产品产生不可估量的破坏性影响,直接影响项目进度甚至项目交付。

        因此我们需要高效提高软件缺陷探测率,一般来说有以下5个方面需要重点关注:

        1、80/20法则

        80/20法则,揭示了80%的成果源自仅仅20%的行动,体现了投入与产出不平衡的“普遍真理”。

        而80/20法则适用于软件测试情景是:

        80%的软件缺陷存在于20%的软件代码中(软件缺陷的“群集”现象);

        80%的软件缺陷归因于20%的软件缺陷原因(软件缺陷的“群集”现象);

80/20法则
80/20法则

        在分析、设计、实现阶段的复审和测试工作只能够发现和避免80%的软件缺陷,而系统测试也只能找出其余Bug中的80%;

        程序中存在错误的概率与该程序中已发现的错误数成比例。因此我们需关注测试中的群集现象,关注发现缺陷较多的代码,有利于我们有针对性发现缺陷,做到事半功倍。

        2、不同角度全面测试

        我们可以通过不同角度进行全面测试,从而快速提高软件缺陷探测率。

        从管理层角度,了解被测产品在众多产品中的优先级,做到软件测试的有效性,确保软件缺陷有效性。

        从开发人员角度,获知开发人员认为软件产品中那些模块开发难度大,缺乏信心,从而快速定位我们的测试重点。

        从最终客户角度,尽可能从他们的使用习惯和可能的问题出发,也就是用户体验出发,找出尽可能多的软件缺陷。

不同角度全面测试
不同角度全面测试

        3、熟悉并测试整个业务流程

        在测试的过程中最好是能自己执行测试完一个整个业务流程,并尽快熟悉软件业务。从软件核心业务角度,由核心业务为重点,向业务中涉及的功能点辐射,从局部到全局,再从全局到局部。

        比如一个软件产品的某个模块功能:“点击商品—收藏商品—加入购物车—订单结算—付款—消费二维码—消费—二维码失效”,需要执行测试完整个业务流程。

熟悉业务流程
熟悉业务流程

​        4、保持怀疑心态

        在测试中,我们需要保持怀疑心态,抱着怀疑的眼光去验证,怀疑软件中一切可能存在影响软件操作的行为。

        我们需有逆推心理,越是不可能有缺陷的地方,越有可能有缺陷。一个水平很高的程序员编写的程序,不要有“他写的这个程序应该没有问题吧”这种想法,因为这样会导致疏忽遗漏软件中的一些潜藏的Bug。

怀疑心态
怀疑心态

​        5、充分使用工具提高效率

        为了提高测试效率,CoCode开发云使用AI,将用户需求一键自动生成正向反向多维度测试用例,提高用例覆盖度,保障测试质量,减轻测试人员工作量,提高20%-30%工作效率。

CoCode开发云 自动生成测试用例
CoCode开发云 自动生成测试用例

        而CoCode开发云需求管理,通过需求条目化自动分解子需求功能,将用户需求一键自动生成标准用户故事,并自动导入需求。需求分析工具使用AI,通过需求测试和一致性检测,能够在几分钟内快速分析用户需求缺陷,如歧义、重复、遗漏、不一致和复杂性等问题,精准锁定需求问题,从而更高效地修改缺陷,提高用户需求质量。

CoCode需求条目化
CoCode需求条目化

​        CoCode评审分析工具,使用AI,通过缺陷移除率评估评审效果,尽早发现所有缺陷,降低返工成本和时间,节省17-20%的开发成本。

CoCode评审分析工具
CoCode评审分析工具

        目前CoCode发布一系列AI开发工具:Co-Project智能项目管理工具(需求条目化、自动分解子需求、自动生成测试用例)、需求分析工具、评审分析工具、故事点估算工具。其中Co-Project项目管理平台发布4大版本,30天免费试用;并发布一系列CMMI高效落地工具,实现CMMI标准过程全覆盖,全面支持CMMI3-5级落地。

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

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

相关文章

Linux--线程地址空间

1.程序地址空间 先来就看这张图 这是一张程序地址分布的图,通过一段代码来证明地址空间的分布情况 编译结果: 可以看出的是,父子进程中对于同一个变量打印的地址是一样的,这是因为子进程以父进程为模板,因为都没有对数…

深度丨Serverless + AIGC,一场围绕加速创新的升维布局

作者:褚杏娟 上图来源于基于函数计算部署 SD实现光影效果 前言: Serverless 在中国发展这些年,经历了高潮、低谷、现在重新回到大众视野。很多企业都非常感兴趣,部分企业开始大规模应用;也有一些企业对在生产环境真正…

VGG的结构:视觉几何组(Visual Geometry Group)

目录 1. VGG 的结构 2. VGG 的网络细节 3. VGG 的代码实现 1. VGG 的结构 牛津大学的视觉几何组(Visual Geometry Group)设计了 VGGNet(也称为 VGG),一种经典的卷积神经网络 (CNN) 架构。在 2014 年 ILSVRC 分类任务中,VGG 取…

回归分析扫盲:为什么非线性模型不能直接用最优子集选择法

最近有人给我发了篇文章: 一个问题有一堆变量,我们要选取哪些变量来建模呢?我们来看看这篇文章是怎么做的: 这个方法简单来说就是:对于这一堆变量,我们每次尝试剔除其中一个变量,然后用剩下的变…

字节流概述,及字节流写数据的三种方式

1.IO流概述和分类 如果数据通过记事本打开,我们还可以读懂里面的内容就使用字符流,否则使用字节流。如果不知道使用哪种类型的流,就使用字节流。 2.字节流写数据 创建字节输出流的时候,一共做了三件事情。 调用系统功能创建了文…

Goland 配置go modules 环境变量

我的配置,仅供参考: GOPROXYhttps://goproxy.cn,direct;GO111MODULEon;GOSUMDBoff;GONOSUMDB*

spring整合mybatis教程(详细易懂)

一、引言 1、Spring整合MyBatis的目的是? 将两个框架结合起来,以实现更好的开发体验和效果。Spring提供了一种轻量级的容器和依赖注入的机制,可以简化应用程序的配置和管理。而MyBatis是一个优秀的持久层框架,可以方便地进行数据…

Mysql join加多条件与where的区别

最近在项目中遇到一个问题,感觉有点意思,在解决问题及查阅了相关资料后,打算写篇文章给朋友们分享一下。 问题现象: 问题是很常见的空指针问题,后端查询数据库数据,遍历进行相关业务处理时报空指针。通过…

stm32单片机实现电机的PID控制

PID控制应该算是非常古老而且应用非常广泛的控制算法了,小到热水壶温度控制,大到控制无人机的飞行姿态和飞行速度等等。在电机控制中,PID算法用得尤为常见。 一、位置式PID 1.计算公式 在电机控制中,我们给电机输出的是一个PWM占…

分布式计算框架:Spark、Dask、Ray

目录 什么是分布式计算 分布式计算哪家强:Spark、Dask、Ray 2 选择正确的框架 2.1 Spark 2.2 Dask 2.3 Ray 什么是分布式计算 分布式计算是一种计算方法,和集中式计算是相对的。 随着计算技术的发展,有些应用需要非常巨大的计算能力才…

Boost电路实战详解!(高效率同步整流,PID闭环追踪)

文章目录 寄语什么是BOOST电路BOOST同步升压电路设计要求设计方案驱动电路电压采样电路 总体电路代码实物图总结 寄语 提示:若想实战演练,请先熟悉文章操作流程哦,不然会有危险!! 我建了一个群,分享我个人…

【业务功能篇82】微服务SpringCloud-ElasticSearch-Kibanan-docke安装-进阶实战

四、ElasticSearch进阶 https://www.elastic.co/guide/en/elasticsearch/reference/7.4/getting-started-search.html 1.ES中的检索方式 在ElasticSearch中支持两种检索方式 通过使用REST request URL 发送检索参数(uri检索参数)通过使用 REST request body 来发送检索参数…

人力资源小程序的设计与开发步骤

在当前信息化时代,小程序成为了各行各业提升用户体验和服务效率的重要渠道。人力资源部门也可以通过定制开发人力资源小程序来提升招聘、培训、员工福利等方面的工作效率。接下来,我们将介绍人力资源小程序定制系统开发的具体流程。 首先,我们…

章节 1:入门React.js -《React.js手把手教程:从初学者到实战高手》- 第一部分:React.js基础

《React.js手把手教程:从初学者到实战高手》 第一部分:React.js基础 章节 1:入门React.js 了解React.js 在我们开始探索React.js的奇妙世界之前,让我们先来认识一下这个“人人都在谈论”的家伙。你可以把React.js想象成是一个全…

【校招VIP】产品思维分析之面试新的功能点设计

考点介绍: 这种题型是面试里出现频度最高,也是难度最大的一种,需要面试者对产品本身的功能、扩展性以及行业都有一定的了解。而且分析时间较短,需要一定的产品能力和回答技巧。 『产品思维分析之面试新的功能点设计』相关题目及解…

既简单又高效,一款新型软件开发利器来了,让编程门槛不再是障碍

软件开发现在已经成为各行各业不可或缺的一部分。 无论是大型企业还是小型团队,都需要依赖软件来提高工作效率、优化用户体验,甚至是推动业务的发展。然而,对于非专业程序员来说,开发一款自己的软件似乎是一项遥不可及的任务。 幸…

idea建立java maven javaweb项目,建立maven基本项目

1.创建maven项目 2.在src/main 目录下建立webapp/WEB-INF/web.xml文件 src/main/webapp/WEB-INF/web.xml <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi"http://www.w…

Java轻松开发自定义注解

注解开发 元注解 Target(ElementType) 修饰的这个注解的使用范围&#xff0c;即被描述的注解可以用在哪里。 Target(ElementType.TYPE)——接口、类、枚举、注解 Target(ElementType.FIELD)——字段、枚举的常量 Target(ElementType.METHOD)——方法 Target(ElementT…

antd5:图片上传接口参数

使用场景&#xff0c;后端给了一个上传文件的接口/api/file/upload,方法类型为post,参数为{file: binary,type:string}. 上传文件需要设置请求头content-type. 项目使用的是umi4antd5 请求拦截便在app.ts文件写。 export const request: RequestConfig {baseURL: /api,time…

【MTK平台】根据kernel log分析wifi 打开的时候流程

一 概要: 本文主要讲解根据kernel log分析下 当前路径下(vendor/mediatek/kernel_modules/connectivity/wlan/core/gen4m/)wifi打开的时候代码流程 二. Log分析: 先看Log 2.1)在Framework层WifiManager.java 方法中,做了一个标记,可以精准的确认时间 这段log可以看出…