学术论文投稿/征稿

欢迎您!请

登录 注册

手机学刊吧

学刊吧移动端二维码

微信关注

学刊吧微信公众号二维码
关于我们
首页 > 学术论文库 > 理工论文 基于工作流的 Web 软件测试技术研究论文

基于工作流的 Web 软件测试技术研究论文

1

2026-02-03 17:42:27    来源:    作者:xuling

摘要:基于工作流的Web软件测试是将工作流技术应用到Web应用系统测试过程中,以提高测试效率,保证测试一致性,减轻测试人员的工作负担。

  摘要:基于工作流的Web软件测试是将工作流技术应用到Web应用系统测试过程中,以提高测试效率,保证测试一致性,减轻测试人员的工作负担。在Web应用系统测试中,采用工作流技术对测试流程及各操作步骤之间的业务规则进行抽象和概括,基于协同工作的方式实现测试业务和流程的自动化,提高测试用例、测试脚本、测试数据的使用效率。具体内容包括基于BPMN建立Web系统工作流模型,研究测试流程及方法,比如进行相关的功能测试、性能效率测试、自动化测试等,并对比选取合适的工具,结合工作流模型设计测试方案进行实现。

  关键词:软件测试;工作流;Web

  0引言

  工作流技术是一种能够有效管理和协调工作流程的方法,可以提高软件测试的效率和质量。对基于工作流的Web软件测试技术进行研究与应用,可以有效地将工作流技术和软件测试技术相结合,提高软件测试的效率和质量。在Web软件测试中,工作流技术的应用可以帮助测试人员更好地管理测试流程、自动化测试用例、测试报告生成、提高测试覆盖率等。工作流技术有助于快速、准确地Web软件中的错误和缺陷,提高软件的质量和可靠性。本文在Web软件中使用BPMN业务流程模型和标记法对测试流程进行实践应用[1]。

  1工作流技术

  1.1工作流的定义

  工作流本身就是一个工程设计思路,在具体场景下,它也是一种实现业务的方式。工作流是一种设计模式,也可以理解成一种思维方式,它不涉及任何具体的编码,所有的业务代码仍然需要手动完成,只是使用工作流来规划和编排代码的运行方式[2]。基于工作流,多个参与者按照某种已经规划好的规则实现自动传递信息或任务,整个过程定义了任务的顺序和触发的条件,可以由一个或多个软件、一个或多个与软件系统协作完成。拿垂直服务举例,审批就是通过工作流引擎直接实现业务。工作流的应用场景也相当广泛,在行政管理、人事管理、客户管理、财务等方面均有涉及。

  1.2工作流框架的选择

  目前,市面上主流的基于Java语言的开源工作流框架主要有jBPM、Activiti、Flowable、Camunda等。

  jBPM不支持扩展节点,功能较少,接口难以满足日常工作的需要。Activiti同样不支持扩展节点,维护不及时,功能缺少,但其优点是社区用户多,遇到问题容易找到解决方案,且支持SpringCloud。Flowable支持扩展节点,功能完善,性能稳定性很好,但其缺点是开源版维护不及时,部分功能闭源,仅支持从开始节点运转实例。Camunda基于activiti5,压力测试验证了Camunda BPMN引擎性能更好且稳定。除了BPMN,Camunda还支持CMMN(案例管理)和DMN(决策自动化)。Camunda不仅配备了引擎,还配备了非常强大的建模、任务管理、操作监控和用户管理工具。考虑到其提供独立的Modeler设计器、优秀的用户体验以及出色的表单管理能力,选择Camunda作为建模框架[3]。

  1.3工作流的建模

  工作流的建模主要有任务(Task)、参与者(Partici-pant)、子流程(Subprocess)、门路(Gateway)、事件(Event)、会签或签以及表单(form)。

  用户任务和手动任务均需要人工操作,不同的是用户任务需要指定执行的用户或角色,并提供相应的输入(表单),才能继续执行,而手动任务完成与否不影响流程引擎的继续。业务规则任务用DMN决策模型标记,服务任务通过Web服务自动完成,脚本任务则是通过引擎可识别的脚本语言进行自动化操作[4]。

  表单可以嵌入到用户任务中,后续可以在审批中填入相应数据以流转到相应节点,分为外置表单和内置表单。外置表单是自己创建表单生成HTML文件,让用户任务引用;内置表单则是Camunda自己提供的数字、日期、文本、多选、下拉、单选、图片、iFrame、按钮等,并可以转换为JSON格式数据。

  2工作流技术在软件测试中的实践应用

  2.1需求分析

  易班学生服务平台是一款为教育量身定制的开放型智能应用,是高校教育教学、生活服务、文化娱乐的综合性互动社区。

  以易班学生服务平台为例,对易请假、易报修、外出报备、易防疫这四个使用较多的功能进行软件测试。为了实现测试与工作流的结合,在项目的pom.xml文件中添加对应依赖。

  2.2基于工作流的模型设计

  2.2.1易请假流程设计

  学生在易班发起请假流程,填写相应信息并提交后进入辅导员请假审批流程。设置userName学生姓名、studentNum学生学号、leave请假去向、和approved是否通过。易请假流程图如图1所示。

  2.3测试流程设计

  2.3.1性能效率测试工具选择

  选择性能效率测试工具时,需要考虑其并发能力、资源监控、是否开源、是否支持录制、是否支持分布式、社区活跃度、是否便于脚本维护、易用性、可扩展性、压测平台编码量等[5]。根据以上因素,对常用的测试工具分析如下。

  LoadRunner:这是一款商业级性能效率测试工具,适用于各种体系架构,不仅能预测行为还能进行优化。支持多种协议,为系统负载打造真实环境。但其收费贵,操作较繁琐,不容易上手。

  Gatling:这是一款开源的性能效率测试工具,基于Scala语言开发,但其本身只支持HTTP,其他协议需要扩展。

  KylinTOP:这是一款国产的基于AI软件自动化的测试工具,在性能、压力、可靠性测试上都有不俗的表现,并且可对接口、UI、App进行监控。但其用例维护成本高,版本迭代快,要求测试人员至少掌握一门脚本语言。

  Apache JMeter:这是一款开源的性能效率测试工具,它同样支持多种协议,并且具有良好的可扩展性和灵活性。Apache JMeter的社区非常活跃,可以很容易地找到教程和解决问题的方法。

  经过对比,Apache JMeter具有多协议支持、强大的并发测试能力、丰富的测试结果展示、高度的可扩展性等优势,本文选用Apache JMeter工具进行性能效率测试和压力测试。

  2.3.2性能效率测试

  Apache JMeter的工作原理是在工具内设置线程,即用户操作,与被测系统服务端通过HTTP接口互相连接,最终结果展示在界面控制台,界面控制台如图3所示。

  以易请假线程组为例,用户登录成功后,从首页进入易请假页面,点击“普通请假”或“离校请假”,执行并查看结果树,可以看到请求发送成功。

  2.3.3压力测试

  Apache JMeter做压力测试,以易防疫的健康打卡为例,线程数设置240个,即用户的数量。Ramp-Up时间设置120秒,一秒钟两个用户,运行两分钟。用命令生成测试报告并查看,可以看到HTTP请求发送成功。

  2.3.4自动化测试

  自动化测试是指利用工具模拟人为操作,自动执行测试用例,并生成测试结果的过程。这是一种高效的测试方法,能够帮助测试人员快速发现软件中的缺陷[6]。它的主要目标是提高测试的效率,减少传统测试的成本和时间。

  自动化测试多应用于重复耗时、覆盖面广、需要快速反馈等情况,在集成和接口中也应用广泛。自动化测试优势在于可以提高测试效率,降低成本,并允许测试人员专注于更具挑战性和创造性的测试。例如,对于大量的API测试,自动化测试可以解放开发人员的双手,大大提高测试效率。

  3结语

  通过研究主流的开源工作流引擎和软件测试技术,选取Camunda作为本文的工作流框架对Web软件进行建模,选用Apache JMeter工具对被测系统进行性能效率测试分析和压力测试,结合工作流技术进行系统化的软件测试,结果表明测试过程的效率和质量得到了显著提升。将工作流技术应用到易班学生服务平台测试中,达到了更加高效的检测缺陷的效果,满足预期,整个测试流程清晰明了,验证了工作流与软件测试结合可以提高测试效率和质量。


参考文献

  [1]梁博成,凡霞.基于工作流技术的软件测试标准化管理工具的研究[J].价值工程,2023,42(22):7-9.

  [2]张龙.基于模型的嵌入式软件测试技术研究[J].无线互联科技,2023,20(20):109-111.

  [3]赵丽萍,吕敬钦.基于改进BOPPPS的软件测试技术课程教学改革[J].计算机教育,2025(1):71-75.

  [4]李丛煊.航天软件测试全过程管理平台关键技术研究[D].廊坊:北华航天工业学院,2021.

  [5]丁月华,王方丽.基于Web软件的性能测试[J].计算机与数字工程,2006(1):47-48+64.

  [6]高大庆,蒙应杰,杜义涛,等.基于复用技术的分布式Web软件开发方法的研究[J].计算机工程与应用,2002(12):188-190.