干货| 自动化测试工具FitNesse使用实践

2023-06-01 0 517

FitNesse(全称Fit)被表述为两个轻量的、开放源码的智能化试验架构,能协助试验项目组展开USB自

FitNesse(全称Fit)被表述为两个轻量的、开放源码的智能化试验架构,能协助试验项目组展开USB自动化试验和重回试验,透过在web网页上展开单纯的表单撰稿逐步形成试验示例就可实现,因此能运转那些试验示例以确认市场预期结论与否透过。Fit是由java撰写顺利完成,全力支持多词汇的试验,主要包括java、c、c++、python等。

Fit架构包涵三部份:wiki,testsystem,fixtures。wiki部份用作试验人员撰写试验示例,继续执行示例和检查和继续执行结论。test system主要包括slim和fit,是Fit的继续执行发动机。Fixtures是试验代码。如下表所示图右图:

,—————.

  |  WikiServer  |<————-.

`—————              v

           |               ,————-.

           |               |  Reporting |

           v               `————-

,—————.              ^

   | Test System  |————–

   `—————

           |

           |

           v

,———————.

|  System Under Test  |

`———————

相比较与TestNG,Fit的最大优势在于将业务逻辑示例与试验代码完全隔离,功能试验人员负责在Fit网页上撰写

虚拟卡账务系统是公司P0级系统,处于业务系统链条的核心端,前端产品的金融属性、产品属性、业务模式(如放款类型、还款类型等)、费率配置、交易数据存储、息费计算、用户额度数据等等,都需要账务系统的功能支撑。目前虚拟卡账务系统已对接了主要包括自有(安逸花)和合作方(如京东、网易、唯品会等等)共计超过30个金融产品。

账务系统核心功能全力支持循环/非循环额度模式,交易全力支持消费、取现、分期、转分期、退货、主动还款、线下还款、批扣、代扣、提前结清、终止,入账全力支持实时/非实时入账、实时结转、合并账单日,同时还有一部份合作方特殊定制化的逻辑处理。为了保障公司业务的发展速度,虚拟卡账务系统的上线频率基本保持在一周2到3次。面对功能如此复杂的系统和紧凑的上线频次,在账务系统需求的sit试验阶段、上线前的预发布重回阶段,都需要引入智能化试验,用智能化试验手段来覆盖账务核心功能和产品核心交易场景,确保账务系统每次上线的稳定性。

Fit智能化在账务系统试验过程中,有三个应用场景:sit试验过程中的试验数据制作、sit试验过程中功能表数据检查和、预发布重回试验中账务核心功能智能化重回。

在实际采用中,首先,我们封装了一套通用性的调用方法,如:USB请求调用、数值运算、日期运算、数据库操作、json拼装等等。

干货| 自动化测试工具FitNesse使用实践

以USB调用为例,如下表所示图右图:

干货| 自动化测试工具FitNesse使用实践

1、本方法全力支持POST/PUT/GET/DELETE四种请求方式;

其中GET和DELETE请求的参数既能直接写在requestURL中,也能写在parameters中,写在parameters中的参数会自动组装到url上,组装格式为requestURL?parameter

2、全力支持application/json、application/xml、application/xhtml+xml三种文件类型;

3、默认连接超时时间为50000ms;

4、默认编码格式为UTF-8;

5、连接成功时,excute()方法返回true;否则为false;

6、getResponse()方法返回响应内容

2查到值,有list结构的,key表示为key1[1]形式,指定取list对象key1的第两个元素

本身的实现逻辑,降低了功能试验人员的技术门槛。

在有了公用方法之后,第二步,我们对虚拟卡账务系统的单点功能展开了USB组合封装,目的是为了给试验人员提供统一的调用采用方式,也便于维护,当某个单点业务发生变化的时候,只要维护一处即可,对实际的试验示例本身无任何改变。

干货| 自动化测试工具FitNesse使用实践

第三步,对环境信息的添加和维护,智能化示例的继续执行环境可能会发生变化,因此需要将继续执行环境的信息展开统一维护,如试验环境的IP、登录信息、USB请求方式、数据库信息等。

