热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

怎么减少测试成本

目录优化测试成本尽早测试重视文档基于风险的测试采用生产环境信息优化自动化成本优先API而不是UI进行自动化迁移到开源工具优化基础架构和工具成本查看许可和订阅查

目录

优化测试成本

尽早测试

重视文档

基于风险的测试

采用生产环境信息

优化自动化成本

优先API而不是UI进行自动化

迁移到开源工具

优化基础架构和工具成本

查看许可和订阅

查看云中虚拟机的使用

优化培训成本

鼓励内部知识共享

考虑在线培训平台

优化流程成本

如果需要,外包软件测试




怎么减少软件测试成本

本文分享一些降低软件测试成本的方法,利用这些方法可以取得了不错的效果。


优化测试成本


尽早测试

就像对早期发现疾病进行测试很重要一样,在小问题(错误)开始发展成更大(且昂贵)的问题之前,对软件进行早期测试也很重要。通过应用左移测试方法,由于可以跟踪测试人员的学习曲线,从而提高了测试效率。提早提出问题,有助于改善质量并减少总体工作量。


重视文档

注意记录了多少测试(需求以及其他内容),请保持良好的文档详细程度平衡。更多的文档资料可帮助人们更快地学习,有助于澄清问题,并能以明确的方式讨论问题。另一方面,它使过程变得不太灵活,增加了维护成本,以使文档不断更新以适应不断变化的需求。力求找到合适的平衡点。


基于风险的测试

发现并重点考虑风险,它由两个因素组成:某件事发生的可能性和可能产生的(负面)业务影响的程度。基于风险的测试都是关于确定优先级,确定优先级和确定优先级的。应用二八原理,可以降低80%风险的20%的测试用例是什么?

                     


采用生产环境信息

虽然这是势在必行,这也是非常重要的移位测试。这种方法旨在避免让用户成为唯一在生产中测试软件的人!

例如,如果想了解网站上哪些区域的访问量最大(因此应进行更严格的测试),那么它便是真正的用户行为有用信息的一种来源。您还可以检查用户访问数据分析结果,以了解大多数用户从何种设备,操作系统版本或浏览器访问服务,从而可以在测试中模拟这些行为。

获取生产信息的另一个示例是在性能监视工具中进行调查或者采取第三方工具,以了解代码中的每组更改如何影响性能。


优化自动化成本


优先API而不是UI进行自动化

尽管所有自动化都需要初始投资,但如果明智地运用测试自动化,仍可以减少投入成本并提供巨大的投资回报。

测试团队应考虑应用程序的不同层,决定在哪个级别上将投入更多精力进行自动化。对于测试人员,可以在UI级别或API级别实现自动化(unit暂时不考虑)。

一种可能的策略是从要使用最常用数据在UI级别上测试的功能或用户故事的主要流程自动化开始。然后分析在该流程中调用了哪些端。在API级别为每个端点添加自动化测试,并使用不同的测试数据扩大覆盖范围,进行有趣的组合。这些测试运行起来更快,更强大(维护更少)并且运行更快。


迁移到开源工具

如果测试团队使用商业软件,则要支付昂贵的工具许可证,则可以考虑使用开源许可证。开源测试工具提供了高度的灵活性,并且已经达到了成熟的水平,如今这些工具对它们有更多的信心。

随着开源社区的显着扩展,成千上万的贡献者正在与全世界共享其附加组件和解决方案,从而使每个人的生活变得更加轻松。

例如,如果今天有LoadRunner进行性能测试,则可以轻松迁移到JMeter,从金钱的角度来看,这会节省很多成本。

需要注意的重要一点是,在许多情况下,这确实意味着将您在一个工具中设置的内容迁移到另一个工具上的大量初始投资,但是从长远来看,这将节省成本。

                          


优化基础架构和工具成本


查看许可和订阅

在预算充裕的时期,我们不太关心投资的极限回报率,尤其是小型投资。如果看到一个工具,一个会员资格,对一项服务或知识付费的订阅,然后您就加入了,没有问题。当处于危机中时,有必要审查并削减不必要的内容。

工具在这里很重要。分析购买的工具的实际用途,并可能进行调整以更好地满足实际的需求。例如,检查您日常使用的功能以及不使用的功能,看看是否有一种较便宜的计划可以满足所需的大多数功能。


查看云中虚拟机的使用

很多团队拥有正在使用的基于云的虚拟机,并且可以通过某种方式(具有两个很少使用的系统的单个实例等)进行优化,或者关闭每月只使用几次的服务,例如镜像备份,多节点冗余备份等。


优化培训成本


鼓励内部知识共享

很多公司都非常注意如何培训自己的测试人员,这是团队管理的重要组成部分,因为公司努力帮助测试人员(尤其是初级测试人员)成长(因为高级测试职位可能很难胜任)会得到更多回报。很多公司并除了注重内部培训意外,还会倾向于邀请其他公司或者培训机构的讲师来进行现场演讲和教学,还可以提供资金支持成员在各类学习网站学习所需技能。

当涉及外部供应商提供的培训和研讨会时,通常团队只关注特定的主题,并且主要是针对公司中担任高级职务的那些人。原因是我们的技术领导者和高级测试人员将有最大的机会充分利用这些培训,然后他们可以将所学的知识传播给其他人。

在同样的想法下,我们相信初级测试工程师可以从团队的其他成员中学到很多东西。这不仅可以帮助我们减少外部培训的成本,还可以使高级测试工程师发展其他重要技能,例如沟通,领导才能,公开演讲等。


考虑在线培训平台

正如前面提到的,有些公司会根据自己的情况定制一些在线课程,或者提供金钱和时间支持成员在在线学习平台上找到自己需要学习的技能的课程,这是一个非常不错的实践。


优化流程成本

最后重要的一点是,流程效率低下会导致浪费时间和金钱。因此,以下是一些可以改善流程的方法:


  • 分析开发过程中产生等待周期或瓶颈,依赖关系,不必要重复工作等的部分。
  • 分析沟通渠道和可能发生的问题(总是存在沟通问题),以找到改进和澄清,避免无用功、错误等的方法。
  • 采取敏捷方法。这意味着避免在没有反馈的情况下规划大型开发周期。旨在进行短时间的迭代,并经常与用户或客户检查是否满足期望。在每次迭代中分析团队的工作状况,旨在进行回顾性分析,以便将来进行改进。
  • 对重复发生的错误进行根本原因分析,不仅要致力于解决这些问题,而且要了解其背后的原因,以免将来发生。

如果需要,外包软件测试

对于需要将注意力集中在核心竞争力上的公司而言,外包是理想的选择。如果当前的团队在测试工作上不是很成熟,或者软件质量计划和决策没有达到预期的结果,那么寻求外部帮助而不是延长使用效率低下和无效的过程所花费的时间可能是明智的。

如果内部没有足够的资源或技能,与直接雇用人员相比,这可能是一个更好的选择,因为可以节省间接费用,外包合作伙伴将随时准备就绪,并能够灵活,无缝地进行升级或降级。此外,当整个公司不仅可以从外包中提取附加值,还可以从他们提供专业知识给内部测试人员受益。

最后,外包测试可以帮助维持业务测试连续性。当公司内部雇用某人离开公司时,或者如果他们是唯一负责测试的人并且他们休假,则团队某项工作将会面临真空期。当找到其他人担任该职位时,公司又必须重新进入整个培训过程。通过外包,服务提供商将准备好其他几名团队成员,并在需要时可以随时进行填补,并将提供培训和培训不同的测试人员的工作。

 


 


推荐阅读
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
author-avatar
小太郎在路上_439
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有