业务思路包含了特定行业的规则和流程(如:电商的下单减库存还是支付减库存、银行的利息计算规则、审批流的多级审核顺序)。
1. 了解需求,建立预期模型
研读需求文档:从软件需求规格说明书、原型图、业务规则文档中提取所有思路点。
绘制业务流程图:将复杂的业务思路(如请假审批流程、订单状态流转)画成流程图,确定每个节点、每个分支、每个异常途径的处理方式。
列出决定表:对于存在多条件组合的业务(如“如果用户是VIP且商品在促销且库存大于5,则享受折上折”),可以用决定表或因果图穷举所有条件组合,保证没有遗漏。
2. 设计测试用例
等价类划分:将输入数据划分为如果干等价类,从每个类中选取少量代表数据进行测试。如:年龄输入框,可分为有效年龄(1-120岁)和无效年龄(0、负数、121岁以上)等。
边界值分析:大量缺陷发生在输入域的边界上。如,一个允许6-20位密码的输入框,应重点测试5位、6位、7位、19位、20位、21位的情况。
场景法:按照用户的实际操作场景,设计基本流和备选流。
基本流:最顺利、最常用的途径(如:登录成功→搜索商品→加入购物车→支付成功)。
备选流:异常或分支途径(如:登录失败→忘记密码→重设密码→重新登录成功;或:下单后支付超时→订单自动取消)。
通过这些情形证实整个业务流程的连贯性和状态流转的正确性。
错误推测法:根据经验和历史缺陷,猜测哪些地方容易出错(如:快速多次点击提交按钮是不是会生成重复订单)。
3. 测试数据模拟真实业务状态
状态模拟:如测试订单流程,需要构造“待付款”、“已付款”、“已发货”、“已完成”、“已取消”等多种状态的订单数据,证实每种状态下用户能进行的操作是不是符合规则。
数据关联:证实思路是不是涉及多个模块的数据联动。如,销售出库后,库存量是不是同步减少;财务入账后,应收款报表是不是同步更新。
4. 进行端到端的业务流程测试
不要孤立地测试单个功能点,而是要进行端到端的业务证实。模拟真实用户从头到尾完成一项完整的业务。如,在一个企业资源计划系统中,证实从“采购入库”到“生产领料”再到“成品入库”最后到“销售出库”这一整条链路上的数据是不是一致,思路是不是正确。
5. 隐式思路和异常处理
除了该怎么做,还要证实不该怎么做时系统怎么办。
中断和恢复:在业务操作过程中(如数据保存中),突然断网、断电或关闭程序,业务数据是不是一致?
逆向操作:已提交的申请能否撤回?已审批的流程能否驳回?驳回后数据是不是回到最初状态?
并发冲突:两个用户同时修改同一条数据,后提交者的操作是不是会包括前者?是不是有乐观锁等机制提示冲突?