唐僧、QA MM与工作流任务数据模式

2023-10-13 21:18

本文主要是介绍唐僧、QA MM与工作流任务数据模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

唐僧与 QA MM

在一个典型的项目团队里,包括了以下几种角色(帽子): PM(项目经理)、 BA(业务分析师)、 DEV(程序开发者)和 QA(质量保证人员),整个团队的目标是向客户交付价值。

 

那么,有一天, QA MM来找我,我是开发人员。 MM说,一张图片没有正常显示,我想知道原因,同时想知道你能否修复。我的第一想法是,这不可能,一定是环境的原因。我说,好的,稍等。接下来,我张大嘴巴看到了 MM给我重现的 BUG:本该显示图片的位置一片空白,就像此时我合不上的嘴。这怎么可能呢?我想,这个功能完成的如此之得意,以至于测试用例里的数据都是以我的名字命名的。

 

几分钟后,或者更长,我叫来 MM,说,找到原因了。

 

我打开编辑器,光标在源程序的某一行闪烁,我说,最根本的原因在这里。我看到 MM的眼中闪过一丝迷茫。接下来,我却换到另外一个源文件,光标继续闪烁,我说,这里的程序因此受到影响。看得出, MM有点发晕。终于,当我打开第 N个源文件并试图继续讲解时, MM昏过去了。

 

当 MM苏醒过来时,我在她清澈的双眼中看到了一只清晰的唐僧。

 

MM肯定感到了不好意思,因为我的讲解中包含了比喻、类推、排比等我力所能及的各种语文知识,看得出,我很努力,我的语文老师也很努力,所以她委婉地说,能不能简单一点?

 

我想了想,说,测试驱动时测试数据不全导致程序少考虑一种情况。

 

MM说,能修复吗?

 

我说,可以。于是故事结束。

 

就 是这样,当我们执行一项任务时,围绕这项任务必然会产生许许多多的信息,这些信息对于该任务的执行者是必须的,但是对于其他人则不是,有效的沟通往往来自 于简练的表达即只表达对方需要和可以理解的内容,浩瀚的细节只会将真正想表达的内容淹没。其实这里还有这样一层意思:我之所以用这么多的细节信息来淹没 QA,实际上是不太情愿承认程序里有 BUG。 QA想要的结果很简单,是否是程序 BUG,能否修复。而开发人员则往往把自己的程序与自己关联在了一起,认为程序是自己的扩展,程序有 BUG则意味着自己有缺陷。这一关系明显是矛盾的,可是一些团队里开发人员和 QA能够和平相处,而有些团队却势如水火。

 

那么,对于单个任务而言,需要定义自己的变量,这些变量数据只与该任务相关,只在该任务里可见。典型的工作流应用于任务执行期间的中间数据存储。在文档处理中,一个重要的功能就是需要提供版本管理,在单个任务实例里,办理者能够管理自己处理过的文档版本。

 

描述

任务能够定义变量,在一个流程实例里,该变量只能被其任务实例所使用。

 

图 6-2任务级别的数据可见性

如图 6-2所示,我们在任务 B上定义了一个变量 M,此时,在一个流程实例里,只有任务 B的实例才能使用该变量。

 

实现

存在两种实现方式,一种是如图 6-1所示的,在任务节点定义中声明变量,运行期初始化任务实例的同时初始化该变量并使用; 另一种是在流程定义级别统一声明变量,但是各个任务实例都独立初始化并存储该变量。第二种实现方式在各个任务都需要使用同一语义的变量时很常见,例如各个任务实例都会有参与者,我们在流程定义时声明一个名为 userid的变量,在流程实际执行时,各个任务实例都会独自保存有自己的 userid数据。

这篇关于唐僧、QA MM与工作流任务数据模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M