【引用】批量虚拟打印的顺序优化-看VA之“后厨”

2024-02-14 06:58

本文主要是介绍【引用】批量虚拟打印的顺序优化-看VA之“后厨”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

VA 虚拟应用管理平台的智能虚拟打印是本软件的核心功能之一,能够实现对服务器资源的远程多样化打印(打印方式、打印机类型、打印效率等)。
  
  近日有客户反应在大量打印情况下,偶尔会出现“打印串序”,一个用户多个打印任务紧密进行时(典型如票据打印),先打印的任务比后打印的任务到达打印机要迟,破坏了打印的先后顺序。
  
  客服部得到此问题的反映后,组织资源对问题场景重现:创建多个 PC 环境、发布文档、各 PC 环境同步操作,经过反复测试,发现偶尔有串序问题情形。遂将问题连同场景报研发部。
  
  研发部在接到此报告后,在进一步观看相关场景后,仔细回归代码分析修改,并模拟现实场景设计出“打印测试用例程序”,测试用例模拟 10 个不同打印任务,顺序从第 1 到第 10 ,再从第 10 到第一,每个任务对应打印一页逐步增到十页,再逐步减到一页,如下图使用 测试用例工具 对未做优化的软件做测试 。结果如图显示,第二三四人次打印被排列到最后。这就将很难复现的实时操作中出现的问题得以稳定复现定位。
  
   【引用】批量虚拟打印的顺序优化-看VA之“后厨” - yyimen - yyimen的博客
  
    
  经过研发部对程序的精心排查,发现了打印程序算法在不同服务器环境存在执行上的差异,遂进行了进一步优化程序,在打印测试用例的测试下,完成恢复正常,打印任务顺序完全吻合,排队不在被延迟,打印串序的问题得以解决,如下图示例。后续则由客服部向用户提供解决方案,并报产品部备案更新文档。
  
   【引用】批量虚拟打印的顺序优化-看VA之“后厨” - yyimen - yyimen的博客
  
    综合相关过程,业务流程如下:
  
   【引用】批量虚拟打印的顺序优化-看VA之“后厨” - yyimen - yyimen的博客
  
    在现代软件工程学里,软件质量已经不仅仅限于前期的调研需求分析架构等、中期的概要详细设计编码等,后期的软件维护已经占据软件生命周期的 60% 成本,软件测试更是这成本的核心之处,一旦测试不到位,反复返工,轻则增加成本,重则项目失败。
  
  在现代软件工程学里面,软件测试已经发展成一门独立学科,软件测试已经贯穿于中期软件设计阶段和后期运维阶段。对软件的架构的全盘掌控,多细节之处的精准分析,对测试用例的场景再现 已经成为软件测试的核心理念和技术手段。
  
  益和 VA 研发部以完善的研发架构,以扎实的技术基础和注重细节、重视用户体验的研发文化,已经将软件测试这个决定软件本身可持续发展的“后厨”打造的活色生香!
  
  

        


        



        




        
  
  



        
          
            
            评论这张
          
        


          
            
               【引用】批量虚拟打印的顺序优化-看VA之“后厨” - yyimen - yyimen的博客
            
            转发至微博
          
        

        
          
            
               【引用】批量虚拟打印的顺序优化-看VA之“后厨” - yyimen - yyimen的博客
            
            转发至微博
          
        

这篇关于【引用】批量虚拟打印的顺序优化-看VA之“后厨”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/707807

相关文章

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

mysql查询使用_rowid虚拟列的示例

《mysql查询使用_rowid虚拟列的示例》MySQL中,_rowid是InnoDB虚拟列,用于无主键表的行ID查询,若存在主键或唯一列,则指向其,否则使用隐藏ID(不稳定),推荐使用ROW_NUM... 目录1. 基本查询(适用于没有主键的表)2. 检查表是否支持 _rowid3. 注意事项4. 最佳实

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

SpringBoot3中使用虚拟线程的完整步骤

《SpringBoot3中使用虚拟线程的完整步骤》在SpringBoot3中使用Java21+的虚拟线程(VirtualThreads)可以显著提升I/O密集型应用的并发能力,这篇文章为大家介绍了详细... 目录1. 环境准备2. 配置虚拟线程方式一:全局启用虚拟线程(Tomcat/Jetty)方式二:异步

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

Java如何从Redis中批量读取数据

《Java如何从Redis中批量读取数据》:本文主要介绍Java如何从Redis中批量读取数据的情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一.背景概述二.分析与实现三.发现问题与屡次改进3.1.QPS过高而且波动很大3.2.程序中断,抛异常3.3.内存消