软件测试自动化的成本效益分析

随着软件测试技术的发展,人们已经从最初的手工测试转变为手工和自动化技术相结合的测试方法。目前,人们更多的是关心自动化测试框架、自动化测试工具以及脚本研究等技术方面,而在软件自动化测试方案的效益分析方面涉及较少。

软件测试的目的是提高软件质量,避免软件缺陷导致的损失。与其他软件过程活动一样,测试也需要投入人力和资金成本。因此,需要对软件测试进行成本效益分析,判断测试活动是否带来正向收益。

自动化测试需要考虑的因素

因此,为了更好的管理测试行为,我们往往要判断自动化测试有没有提高测试的效率,是否提升了整体的效益。和人工测试相比,虽然自动化测试有很多优势,但是不能期望通过自动化测试来取代手工测试。在选择自动化测试的时候需要考虑以下几个方面的因素:

1.项目的类型及周期:对一次性项目或者开发周期很短的项目,就不值得花精力去投资自动化测试好不容易建立起的测试脚本.不能得到重用是不现实的。

2.复杂度:自动化是否容易实现包括数据和其他环境的影响。

3.项目是否有延续性:有延续性的以后会有很多能复用的地方.适合做自动化测试:没有延续性的,可能就不是很适合。

4.项目的开发模式和开发计划:需要有很多次的重复测试的.适合作自动化测试:测试重复次数不多的,则不适合用自动化测试。

5.维护工作量:代码是否能长期保持相对稳定?功能特性是否会进化。

6.覆盖率:自动化测试能否覆盖程序的关键特性和功能?

7.自动化测试的执行:负责执行自动化测试的小组是否拥有足够的技能和时间去运行自动化测试?

自动化测试的最大价值就在于每次测试运行时的低成本

自动化测试的经济成本通常可以描述为固定成本和可变成本。

固定成本主要指软硬件成本包括:硬件、应用软件的许可证、应用软件的技术支持、自动化测试环境的设计和搭建、脚本开发工具软件、脚本开发工具的许可证、测试工具的培训、测试工具的引入和启动等。固定成本不受自动化测试的成果数量和运行次数的影响。可变成本主要包括测试准备成本、创建自动化测试的成本、执行自动化测试的成本、维护自动化测试的成本和测试报告生成成本。这些因素中,创建自动化测试的成本、执行自动化测试的成本、维护自动化测试的成本对测试成本的计算起着较大作用。

几种常用的软件测试成本效益分析方法

ROI分析法

ROI全称Return on Investment,即投资回报率。其计算公式为:(预期收益 - 测试成本)/测试成本。如果ROI大于0,说明测试活动带来收益;如果小于0,说明测试成本大于收益。该方法简单直接,适合初步分析测试价值。

质量损失函数法

该方法将质量成本分为合格品质成本和不合格品质成本。测试活动属于提高合格品质的成本,而软件缺陷导致的损失属于不合格品质成本。投入适当测试成本可以降低缺陷损失,达到最小总质量成本。

预防成本与失败成本比

预防成本是指为提高质量所投入的成本,测试成本属于其中;失败成本是软件缺陷造成的损失。通常,预防成本占全部质量成本的10-20%可以带来80%的质量提高。

测试覆盖率与缺陷相关法

评估测试对需求的覆盖完整性和通过测试发现的缺陷数目,来判断测试的价值。测试覆盖率越高,发现缺陷数越多,说明测试活动价值越大。

风险评估法

评估测试可以降低的风险值,如业务风险、法律风险等。测试带来的风险减少可视为收益。

所以,软件测试的成本效益分析需要量化收益和成本,选择适当方法进行全面分析,以判断软件测试的投资价值。

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

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

相关文章

ElasticSearch(二)

1.DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1.1.DSL查询分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,…

钢轨长度及允许偏差

声明 本文是学习GB-T 2585-2021 铁路用热轧钢轨. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了铁路用钢轨的订货内容、分类、尺寸、外形、质量及允许偏差、技术要求、试验方法、检 验规则、标志及质量证明书。 本标准适用于3…

MySQL ——多表连接查询

一、(左、右和全)连接概念 内连接: 假设A和B表进行连接,使用内连接的话,凡是A表和B表能够匹配上的记录查询出来。A和B两张表没有主付之分,两张表是平等的。 关键字:inner join on 语句&#xf…

css实现Chrome标签栏

如图这是一个特殊的带有圆角的导航栏&#xff0c;实现这种效果并不难 这是我实现的效果&#xff1a; 淡一点的就是鼠标悬停的样式 以下是代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><m…

分类预测 | MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测

分类预测 | MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测 目录 分类预测 | MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结…

使用 PyTorch 的计算机视觉简介 (3/6)

一、说明 在本单元中&#xff0c;我们将了解卷积神经网络&#xff08;CNN&#xff09;&#xff0c;它是专门为计算机视觉设计的。 卷积层允许我们从图像中提取某些图像模式&#xff0c;以便最终分类器基于这些特征。 二、卷积神经网络 计算机视觉不同于通用分类&#xff0c;因…

echarts 地图 visualMap 图例点击事件监听

一、切换位置 二、切换监听 // 切换事件监听 this.myChart.off(datarangeselected); // 为了不触发两次 this.myChart.on(datarangeselected,(e) > {// visualMap change });// 配置如下 visualMap: {type: piecewise,showLabel: true,inverse: true,pieces: [{value: 1,…