干货| 自动化测试工具FitNesse使用实践

在以上三部顺利完成后,接下来就能展开账务智能化示例的实现了。

在账务智能化示例实现过程中,主要分为两大步骤:业务示例设计、代码实现。

在业务示例设计过程中,首先,整理出账务系统核心功能点,同时以产品、交易、账单周期三个维度,整理合作方产品特殊的示例逻辑,并以判定表的形式整理出来。

干货| 自动化测试工具FitNesse使用实践

干货| 自动化测试工具FitNesse使用实践

下一步,根据核心功能和特殊逻辑点,展开Fit智能化示例代码实现,账务系统试验的两个特殊性在于需要校验大量的表数据,特别是在重回试验过程中,如果人工重回,时间成本非常大,因此随着账务系统功能不断增加,对接合作方不断增多,重回的成本会越来越大,因此智能化代码中,对于市场预期结论的检查和包涵了大量的表字段校验,很大程度上解放了人工试验资源。如下表所示图(部份截图),是对协议化开户相关数据的校验,已由Fit实现:

干货| 自动化测试工具FitNesse使用实践

下图是账务系统核心重回示例集,图中1-8是八个示例集,每个示例集中,都包涵若干test case:

干货| 自动化测试工具FitNesse使用实践

在展开某一个重回示例集后,会以账单周期的维度,创建示例步骤,如下表所示图,是以两个账单周期为跨度展开智能化示例重回,在每个step中,都有具体的示例:

干货| 自动化测试工具FitNesse使用实践

在展开每两个步骤中,是具体试验示例的实现,下图是step1-1展开后的test case:

干货| 自动化测试工具FitNesse使用实践

在具体的case中,会包涵详细的功能逻辑和数据验证,如下表所示图右图,每一栏以折叠形式展示,点击“加”号,能展开,看到具体的逻辑代码实现

干货| 自动化测试工具FitNesse使用实践

干货| 自动化测试工具FitNesse使用实践

智能化示例顺利完成后,下一步是智能化继续执行,前文已经提到,在虚拟卡账务系统的试验过程中,Fit智能化应用在三个场景:sit试验时的试验数据制作、sit试验时的数据验证、上线前预发布重回的智能化覆盖。

Fit智能化继续执行非常单纯能单挑case继续执行,也能继续执行一组case。单独运转某一条示例,只需要在case网页,点击test即可。

干货| 自动化测试工具FitNesse使用实践

如果需要继续执行一组case,需要在撰写示例时先创建suite page,在suite page中创建test page,这样,当点击suite page中的suite按钮时,该网页下的所有case都会被顺序继续执行。

干货| 自动化测试工具FitNesse使用实践

Fit对于继续执行结论的检查和非常直观,市场预期结论一致会标记为绿色,否则会标记为红色,如果整条case继续执行透过,该case会被标记为绿色。

下图为单个case试验透过展示,运转结论会以绿色高亮显示,内容主要包括透过的case数,验证点数,继续执行时间:

干货| 自动化测试工具FitNesse使用实践

下图为suite试验透过展示,运转结论会以绿色高亮显示,内容主要包括透过的case数,验证点数,继续执行时间:

干货| 自动化测试工具FitNesse使用实践

下图为部份case验证失败展示,失败结论以红色高亮显示,内容主要包括继续执行成功与失败的case数,验证透过结论数、失败结论数,继续执行时间:

干货| 自动化测试工具FitNesse使用实践

下图为case继续执行后表数据校验透过展示,表中被绿色标记的数据,表示智能化示例继续执行结论与市场预期结论一致:

干货| 自动化测试工具FitNesse使用实践

下图为case继续执行后,表数据校验部份失败展示,被红色标记的数据,表示智能化示例运转后得出的结论与市场预期结论不一致:

干货| 自动化测试工具FitNesse使用实践

上面图例展示的Fit继续执行结论十分直观,当然,对于失败的case,需要试验人员展开原因排查,是上线代码原因还是环境原因亦或是本身case原因。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务