{"id":28837546,"url":"https://github.com/nhn/eat","last_synced_at":"2025-08-02T05:40:10.857Z","repository":{"id":66236012,"uuid":"125472394","full_name":"nhn/eat","owner":"nhn","description":"Json based scenario testing tool(which can have test for functional and non-functional)","archived":false,"fork":false,"pushed_at":"2019-04-02T22:34:45.000Z","size":36021,"stargazers_count":41,"open_issues_count":4,"forks_count":3,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-06-19T12:44:05.741Z","etag":null,"topics":["functional-testing","game-server-test","game-server-testing","json","load-testing","server-client-communication","stress-testing","test","test-automation","test-driven-development","test-framework","test-runner","testing","testing-framework","testing-tools","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nhn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-03-16T06:17:30.000Z","updated_at":"2025-05-05T04:14:10.000Z","dependencies_parsed_at":"2023-02-20T16:31:40.137Z","dependency_job_id":null,"html_url":"https://github.com/nhn/eat","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/nhn/eat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhn%2Feat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhn%2Feat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhn%2Feat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhn%2Feat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nhn","download_url":"https://codeload.github.com/nhn/eat/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nhn%2Feat/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268339418,"owners_count":24234545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["functional-testing","game-server-test","game-server-testing","json","load-testing","server-client-communication","stress-testing","test","test-automation","test-driven-development","test-framework","test-runner","testing","testing-framework","testing-tools","unit-testing"],"created_at":"2025-06-19T12:31:16.082Z","updated_at":"2025-08-02T05:40:10.849Z","avatar_url":"https://github.com/nhn.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EAT(End-point Autonomous Testing Tool)\n\n\n[![GitHub release](https://img.shields.io/github/release/nhnent/eat.svg)](https://github.com/nhnent/eat/releases/latest) [![GitHub license](https://img.shields.io/github/license/nhnent/eat.svg)](https://github.com/nhnent/eat/blob/master/LICENSE) [![PRs welcome](https://img.shields.io/badge/PRs-welcome-ff69b4.svg)](https://github.com/nhnent/eat/pulls) [![code with hearth by NHN Entertainment](https://img.shields.io/badge/%3C%2F%3E%20with%20%E2%99%A5%20by-NHN%20Entertainment-ff1414.svg)](https://github.com/nhnent)\n\n\n## 🚩 Table of Contents\n\n- [System Requirements](#-System-Requirements)\n- Features\n  - [Scenario using Json](#-scenario-using-json)\n  - [Report Test Result](#-report-test-result)\n- [Background](#-background)\n- [Using Actor model](#-using-actor-model)\n- [Communications](#-communications)\n- [Contributing](#-contributing)\n- [License](#-license)\n\n\n------\n\n## 🌏 System Requirements\n\n- JDK(1.8)\n- Windos, MAC, Linux\n\n\n---\n\n## 🎬 Introduction Video Clip \n[![Introduction](eat/document/img/video_clip.png)](https://www.youtube.com/watch?v=Sk-PUh6DHjY)\n[YouTube Link](https://www.youtube.com/watch?v=Sk-PUh6DHjY)\n\n## 🎨 Features\n\n### 📖 Scenario using Json\n\n\n\n![example of scenario](eat/document/img/processing.png)\n\n\n\n**Json based scenario testing tool(which can have test for functional and non-functional)**\n\n- Transfer/Receiving packets are defined with **Json format**\n- The defined Json will encoded to Binary packet, and received binary packet will decoded to Json as well.\n- It provides **easy to understand and define** Test Case.\n- Internally,it uses java reflection, so **developer doesn’t need consider testing implementation**, just define **Test Scenario**.\n\n![example of scenario](eat/document/img/scenario_example1.JPG)\n\n### 👫 For Who?\nEAT can be used for the following developer who want have regression/load test\n- Developer who need Game Server Test\n- Developer who need General Server(which communicate with binary packet) Test\n\n### 📃 Report Test Result\n\nThe test report will displayed with the following features\n\n- Test result per each Scenario Unit \n- Summary for functional scenario test\n- Statistics Information\n\n\n\n#### 👍 Succeed\n\n![Test Fail](eat/document/img/test_succeed.JPG)\n\n\n\n####  👎 Failure\n\n![Test Fail](eat/document/img/test_failed.JPG)\n\n\n\n####  👏 Summary\n\n![Test Fail](eat/document/img/test_count.JPG)\n\n\n\n#### 🌌 Statistics\n\n![Test Fail](eat/document/img/test_statistics.JPG)\n\n\n\n------\n\n## 👤 Background\n\n### End-point Testing Tool\n\n- **Independence from client program**, server developer can have tests for their function.\n- Besides Unit-testing tool, server developer need testing tool which can **test end-point**.\n- Even unit function works well, we cannot guarantee that operation of service works properly. (Unit testing is not sufficient condition for full valid serviceoperation)\n\n### Scenario base\n\n- The scenario should **easy to read** for maintenance.\n- The scenario should support **integration and regression test**.\n\n### Expand to Load Testing.\n\n- Based on scenario, it can support **load testing**.(ex,Peak test, Stress test and so on)\n\n\n------\n\n### 🐋 Using Actor model\n\n–EAT is developed based on Actor model. \n\n–So,it can scaled out through nodes for Load Testing.\n\n![Actor Model](eat/document/img/actor_model.jpg)\n\n[More Detail](https://github.nhnent.com/ngt/eat/wiki/Overview/#using-actor-model)\n\n---\n\n## 👫 Communications\n\nBasically, EAT supports communication method such as Strem Socket, Web Socket, RESTful API and JMX with plug-in method.\nAnd if you want add more communication method, you can add it using plugin interface.\n\n[More Detail](https://github.nhnent.com/ngt/eat/wiki/Overview/#architecture)\n\n---\n\n\n\n## 💬 Contributing\n\n- [Code of Conduct](eat/document/CODE_OF_CONDUCT.md)\n\n------\n\n\n\n## 📜 License\n\nThis software is licensed under the [MIT](https://github.nhnent.com/ngt/eat/blob/develop/LICENSE) © [NHN](https://github.com/nhnent)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnhn%2Feat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnhn%2Feat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnhn%2Feat/lists"}