赛辰联系方式

测试无处不在,质量才能无感存在

  案例背景

  1 建设分散,整合有挑战,体验需提升

  某商业银行卡中心在围绕用户“衣食住行娱”全方位生活场景需求以及特色金融服务需求的建设过程中,由于其APP承载平台服务的建设管理方相对分散,缺乏统一的标准规范,不利于业务高质量发展。为此,拟打造全新互联网商城经营平台,对自有同质类平台进行整合经营,统一服务流程与业务实施标准,实现客户体验和客户经营能力的全面升级。

  2 3:1的开发测试比

  项目包括60位开发人员和20位测试人员,开发测试比约3:1。设1位整体统筹项目经理和1位测试经理,共分4个子项目组:

  项目组A:负责商城中商户和商品配置功能;

  项目组B:负责商城中券的配置功能;

  项目组C:负责商城客户端展示、商品的搜索和购买功能;

  项目组D:负责支付和订单相关功能。

  1 整合带来的挑战

  (一)业务链路长、场景多

  项目建设涉及6个核心关键系统和30+个周边系统,以及多个外部第三方系统。业务链路长,功能和场景复杂多样。

  (二)人员新、培训难

  由于项目团队内开发、测试人员基本都是新人,在团队建立初期,一是团队成员互相不了解;二是团队成员对流程制度、工具和业务不熟悉;三是部分人员遇到困难时沟通不及时。

  (三) 排期紧、任务重

  为确保上线的质量,团队需要在1个多月的时间内完成接口测试、单系统测试、端到端测试、性能测试、兼容性测试、专项测试和探索性测试,时间紧、任务重。

  (四)需求范围广、变化快

  由于项目需求复杂、范围广,涉及干系人众多,如果前期需求细节沟通不充分、信息同步不及时,可能导致项目的延期。

  (五)干系人多、沟通复杂

  业务需求涉及多个部门、职能团队及外部供应商,如果未能建立有效且通畅的沟通渠道,将影响交付效率。

  2 以测试敏捷化实现有质量的整合

  (一)持续测试

  与业务、BA和开发工作相互促进,使得测试成为驱动交付质量与效率持续提升的最主要力量之一。

  1)全面开展落实测试左移

  从研发、运营和用户视角出发,要求测试人员前置需求环节发现问题,并形成测试风险库,打造测试人员的产品思维和业务同理心。

  需求分析:从需求的完整性、正确性、健壮性、可测试性和端到端场景,以及业务功能、性能、安全和数据标准等方面出发,梳理了需求风险点近100条

  系统设计:从接口、数据库、Redis等方面出发,梳理了设计风险库28条

  成效:通过测试左移,测试人员于需求分析阶段发现的静态缺陷占缺陷总量的10%,有效降低缺陷修复成本和质量风险。

  2) 一站式自动化接口测试

  为了尽早开展动态测试,提前发现缺陷,测试团队在开发阶段即开始接口测试准备,但面临如下问题:

  一是接口测试主要是依靠接口文档,测试过程中接口文档提供不及时、代码修改后未及时更新;

  二是异常场景多(如空、非法字符等),组合后用例数量级巨大,难以通过手工方式全覆盖。

  为解决以上问题,团队创新性提出了一站式解决方案:一是采用springfox-swagger实现Swagger注解方式编写接口文档规范;二是开发脚本自动化生成能力,基于预设规则,自动生成正反向场景数据,降低手工测试工作量,提高测试效率。平台架构如下:

  3)专项测试

  团队共开展6项专项测试:资金类计算、同一商品进行反复购买使用和退款、返回手势操作、生僻字和特殊字符、弱网流量测试和防爆点测试。

  此外,邀请近50位来自不同部门和职能的同事开展探索性测试,发现了多个系统健壮性处理及客户体验类问题,有力提升了产品客户体验。

  4)测试右移

