测试用例设计之业务流程分析法

简介: 测试用例设计之业务流程分析法

一.业务流程分析法简介

业务流程测试用例编写原则以需求分析中的流程图做为编写测试用例的模型,坚持“测试驱动开发,用例指导结果,数据记录变化”的原则,灵活使用不同的方法制定测试用例。

二.业务流程分析法分类使用  

流程分析法主要针对测试场景类型属于流程测试场景的测试项下的测试子项进行设计,是从白盒测试设计方法中的路径覆盖分析法借鉴过来的一种很重要的方法。在白盒测试中,路径就是指函数代码的某个分支组合,路径覆盖法需要构造足够的用例覆盖函数的所有代码路径。在黑盒测试中,若将软件系统的某个流程看成路径的话,则可以针对该路径使用路径分析的方法设计测试用例。

三.业务流程分析法好处

  • 降低测试用例设计的难度。即只要清楚程序流程、看懂程序流程图,就可以设计出质量较高的测试用例;
  • 是在测试资源紧张的情况下,可以据此有选择的执行测试用例,而非全部依靠经验做取舍。

四.业务流程分析法设计思路

在业务流程的分析上,我们应该得到以下信息:
1)系统的主流程是什么
2)条件备选流程是什么
3)数据流向是什么
4)关键的判断条件是什么

五.业务流程分析法实施步骤

步骤1:画出业务流程图
步骤2:定义状态节点和条件分支
步骤3:确定测试路径
步骤4:选取测试数据,构造测试用例

六.举例说明

6.1需求

使用ATM机取款

6.2分析

6.2.1测试需求分析

a)用户向ATM取款机中插入银行卡,若银行卡合法,取款机提示用户输入密码;若插入无效银行卡,取款机提示用户“银行卡无效”,并自动退卡。
b)用户输入银行卡密码,取款机将密码传至银行主机进行校验。若密码正确,取款机提示用户输入取款金额,提示信息:“请输入取款金额:”若密码错误,取款机提示用户:“密码错误!”,并退回输入密码界面。当三次输入密码错误时,自动退卡,锁卡。提示:“密码错误,密码输入次数超限!”。
c)用户输入取款金额,系统校验金额正确。即取款机余款大于用户取款金额。提示:“请确认取款金额为XX!”。用户按下确认键,确认取款XX。若用户输入取款金额不正确,提示:“输入错误!”。此处为分析方便忽略输入取款金额错误的各种情况下的异常流程处理,降低分析的复杂度。
d)系统同步银行主机,点钞票,输出给用户并减去用户卡中相应数目的存款金额。若卡内余额小于用户取款金额,则提示:“余额不足!”,并退回输入取款金额界面。若取款机与银行主机通信超时、通信中断、传输错误等情况,提示:“连接超时,本次操作取消”。若主机已经做了数据库操作,减去了用户存款余额,则要做回退操作。
e)用户取款,银行卡退卡。用户拔出银行卡。取款机恢复初始界面。正常取款操作结束。若用户未按时拿走取出的钱款、用户未按时拔出银行卡,则取款机做相应异常处理操作。

6.2.2测试设计方法分析(流程分析法)

根据需求,画出业务流程图,如下:
在这里插入图片描述
定义状态节点和条件分支:
上面的业务流程图中,只描述正常流程-取款成功的情况。异常流程未做描述,是为了分析方便,实际中异常流程必须在业务流程图中描述清楚状态、分支等。

6.2.3用例设计(确定测试路径)

需求描述及流程图中,ATM取款机的提示信息对应于测试用例中的预期输出部分,用户的操作对应测试用例中的测试步骤部分。原则是一条有效路径使用一个测试用例覆盖。
依据业务流程图确定测试路径,即需要测试的业务流程。其主要包含三个方面:
a)正常流程,取款成功(基本流程):对应一次性取款成功;
b)异常流程,取款失败(分支流程):对应取款失败,包括退卡、吞卡;
c)异常流程,取款成功(循环流程):对应取款中间出现意外,比如密码输入错误,但是最终成功取钱的情况。

6.3用例详细(选取测试数据,构造测试用例)

根据上一步确定的测试路径,写出用例详细。具体略。

七.总结

流程分析法适用于有先后顺序的测试。常用于业务流程测试安装流程测试等。流程分析法重点在于测试流程。因此,一般每个流程用一个测试用例验证。但是,流程测试没有问题并不能说明系统功能没有问题,还需要针对单步功能进行测试。对于包含复杂流程的系统,只有功能点和处理流程都进行测试覆盖,才算是比较充分的测试。

目录
相关文章
|
3月前
|
缓存 监控 算法
软件测试中的性能瓶颈分析与优化策略
【10月更文挑战第6天】 性能测试是确保软件系统在高负载条件下稳定运行的重要手段。本文将深入探讨性能测试的常见瓶颈,包括硬件资源、网络延迟和代码效率等问题。通过具体案例分析,我们将展示如何识别并解决这些问题,从而提升软件的整体性能。最后,文章还将分享一些实用的性能优化技巧,帮助读者在日常开发和测试中更好地应对性能挑战。
133 3
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
MarS 是微软亚洲研究院推出的金融市场模拟预测引擎,基于生成型基础模型 LMM,支持无风险环境下的交易策略测试、风险管理和市场分析。
26 8
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
|
4月前
|
监控 测试技术 持续交付
软件测试中的性能瓶颈分析与优化策略
性能瓶颈,如同潜伏于软件深处的隐形障碍,悄然阻碍着系统的流畅运行。本文旨在揭示这些瓶颈的形成机理,剖析其背后的复杂成因,并汇聚一系列针对性的优化策略,为软件开发者提供一套系统性的解决方案。
68 5
|
7天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
27 11
|
8天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
38 10
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
65 1
|
3月前
|
缓存 监控 测试技术
软件测试中的性能瓶颈分析与优化策略
本文深入探讨了在软件测试过程中,如何有效地识别和解决性能瓶颈问题。通过对性能瓶颈的定义、分类以及常见原因的分析,结合实际案例,提出了一系列针对性的优化策略和方法。这些策略旨在帮助测试人员和开发人员提高软件的性能表现,确保软件在高负载条件下依然能够稳定运行。
|
4月前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
100 1
|
4月前
|
监控 算法 测试技术
软件测试中的性能瓶颈分析与优化策略
本文旨在深入探讨软件测试过程中性能瓶颈的识别与优化方法。通过对性能瓶颈的概念、分类及其成因进行分析,结合实际案例,提出一套系统的性能瓶颈诊断流程和针对性的优化策略。文章首先概述了性能瓶颈的基本特征,随后详细介绍了内存泄漏、资源竞争、算法效率低下等常见瓶颈类型,并阐述了如何通过代码审查、性能监测工具以及负载测试等手段有效定位问题。最后,结合最佳实践,讨论了代码级优化、系统配置调整、架构改进等多方面的解决措施,旨在为软件开发和测试人员提供实用的性能优化指导。
104 4
|
5月前
|
前端开发 测试技术 UED
【测试效率对比】深入分析:为何UI自动化测试的投资回报率通常低于接口自动化测试?
这篇文章深入分析了UI自动化测试与接口自动化测试的投资回报率(ROI)问题,指出UI自动化测试在某些情况下的ROI并不低,反驳了没有实施过UI自动化就轻易下结论的观点,并强调了实践的重要性和自动化测试在项目迭代中的作用。
103 1