敏态下“骨架化、模块化”测试案例编写技术实践

随着互联网金融的发展,敏捷开发模式被广泛应用。本文介绍了在敏态环境下,如何通过“模块化、骨架化”测试案例编写技术提高效率,减少测试准备时间,保证软件质量。通过实施模块化、骨架化,可以复用测试案例,降低测试风险,提高测试覆盖率,进而提升开发效率和产品质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文/叶婷婷 罗章坤

一、引言

       随着互联网金融监管的日益严格、市场竞争的不断加剧及客户需求的快速变化,金融企业IT系统的复杂程度不断提高,IT需求日益放大,创新型需求持续产生。传统的软件开发模式,诸如瀑布模型;新型的软件开发模式,比如敏捷模型,已经无法完全适应现代的科技金融行业。金融科技渗透到互联网金融各个领域,如社交网络、云计算、大数据等应用,科技金融使得银行业互联网金融业务应运而生,同时导致传统金融业务模式与新兴金融模式产生矛盾。针对科技金融环境,本文将就 “模块化、骨架化”新型测试案例编写方法论进行探讨。

二、银行业互联网金融开发模型

1. 传统“瀑布型”模型

      传统银行金融业务是以柜台为中心,服务对象范围较小,支付结算一般采用现金、票据等传统方式;信息处理主要依靠人为处理,金融软件产品更新换代缓慢,金融软件相对稳定,软件开发普遍采用传统的瀑布模型。瀑布模型将软件生命周期划分:制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定它们自上而下、相互衔接的固定次序执行。在瀑布模型中,软件开发的各项活动严格按照线性方式进行,严格遵循预先计划的步骤顺序按部就班地进行,流程衔接相对严谨。然而瀑布模型在项目各个阶段之间极少有反馈,只有在项目生命周期的最后才能看到结果,缺乏灵活性,不太适合现代互联网金融行业的软件开发。

2. 敏捷开发模型

      银行互联网金融业务能够在客户端或者线上进行财富管理;服务对象主要集中在一般客户群体;互联网金融业务也实现了移动支付目标,进行电子化操作,通过第三方支付;互联网金融业务模式利用计算机技术、对数据信息进行分析、整理等处理。现代的互联网金融模式使普罗大众可以通过手机端的App应用、PC端的应用软件及web应用,独立地进行金融产品操作。当前金融科技使得金融软件产品更新换代极快,对软件健壮性的要求极高,对创新需求的快速响应要求提高。在此背景下,敏捷式开发模式逐渐地被引入到现代的科技金融中。敏捷开发是一种应对快速变化需求的软件开发能力。敏捷开发以人为核心、迭代、循序渐进的开发方法,相对于传统软件开发方法的“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通。

三、敏态下“模块化、骨架化”实践

      随着互联网技术的飞速发展,金融行业已经正式开启了全新的互联网金融时代,银行业互联网业务也进入超快速发展阶段。由于网络金融所具有的高效、便捷、精确等特点,整个互联网业务都处于快速运行的状态,与之对应,软件开发模式也由传统的瀑布式开发模型进入到快速变更的迭代开发时代。快速变更的迭代开发模式可以快速响应业务的需求,尽早地得到客户的反馈来细化需求。然而,这种新型的开发模式由于需求量大,需求变更快,版本周期短,导致测试周期短,在较短的周期里,测试人员需要参与需求分析,需求评审,测试用例编写,测试用例评审,测试执行,测试报告整理等等,导致测试时间不够充裕,以至无法充分保证测试覆盖率。随着互联网开发模式的变更,现有测试管理方法无法同时保证软件质量和软件产品在需求的快速变更下如期交付。在积极探索、尝试新的方法论的过程中, “模块化、骨架化”测试案例编写技术应运而生。

1. 实施目的

       面对传统金融业务模式,对应比较老旧的计算机软件开发方法就是瀑布型开发模式。瀑布开发模式是一种最常见最典型的开发模型,严格按照预先计划的几个基本活动的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,需求文档,测试计划和代码审阅等等。该开发模式存在最大的问题是当需求不明确,后期需求变更时,无法进行调整,代价高昂,基本是不可行的。

       面对目前快速发展的互联网金融业务平台,通常采用敏捷开发模式。其主要工作方式就是项目作为一个整体,按短迭代周期工作,每次迭代交付部分成果;当业务进行口头需求,无纸质需求时,更强调开发团队与业务之间的紧密协作。在此前提下,要求面对面沟通比书面的文档更有效,同时可不断交付新的软件版本,以能够很好地适应快速需求变更的代码编写和团队组织方法,也更注重软件开发中人的作用。

      适应性的方法集中在快速适应现实的变化,互联网业务平台面对快速、敏捷、高效的敏捷式开发模式发展,测试方法也从中衍生“骨架化、模块化”测试方法探索实施。

       “骨架化、模块化”案例方法论主要通过梳理通用的、同类型功能,编写测试案例模板,通过关键字替换方式实现复用。针对整个互联网金融业务平台的项目,快速迭代、需求变化快的特点,探索“骨架化”测试案例技术,对于相同类型需求模块,快速完成案例设计,大大缩短测试准备时间。传统软件测试流程一般包含:需求分析、测试计划编写、搭建测试环境、设计测试用例、测试执行、Bug回归测试、测试总结、软件发布几大块,所有步骤环环相扣,设计测试用例需建立在确认完整的需规需求上,当业务提出需求变更时,测试准备时间就会相应紧张。但采用“骨架化、模块化”测试方法大大减少时间,直接通过测试案例模板进行复用,节约了大量的测试准备前工作,降低了测试中存在的风险。

