5W1H

  • WHY——为什么?为什么要这么做?理由何在?原因是什么?
  • WHAT——是什么?目的是什么?做什么工作?
  • WHERE——何处?在哪里做?从哪里入手?
  • WHEN——何时?什么时间完成?什么时机最适宜?
  • WHO——谁?由谁来承担?谁来完成?谁负责?
  • HOW ——怎么做?如何提高效率?如何实施?方法怎样?
  • HOW MUCH——多少?做到什么程度?数量如何?质量水平如何?费用产出如何?

    Read More

PDCA

PDCA最早是由美国质量管理专家戴明提出

PDCA四个英文字母及其在PDCA循环中所代表的含义

  • P(Plan)–计划,确定方针和目标,确定活动计划
  • D(Do)–执行,实地去做,实现计划中的内容
  • C(Check)–检查,总结执行计划的结果,注意效果,找出问题
  • A(Action)–行动,对总结检查的结果进行处理,成功的经验加以肯定并适当推广、标准化

pdca

Read More

采购舞弊

串标

事先知道所有投标人,一般是投标人互相串通,也可以和招标人串通

  • 投标人互相串通
  • 投标人、招标人串通
  • 潜规则,轮流中标

陪标

预先确定意向中标单位,为达到三家报价要求,由意向中标单位邀请其熟悉或相关的单位进行陪衬,达到中标目的。 与招标人合伙,满足公司招投标要求,以达到中标目的

围标

事先不知道哪些人投标,然后联合其它几家几十家公司,将报价控制在一定范围,确保某一家公司中标

  • 联合其他公司控制
  • 自己关联公司合谋

故意流标

以不足三家、不合格不合规为名,宣布招标不合格,直接流标。
1、进行二次招标,以增加新投标人
2、更改新的投标价格

Read More

BPMN

BPMN(Business Process Modeling Notation),业务流程建模与标注,可以用其定义的一系列业务组件,组成业务流程图

Read More

流程检查

问题描述

导致流程运行时阻塞(进入执行引擎阻塞)问题top3

  • 找不到出线(84.6)
  • 表达式计算错误(3.14)
  • 找不到变量(3.42)

统计数据发现,网关配置导致的流程配置异常占比80%,具有网关配置的流程图占比27%.

背景

业务流程定义是业务方通过实际业务需求绘制流程图,并添加相应节点/组件配置完成业务需求的过程.流程配置需要有一定的相关知识储备

复杂的流程需要使用网关(条件表达式)做流程控制,现有条件下,需要配置人员了解配置含义及具有相对清晰的思考方式,才能确保流程控制相关的配置符合MECE原则

网关配置是流程定义过程中极易出现错误的配置项,且网关配置错误平均需要耗费技术团队0.5-1pd时间,运维成本高

相关问题从正向的设计上做了多次调整(可视化编辑,非必填字段不能做网关变量校验),未能有效降低相关问题数量

了解相关问题后,尝试分析处理线上卡死流程

业务背景

可能导致网关配置异常的场景:

  • 变量名填写错误
  • 排他网关所有条件组合未被当前配置条件覆盖
  • 不熟悉运算符优先级,误以为运算符是自左向右执行
  • 一个当前符合mece的配置因为变量枚举增加而破坏整体规则

排他网关条件配置不正确可能带来的业务问题:

  • 配置在发起节点后,可能导致特定的组合无法发起流程(这个问题处理起来比较简单,直接修改图再发布就好了)
  • 排他网关导致某些路径完全不可达,运行一段时间后发现某些业务节点完全不可达,其他节点却命中的更多了
  • 流程运行了很长,到了某个节点后无法处理,如果业务无法接受重新走流程,需要手动根据业务期望修改订单

目的

使用标准的算法持续检出流程控制中的潜在问题,辅助业务管理人员完成更缜密的流程设计.提升整体流程质量

检出60%以上归因为网关配置导致的线上流程卡死问题,报错的缺陷流程数收敛至20以下

MECE

MECE分析法,全称 Mutually Exclusive Collectively Exhaustive,中文意思是“相互独立,完全穷尽”。 对一个重大的议题,能够做到不重叠、不遗漏的分类,而且能够借此有效把握问题的核心,并成为有效解决问题的方法

Exclusive Gateway 排他网关

排他网关(也叫异或(XOR)网关,或更技术性的叫法 基于数据的排他网关), 用来在流程中实现决策。 当流程执行到这个网关,所有外出顺序流都会被处理一遍.其中条件解析为true的顺序流(或者没有设置条件,概念上在顺序流上定义了一个’true’) 会被选中,让流程继续运行.排他网关只会选择一条顺序流执行

Read More

测试用例设计

好的用例是一个完备的集合,能覆盖尽可能多的等价类和边界值.和能否发现缺陷无关.

好的测试用例

  • 整体完备性 是一个有效测试用例组成的集合,能够完全覆盖测试需求
  • 等价类划分准确 等价类集合中一个用例的表现能表达同一集合中其他数据的表现
  • 等价类集合的完备性 确保所有等价类和边界值都已正确识别

深入了解被测软件的架构,才能设计出“有的放矢”的测试用例集,去发现系统边界以及系统集成上的潜在缺陷

必须深入理解被测软件的设计与实现细节,深入理解软件内部的处理逻辑. 设计用例应该根据原始需求,而不是开发完成的代码.

需要引入需求覆盖率和代码覆盖率来衡量测试执行的完备性,并以此为依据来找出遗漏的测试点

Read More

测试方法

等价类划分

将所有输入数据划分成若干子集. 每个子集中,如果任意一个输入对揭露程序中潜在的错误有相同效果,那么这样的子集就构成了一个等价类.

要注意找出无效等价类,无效等价类可能涉及到取值范围无效,数据类型无效等非预期输入

边界值分析

选取输入,输出等逻辑边界值进行测试. 边界值分析算是等价类的一种补充说明.

错误推测法(探索式测试)

基于对被测试软件系统设计的理解、过往经验以及个人直觉,推测出软件可能存在的缺陷,从而有针对性地设计测试用例的方法。这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,当然还有个人的能力

Read More

软件测试

软件测试的目的应该是证明程序不存在错误,而不是证明它存在错误.可以多采用形式化验证的思想

关注软件整体质量,根据业务风险及影响制定合适的策略. 控制测试成本.

保证系统在各种应用场景下功能符合设计要求

合格的测试: 具有快速学习的能力,能快速掌握被测软件的业务功能与内部架构. 并在此基础上运用各种方法,尽可能多的发现潜在缺陷. 并能在已知缺陷的基础上进一步发现相关的连带缺陷.

不要尝试做穷尽测试,基于风险驱动,侧重的选择测试范围和用例.尽可能的平衡风险和成本.

知识体系

  • 计算机基础知识
  • 安全
  • 性能
  • 用户体验
  • 基础架构

知识面越广,越有利于设计出针对性强,易于发现问题的测试用例.

Read More