系统上线后,依托日志分析、埋点数据分析和生产健康检查扩大测试覆盖面,及时发现问题并跟进解决,将生产问题的影响降到最低。

  (二) 高效协作

  1)建立协作机制

  核心关键系统信息同步:通过每日晨会汇报当前进度、困难和当天计划任务。各项目需要将T-1日改动的内容同步给上下游系统,避免因上下游信息不同步导致的功能问题。

  周边关联系统顺畅沟通:识别各系统干系人,确认各系统的改造类型(新增功能、按老功能改造、数据初始化、参数配置、链接替换)和投产时间,通过进度跟踪台账,每日更新进度。

  外部供应商紧密对接:要求各供应商及时反馈问题,通过每周电话会议跟进各方进度,确保问题闭环。

  2)项目过程线上化、自动化管理

  一是通过统一测试管理平台进行测试进度可视化管理,确保所有项目成员均可实时查看项目整体测试进度、新增缺陷数量和缺陷解决时效等信息,以便及时识别风险并采取应对措施;二是实现测试交付物的一键生成,通过测试日报、周报、测试报告等交付物的自动化生成,显著提升交付效率。

  3)协助业务运营配置

  由于关联系统极其复杂,业务需配置的运营参数近百个。一旦上线后才发现参数配置错误,将影响整体投产割接进度和系统对外时间。

  为此,团队协同业务,提前梳理相关参数,并邀请各干系方评审,一是确认哪些由业务手工配置,哪些由开发初始化;二是明确业务配置具体时间和责任人,避免因参数配置问题导致的投产风险。

  4)构建测试环境,统一各方发版时间

  测试环境的搭建:为保障端到端功能测试和全链路性能压测,团队搭建了2套独立测试环境;针对部分外部依赖业务场景(如线下扫码等),我测试环境进行了扫码软件和扫码枪模拟线下环境的安装,确保全链路的覆盖和提高测试环境仿真能力。

  统一发版时间:测试过程中常出现两种问题:一是缺陷经排查后发现为关联系统或第三方系统发版导致,二是关联系统环境发版导致环境不可用。

  为了解决此类问题,减少测试过程等待造成的浪费,测试团队主动协调各方统一发版时间,提高了测试效率。

  (三)持续改进:

  1)依托自动化手段,解决造数瓶颈

测试过程中,下游系统时常需上游系统配合造数进行测试,互相影响和等待,严重影响测试效率。团队对此进行了深入分析,发现每次所需数据基本同一类型,如门店数据、商品数据和券类信息数据等,于是编写了上游系统自动化造数服务接口提供给下游,显著提升了测试效率。

  2)利用UI测试自动化,解决遍历海量门店商品痛点

  商城涉及成千上万的门店和商品的配置,为确保全量配置信息准确无误,客户能正常搜索门店并下单,需要对所有商品和门店进行遍历测试。由于工作量大、排期紧张,无法在短时间内手工完成全量测试。

  因此,团队通过自动化测试手段,将门店和商品信息作为数据源,以脚本方式完成搜索和进入详情页操作,整体测试10小时便可完成。

  3)通过缺陷分析,优化开发规范

  通过对全量缺陷的全面分析,发现很多缺陷皆因上下游数据标准不统一导致:

  上下游字段名称不一致,系统字段传输错误;

  上下游字段长度不一致,导致传输过程中出现字段被截取或者系统报错;

  金额类字段单位不一致,以分、以元存储的皆有,出现了上下游交互时未进行单位的转换的问题,以及转换过程中四舍五入处理问题。

  测试团队建议开发制定统一数据标准和规范,并统一术语和名称,从而减少类似的缺陷,最终建议被采纳并落实到项目规范中。

  4)优化业务配置,提升客户体验

  测试团队通过开展客户端性能测试,发现部分静态资源文件过大,导致部分页面加载缓慢。

  经过对业务上传图片格式的分析,团队建议业务人员对图片格式进行调整并统一规范。改进后,页面大小减少了50%,页面加载性能有所改进。此规范目前已推广到其他互联网项目中。

  (四)能力建设:

  为了将各项目的最佳实践、测试方法和测试技术在组织中高度复用,提升全员的测试能力,团队针对测试人员技能要求,开展建设“6+1”技能图谱:

  通过技能图谱建设,达成了以下目的:

  使测试人员技能提升系统化,改变以往随意发展、缺乏规划的情况。

  使测试人员全方位认知自己优势劣势,明确职业发展目标。

  使测试人员掌握充足的测试武器库,提升工作效率和测试质量。

  3 测试无处不在,质量才能无感存在

  通过该项目的测试敏捷化深度实践,测试人员不再只站在自身视角,还能站在用户和研发视角开展测试工作,重新审视测试的业务价值,增强了同理心,能与业务、BA和开发进行更高效的协作。

  提效也不再仅局限于自动化测试,还能从测试流程、方法、工具和沟通协作方面去思考和实践。

  测试手段也从单一的功能测试,逐步扩展到测试左移、测试右移、探索性测试、各类专项测试等,让测试无处不在。

QQ在线客服

点击这里给我发消息 在线客服1

微信客服

微信客服
扫码加客服微信

服务电话咨询

400-004-1069

服务营业时间

9:00-12:00,13:30-18:00