软件功能性测试业务流程完整性证实是重要的软件测试。不是对单一功能点的检查,是证实用户为达成业务目的而执行的一系列连贯操作的端到端正确、顺畅和业务需求测试。
一、目的
业务流程完整证实是模拟真实用户,完成真实任务 。目的是保证:
业务目标的实现:软件能支持从业务起点到终点的完整测试闭环。
数据流的准确:业务数据在流程各节点间流转时,状态、属性和完整性始终正确。
业务异常和业务分支路径的妥善处理:不仅能处理一切顺利的情形,更能妥善处理各种业务规则允许的异常、回退、分支路径。
和业务规则的严格一致:流程的每一步都符合既定的业务规则、角色权限和规范。
二、方法
方法一:根据业务模型的测试
此方法通过建立业务模型来指导测试设计和分析,是保证系统和完整的方法。
业务流程建模和路径分析
模型建立:使用业务流程建模和标记法 或统一建模语言活动图,将业务需求转化为可视化的流程模型。图中需清晰定义:活动(任务)、网关(判断分支)、事件(开始、结束、中间事件)、泳道(角色/系统职责)。
路径包括:根据模型,采用基线路径法或决定表推导出所有独立的业务情形路径。
基线路径(基本流):标识出最重要、无任何异常的主要流程。
备选路径(支流):针对每个点,系统性地设计包括每个可能分支的路径,包括错误处理、业务回退、审核拒绝等情形。
示例:对于一个“在线采购-支付”流程,基线路径是“选购→下单→支付成功→生成订单”。备选路径则需包括“支付失败→重试/取消”、“库存不足→订单挂起”、“中途修改收货地址”等情形。
对于业务流程中涉及重要业务对象(如订单、保单、审批单)的状态变迁,需建立状态转换图。
证实所有有效的状态转换是不是被正确实现(如,“待支付”状态只能转换为“已支付”或“已取消”),并设计测试用例尝试触发所有无效的状态转换(如,试图从“已完结”状态回到“待审核”),以证实系统的功能。
方法二:根据使用和数据的测试
端到端情形测试
设计包括多角色、多系统集成的复杂情形。如,证实一个“企业采购申请”流程,需模拟:申请人提交→部门经理审批(通过/驳回)→采购员询价→供应商接单→财务付款→申请人收货确定的完整链条。这需要测试数据在多个用户界面和后台服务间无缝、正确地流动。
测试数据生命周期管理
数据设计准备:为业务流程的每个重点阶段,精心设计具有业务含义的测试数据集。数据需能触发不同的业务规则(如不同用户等级享受不同折扣)。
数据状态证实:在每个流程步骤完成后,证实界面响应,需深入证实数据库中对应业务对象的数据字段、状态标识、关联关系、日志记录是不是和业务预期完全一致。
数据清洗和恢复:为保证测试可重复执行,必须建立自动化的测试数据准备和清理机制(如通过数据库脚本或专用工具),使数据在每个测试周期前回归到初始状态。
三、测试执行方法
包括率的测量:业务流程完整性的包括率一般通过业务需求包括率和业务规则包括率来测量,保证每个业务需求点和规则都有对应的端到端测试情形进行证实。
执行方法:
分层自动化方法:将业务流程测试用例自动化是保证回归测试效率的重点。但应根据稳定性和重要性进行分层:
重要业务流程(如用户注册登录、重要交易):创建高稳定性的自动化测试套件,作为每日创建的冒烟测试。
次要或易变流程:可采用半自动化或准确的手工测试。
完整的业务流程测试往往依赖外部系统(如支付网关、短信服务)。需通过服务虚拟化技术模拟这些依赖的行为(包括正常响应、超时、错误),以便在独立、可控的环境中进行全天候测试。
四、报告
证实结束后,应产出详尽的业务流程测试报告,内容至少包括:已证实的业务流程图(标识出已测路径)、测试情形清单、业务规则证实矩阵(清晰列出每条规则及其证实状态)、缺陷统计(按业务影响程度分类),以及对业务流程完整性的整体风险考虑结果。
需要极高公信力或作为法定验收根据的测试(如金融、医疗重要系统),可委托有CNAS(中国合格评定国家认可委员会)认可的专业第三方检测实验室(如湖南卓码软件测评有限公司)执行。他们根据国家标准(如GB/T 25000.51)进行的测试,重视功能点,更会系统性地证实业务需求的完整实现,出具的测试报告有权威性。