首页 > 其他分享 >软件测试自动化的成本效益分析

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

时间:2023-09-28 14:46:06浏览次数:32  
标签:效益 测试 自动化 测试工具 成本 软件测试

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ROI分析法

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

质量损失函数法

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

预防成本与失败成本比

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

测试覆盖率与缺陷相关法

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

风险评估法

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

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

标签:效益,测试,自动化,测试工具,成本,软件测试
From: https://www.cnblogs.com/dragontesting/p/17735753.html

相关文章

  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-17-处理鼠标悬停
    1.简介有些测试场景或者事件,playwright根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作。比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某一个元素上方,然后会出现下拉子菜单,第二种就是在搜索输入过程,选择自动补全的字段。关......
  • 第三方软件检测机构做验收测试靠谱吗?软件测试报告收费标准
    ​验收测试报告的费用一、第三方软件检测机构做验收测试靠谱吗?具备CMA或者CNAS资质的第三方检测机构就是靠谱的测试机构,但还是有一些项目做下来多多少少有一些问题,这个需要在选定机构之前多一点了解和沟通,从机构的各种流程要求,和人员交流是否顺畅来决定。二、软件测试报告收......
  • 软件测试 - - - 测试数据库mysql
    连接数据库,navicat连接数据库   多使用软件。而不只是记载记笔记。去使用软件。去使用navicat。软件测试 --- 测试数据库dbeaverUltimate有免费的社区版本workbench这是官方做的软件。navicat需要收费,如果破解,大公司会受到律师函。 输入URL,连接数据库,host主机......
  • 接口自动化--postman(3)高级用法,全局变量和环境变量
    Postman提供了GUI界面的变量管理窗口,可以管理全局变量和环境变量全局变量:整个Postman都能使用的变量环境变量:选中环境后,才会全局生效的变量,叫做环境变量环境变量作用:可以通过变量进行参数化,方便集中管理测试数据;同时环境变量还可以起到快速切换环境的作用。Postman界面......
  • 玩转 CODING 自动化助手,助力高效研发!
    点击链接了解详情在日常工作中,您是否会遇到下面的情况:作为研发人员,从需求拆分出来的开发子任务完成时,还要手动修改需求为完成状态,不仅耗时还容易遗漏;作为产品经理,每天都要关注需求/任务的进展,就怕错过deadline没发现也没人通知;作为项目经理,需求/任务拆分之后,缺少各......
  • 接口自动化--postman(3)高级用法,断言详解
    postman断言的流程①在postman的tests页签中截取要对比的响应信息;②利用断言语句tests[]或chai.js形式把实际响应信息与期望结果对比;③执行请求进行结果查看;二、Postman断言的语法1、语法一:tests[‘测试用例名称’]=逻辑表达式; ......
  • Selenium进阶——解决web 自动化中上传文件的问题
    在做ui自动化测试中,经常会遇到上传文件或者图片的场景,通常的解决方案是自动化工具+autoIT,在这里我介绍一种通过jdk自带api——java.awt.Robot来解决类似问题的方法。java.awt.Robot类主要用于模拟用户点击键盘上的按键,或者模拟用户敲击鼠标等动作。在做web测试时,弹出窗口如下图所......
  • 自动化测试中自定义断言的实现方法
    断言定义熟悉单元测试的同学都知道在测试用例中,执行完测试用例后,通过断言(assert)判断测试结果是pass还是fail。不同的单元测试框架都提供了断言机制,我们这里以python为例进行说明。Python中的断言类型丰富,最常用的是基础断言和集合断言。基础断言包括的核心方法如下所示,主要功能是对......
  • 接口自动化--postman(2)高级用法
    Postman管理测试用例Postman可以使用自带的用例集管理测试用例(Collection)Collection:类似于一个文件系统,可以添加文件、子文件、请求等等,它是Postman内部的模拟的文件系统,不是真的文件系统第一步:添加用例集第二步:用例集下添加子文件夹第三步:添加请求如果有多个接口或者接口......
  • 五分钟理解什么是自动化测试架构设计
    自动化测试常见的问题如下:1)产品UI经常变化,导致测试脚本不能复用。(2)测试脚本不够健壮,导致脚本回放时,测试脚本本身经常出错。(3)网络延迟,数据加载延迟造成测试脚本失败。(4)识别对象的ID可读性差,导致测试脚本的可读性差。(5)录制的测试代码过于庞大而且应变性差,导致测试脚本的复用......