ITest特性
测试用例编辑页面
多维度运行支持,提高测试运行稳定性
1ITest总体架构概览
灵活的用例组织,提高测试效率
ITest提供了简洁的可视化配置页面,用户通过对关键接口信息的配置、断言项的选择及预期结果配置即可完成单个接口测试用例的组织。目前平台可支持http,jsf,dubbo,jdbc等常用协议类的接口用例配置。
在自动化编码的过程中,测试代码维护在代码仓库中,测试用例的管理也依赖于代码仓库。项目中不同模块的测试情况没有一个总体的入口,较难对测试的情况进行度量和总体评估,不同模块间的用例复用也变得比较困难。
测试步骤,测试用例及参数化关系
接口测试位于测试金字塔的中间层,与业务关联度较高,测试及运行成本适中,同时能够覆盖到端对端测试所不能覆盖的并发,安全等,在测试过程中占据重要地位。
ITestengine功能逻辑示意
0测试计划组成示意
测试报告概览
为更好支持接口自动化测试,ITest接口自动化测试平台计划在以下方面继续丰富完善功能:
复杂场景的接口自动化编码耗时多,接口测试工具无法满足个性化需求
测试步骤,测试用例及测试计划是ITest接口自动化平台的核心概念。其中,测试步骤和测试用例是两个描述不同粒度测试行为的单位,测试步骤定义了单个接口测试行为,测试用例则可描述多个接口测试行为。测试用例可嵌套测试用例和测试步骤,满足复杂测试场景的编排需求。
与JCI&JAT深度合作,嵌入JCICI&CD流水线开放API,满足业务线多样化的CI&CD需求
而目前通用的接口测试工具能解决的多是通用性的需求,当用户的接口请求中包含自定义算法,加解密信息等情况时,接口测试工具无法给予友好的支持。
测试计划是多组测试步骤及测试用例的有序集合,beforeGlobal和afterGlobal中的用例是整个计划的前置用例和后置用例,beforeGlobal用例会先于整个测试计划内其他用例执行,若执行失败,则直接跳过该测试计划剩余用例。
丰富测试用例及测试计划的组织结构,在目前顺序组织的基础上,增加分支选择结构和循环结构的组织方式,以应对复杂测试逻辑的需求。
持续集成
测试计划执行情况可追溯,提供历史测试报告及执行详情
ITest由管理平台和执行引擎两大模块构成。其中,管理平台是面向用户侧的,负责测试用例的编辑及快速调试,测试计划的编排及调度执行,测试结果展示,消息通知,角色权限管理,项目空间和个人空间用例及计划的维护等工作。执行引擎则负责测试模板的解析及执行工作。执行引擎通过java编写,可以通过ITestAgent,Jenkins,容器云轻松集成,当前默认环境托管在数科容器云lambda上,提供面向数科测试环境及公网的集成测试能力。
项目域管理多组测试计划,用于不同迭代及测试目标
用例参数化配置
简洁的用例配置视,提供多协议支持
便利的项目协作&管理,简化沟通流程
测试计划可包含多个group,同一group中用例可共享执行上下文。在group中可定义beforeGroup和afterGroup用例,做为group内的前置用例和后置用例。beforeGroup用例若执行失败,则直接跳过该group中剩余用例。不同group间用例互不影响,可并行执行。
总体架构及模板简介
为提高测试效率,简化沟通成本,让测试同学专注于测试策略选择,测试用例设计、codeReview等更重要的工作,笔者所在团队研发了接口自动化测试平台ITest,致力于提供简易、灵活,通用的接口自动化测试服务。
互动讨论:你在日常工作中都遇到哪些接口测试的痛点?你觉得一个好的接口自动化测试平台是什么样子的呢?欢迎在留言区分享你的困惑或你的见解。
ITest平台将仅包含单个接口信息的测试形式定义为测试步骤,而将以before-test-after这种通用方式组织的测试形式定义为测试用例。测试用例中的before,after可选择多种协议类型的测试步骤,亦可选择测试用例。通过这种方式来灵活组织单一接口用例和复杂场景用例,同时实现步骤和用例的复用。同一用例范围内可支持不同测试步骤间变量的相互应用,同时支持将测试过程中测试步骤的关键结果信息提取为变量,在整个用例上下文中传递。
测试计划编排示意
测试工程详情视
团队协作不易,开发和测试对齐用例有沟通成本
同时因开发同学对测试情况了解不足,在冒烟阶段,bug验证及测试回归阶段,往往需要测试和开发同学对代码仓库中的用例进行对齐,有一定的沟通成本。
增加对脚本语言的支持,同时提供函数的上传与编辑需求,满足用户多样化自定义函数的需求。
通用的用例组织方式,可将测试结果特定信息提取为变量,在测试上下文中传递
内嵌常用的函数
常用函数支持
接口自动化测试因其能够降低回归成本,提高回归效率,在回归测试及冒烟测试阶段应用较为广泛。但面对日益复杂的软件设计,做好接口自动化工作并非易事,在此针对其中两个痛点进行阐述:
需求背景
用例在线快速调试测试计划执行,支持定时执行,批量执行等任务运行状态通知
自动化测试能够稳定执行的前提是,单个测试用例必须能够重复成功运行。这意味着完整的自动化用例中必须包含测试数据准备,测试调用,数据校验及数据清理工作等。
ITest未来规划
与通用接口测试工具功能对比
用例与数据分离
在应用逐渐微服务化的今天,A服务接口的数据准备工作可能会依赖多个B服务的接口,接口测试用例的设计本身对于测试同学的业务能力就是不小的挑战,要完成高质量的稳定可重复运行的自动化用例的编码,更是一件耗时的事情。
ITest架构设计
核心概念
项目空间内用例共享,利于项目内用例复用和对齐项目域内测试执行计划灵活编排
jdbc协议测试步骤配置
文章为作者独立观点,不代表股票交易接口观点