Code Monkey home page Code Monkey logo

sofa-acts's Introduction

ACTS

ACTS是基于数据模型驱动测试引擎的的新一代测试框架,它的数据以YAML为载体,在此上构建基于数据模型的驱动引擎,适配TestNg+SOFABoot的测试上下文环境;支持高效、标准化构建用例,可视化编辑测试数据,精细化校验结果数据和自动清理DB数据,可以有效降低人工录入用例数据的成本,同时支持API重写提高测试代码的可扩展可复用性,提供特有注解提高测试代码编排的灵活性。

一、背景

保证代码质量、提高测试效率一直以来是测试人员关注的重点。目前现有测试框架依赖人工编写大量代码来组织测试数据、调度业务、控制校验点和清理DB数据,使得数据和代码耦合在一起,难以达到精细化校验,同时测试代码体积膨胀过快,可复用性降低,开发测试人员编写测试用例的效率难以提升。 为了提高测试用例编写效率和数据校验的完整、准确和精细化,蚂蚁金服基于TestNg研发了ACTS测试框架来解决上述问题。

二、功能简介

ACTS提供了下面的能力:

2.1 数据可视化编辑

框架实现了测试数据与测试代码的分离,同时配套提供可视化编辑器ACTS IDE,通过ACTS IDE可以快速地录入、查看和管理用例数据,有效减少重复性的数据准备代码。

2.2 精细化校验

为了提高方法返回值、DB变更数据等期望数据值的填写效率和减少检验点遗漏,框架提供了预跑返填功能;在ACTS规则标签的标记下,实现期望DB数据、期望结果等精细化校验。

2.3 丰富的数据API

ACTS数据自定义API接口封装于ActsRuntimeContext类里,可快速获取和设置自定义参数、用例入参、期望结果等,满足用户对用例数据的自定义操作;

2.4 自定义引擎各阶段

为了提高ACTS的灵活可扩展性,框架的ActsTestBase测试基类对外暴露各个执行阶段方法,包括prepare,execute,check,clear等,例如在测试类中,通过重写process方法可将整个测试脚本重新编排。

2.5 统一配置能力

配置文件中提供丰富的配置能力以定制化框架的个性需求。

三、快速开始

请查看文档中的快速开始来了解如何快速上手使用 ACTS。

四、如何贡献

在贡献代码之前,请阅读参与贡献来了解如何向 ACTS 贡献代码。 ACTS 的编译环境的要求为 JDK7 或者 JDK8,需要采用 Apache Maven 3.2.5 或者更高的版本进行编译。

五、感谢

ACTS源于蚂蚁金服内部众多测试技术人员的经验总结,同时汲取了蚂蚁内部其他优秀白盒测试产品的设计优点,感谢这些工作者们的辛勤付出。

六、示例

ACTS入门使用示例

七、文档

请参考 ACTS 用户使用手册。

sofa-acts's People

Contributors

elseifer avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.