为什么大力推行国密算法SSL证书

国密算法SSL证书是一种采用我国自主研发的SM2公钥算法体系&#xff0c;支持SM2、SM3、SM4等国产密码算法及国密SSL安全协议的数字证书。相比于普通SSL证书&#xff0c;国密SSL证书具有以下特点&#xff1a; 自主可控&#xff1a;国密SSL证书采用我国自主研发的SM2公钥算法体系&…

STM32实现PMBus从机程序

最近在野火的STM32F103VET6开发板上实现PMBus从机程序&#xff0c;这个程序参考了以下这篇博客的关于使用中断法实现I2C从机程序&#xff1a;STM32设置为I2C从机模式_iic从机_柒壹漆的博客-CSDN博客 &#xff0c;实测这个程序是可以正常运行的&#xff0c;感谢博主的分享&#…

MySQL 5与MySQL 8版本差异及MySQL 8的新功能

MySQL 5与MySQL 8版本差异及MySQL 8的新功能 在数据库管理系统中&#xff0c;MySQL是一个广泛使用、开源的解决方案。它提供了强大的功能&#xff0c;同时具有优秀的性能和可扩展性。到目前为止&#xff0c;MySQL经历了两个重要的版本升级&#xff0c;从MySQL 5到MySQL 8。这两…

对标8155体验,降本20%以上!这家企业用“量产”证明

智能座舱逐渐成为智能汽车标配。 根据高工智能汽车研究院监测的数据显示&#xff0c;2022年中国市场&#xff08;不含进出口&#xff09;乘用车搭载智能数字座舱&#xff08;大屏语音车联网OTA&#xff09;前装标配交付795.05万辆&#xff0c;同比增长40.59%&#xff0c;前装搭…

Python 笔记02 (网络交互 TCP/UDP)

一 socket网络及差别介绍 TCP&#xff08;传输控制协议&#xff09;和UDP&#xff08;用户数据报协议&#xff09;是两种常见的互联网传输协议&#xff0c;它们之间有很多区别&#xff0c;包括以下几个主要方面&#xff1a; 1.1 TCP TCP是传输控制协议&#xff0c;是面向连接…

解决docker容器无法关闭的问题

一般正常关闭&#xff1a; docker stop 容器ID解决方法 方法1&#xff1a;强制停止docker kill 容器ID方法2&#xff1a;直接重启dockersudo service docker stop方法3&#xff1a;直接删除容器&#xff0c;重新创建docker rm -f my_container

[python 刷题] 84 Largest Rectangle in Histogram

[python 刷题] 84 Largest Rectangle in Histogram 题目&#xff1a; Given an array of integers heights representing the histogram’s bar height where the width of each bar is 1, return the area of the largest rectangle in the histogram. 这题也是一个典型的 mo…

微调大型语言模型(一):为什么要微调(Why finetune)?

今天我们来学习Deeplearning.ai的在线课程 微调大型语言模型(一)的第一课&#xff1a;为什么要微调(Why finetune)。 我们知道像GPT-3.5这样的大型语言模型(LLM)它所学到的知识截止到2021年9月&#xff0c;那么如果我们向ChatGPT询问2022年以后发生的事情&#xff0c;它可能会…

diff算法面试题

面试题&#xff1a;请阐述vue的diff算法 参考回答&#xff1a; 当组件创建和更新时&#xff0c;vue均会执行内部的update函数&#xff0c;该函数使用render函数生成的虚拟dom树&#xff0c;将新旧两树进行对比&#xff0c;找到差异点&#xff0c;最终更新到真实dom 对比差异的过…

轻松上手Docker:学习如何创建和运行自己的Docker容器

文章目录 轻松上手Docker&#xff1a;学习如何创建和运行自己的Docker容器容器的介绍Docker的技术架构容器的工作机制&#xff08;Docker&#xff09;容器的关键技术 - NamespaceNamespace隔离说明 容器的关键技术 - CgroupDocker环境搭建1&#xff09;安装基础软件包2&#xf…

【0222】存储管理器smgr设计机制,及SMgrRelation、SMgrRelationData的作用(1)

1. 概述 在【0000】PostgreSQL源码剖析教程专栏总目录(2023.09.06更新) 一文的“3.4 VFD机制”章节中,详细讲解了PG内核中VFD(虚拟文件描述符)的实现原理。 本文开始,将来讲解PG内核中另外一个非常重要的知识点,即PG内核的存储管理器 ----- 磁盘介质管理器(SMGR)。 这…

python安全工具开发笔记(四)——python网络编程

一、C/S架构 什么是C/S架构 C : Client S : Server。客户机和服务器结构。 Server 唯一的目的就是等待Client 的请求&#xff0c;Client 连上 Server 发送必要的数据&#xff0c;然后等待Server端完成请求的反馈。 C/S网络编程 Server端进行设置&#xff0c;首先创建一个通信…

【深度学习】实验17 使用GAN生成手写数字样本

文章目录 使用GAN生成手写数字样本附&#xff1a;系列文章 使用GAN生成手写数字样本 生成对抗网络 GAN&#xff08;Generative Adversarial Networks&#xff09;生成对抗网络是一种深度学习模型架构&#xff0c;由深度生成网络&#xff08;Generator&#xff09;和深度鉴别网…