2. 实施流程规范

实施原则

为保证“骨架化、模块化”管理方法正确实施,需要遵循以下四大基本原则:

  • 复用性:抽取测试用例是可被本项目或其他项目复用;
  • 唯一性:整合的测试用例库没有冗余的测试案例;
  • 参考性:项目里的关键功能测试用例,可用于其它项目测试案例编写作参考;
  • 脱敏性:跟公司/项目有关的敏感关键字要用通用符号(比如:X)代替。

实施步骤

  • “骨架化、模块化”负责人梳理整个互联网业务团队需要进行“骨架化、模块化”的项目,根据各项目可复用性程度的高低,罗列出各项目进行“骨架化”的顺序,制定出阶段性审核时间;
  • “骨架化、模块化”负责人与需要“骨架化”整理的项目负责人协商会议时间,与会人员,向会议组织者发起请求。通过“头脑风暴”模式,与会人员讨论项目里可以被其他平台复用的功能模块以及项目里可被其他项目参考的关键功能;
  • 项目负责人根据会议讨论的功能点,抽取整理相应的测试用例,修改测试用例,去除替换与公司、项目、业务有关的敏感关键字后,发给“骨架化”负责人;
  • 各项目负责人通过评审整理出测试案例;
  • “骨架化、模块化”负责人按测试用例功能类别,分类整合测试用例到“骨架化”测试用例库里。定期维护“骨架化”测试用例库,防止用例存在重复,保证分类明确以便索引;
  • “模块化、骨架化”负责人根据模块化案例的成熟度,给与互联网团队测试人员安排培训,对模块化的实施目的及目标进行介绍,针对整合的模块化案例的功能点进行解释说明。
  • 各平台负责人根据自己项目进程,在获得大需求时,组织组员讨论模块案例库里可以使用的测试案例。
  • 模块化负责人在案例库更新后,通知团队人员更新模块,方面测试人员学习,搜索。

实施优点

  • 缩短测试案例准备时间,增加软件测试执行时间,降低风险,提高软件测试质量。
  • 减少测试用例评审会议时间,提高各团队人员时间使用效率。
  • 保证测试的覆盖率,提高软件质量。

3. 实施阶段性成果

模块功能

       基于银行互联网平台的业务特性,每个独立的平台均有可被其他平台参考或复制。

      具有参考性的功能点,如兼容性功能,由于现在互联网庞大的手机端业务,几乎所有平台都涉及到兼容性测试。在兼容性测试中,由于Android和IOS系统之间的差异而需要留意的测试点。

     具有复用性的功能点,比如手机端应用软件的登录功能。由于银行业务高安全性的要求,个人银行业务的大部分功能都需要注册登录才可以使用,因此登录功能是基本的模块化功能点。

     银行互联网平台负责人根据模块化的设计原理,整理和罗列出各自平台里可以被复用和参考的功能点。整理结果如下表。

功能点-案例

     1).各平台负责人根据讨论的可模块化的功能点,从项目管理工具上导出相关的测试案例,脱敏测试号用例,用 xxx 替换关键字:比如系统名称,项目所属名词等。对测试用例的前置条件,步骤,预期和关键词等进行修改,使测试用例在不同平台间更具有通用性。以下为可复用的登录测试用例。

    2). 整理出的测试用例根据功能模块分类,由于测试用例从不同的平台中获取,还需审查去除重复/类似的案例后储存在共享的工具里,定期维护:根据新的功能增加模块化用例等。

四、 结论

       经比对实施经验,按旧有模式,每个活动项目SIT测试案例准备时间大致为1-1.5人天,若需求变更频繁需2人天。而在“模块化、骨架化”测试案例编写方式实施后,测试案例准备仅需0.5人天,预估人力节约近70%。且经实际操作验证,“模块化、骨架化”测试编写案例经验推广、实施范围覆盖全面,可大幅度提高人力资源使用效能。同时,“模块化、骨架化”方法论可应用于多个应用领域,如:协作式开发、分布式数据管理等,它将处理复杂系统分解成为可管理的模块化,把一个问题分解成多个小的独立、互相作用的组件。通过该方法论不仅能够降低测试风险,且有助于提高产品可靠性,从而帮助有效控制成本,降低人力资源浪费,进一步提升公司效益,更好地发挥人员的其他技能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值