流程测试——流程测试设计

 

流程需求分析完成后,提取被测对象涉及到的业务流程,进行测试用例的设计。

 

流程测试用例与功能验证测试用例不同,流程测试用例更多需要保证流程的正确性,不需要校验单个功能点的正确性,一般使用场景法设计测试用例。

 

【案例1 ECShop用户购买流程分析】

ECShop注册用户购物流程分析,首先确定该流程所涉及的用户角色,然后根据产品需求或用户故事,确定基本流、备选流及异常流。

 

测试工程师将分析出来的流程路径,可以利用表格形式记录,表格中包含序号、流程属性、流程描述、角色等信息,如表1所示。

 

表1 注册用户业务流程划分表

流程测试——流程测试设计

 

通过上述路径分支划分,最终生成对应的测试用例,需要注意的是,流程中涉及登陆、支付等功能的正确性,需单独测试验证,流程测试中仅关注流程本身,而不是单个功能节点本身。

 

大部分的流程测试都采用上述的方法,测试工程师应当确保对用户期望实现的业务清晰,否则无法设计出合理的流程用例,很可能被已经实现的系统流程误导。

 

设计流程用例的时候,测试工程师需注意流程中的判定条件、边界数据、异常处理以及是否符合实际用户应用场景。

 

【案例2 银行贷款申请流程】

很多银行的贷款申请流程如图1所示。

流程测试——流程测试设计

图1 贷款申请流程

 

表2 贷款申请流程说明

流程测试——流程测试设计

流程测试——流程测试设计

 

上述流程相比一般的业务就复杂多了,流程中涉及至少客户经理、自动审批规则、电核、一级审批、二级审批等五个节点,并且在每个节点中又涉及到很多的单点功能验证。测试工程师在分析上述需求时,应当仔细阅读每一个流程描述。比如,“系统将会通过自动审批规则来判断相关的贷款申请是否需要进行电核处理”这句需求中“自动审批规则”包括哪些具体规则,这个隐性需求同样需要测试工程师提取确认,否则无法保证测试的质量。

 

对于边界问题,上述流程中当一级审批同意后,如果贷款申请金额超过5万元,则需进行二级审批,因此在设计用例时,需考虑此类边界问题。