AngusTester
π₯ An agile development and testing platform designed to empower small and medium-sized enterprises to build their own R&D systems, streamline workflows, and enhance operational efficiency.
Install / Use
/learn @xcancloud/AngusTesterREADME
AngusTester
Introduction
AngusTester (referred to as AT) is designed to assist software development teams in efficiently and sustainably carrying out software development and testing activities, while fulfilling the agile development and testing requirements of users.
Core functions include software project management, functional testing, API testing, scenario testing, service mock, data mock, reporting, and analysis.
Target users consist of product owners, testers, developers, operations personnel, and managers.
For a detailed introduction to the AngusTester application, please see the: Product Documentation.
Architecture
The AngusTester system architecture diagram illustrates the relationships among the main applications, services, components, and data flow. This diagram provides a comprehensive overview of how AngusTester can be deployed rapidly and effectively.

Features
- Agile Development: Supports Scrum agile management, ensuring flexibility in development and testing, capable of rapidly responding to changes.
- Comprehensive Collaboration: All activities are tasks, supporting follow-up and management of development and testing activities such as requirements, stories, tasks, bugs (defects), interface testing, scenario testing, and functional testing.
- High Performance: Extremely high testing performance, with an overall performance improvement of over 30% compared to JMeter, capable of handling millions of concurrent connections and tens of millions of QPS performance scenarios for protocols such as Http and WebSocket.
- Distributed: In addition to single-machine testing, supports distributed environments and testing with hundreds of pressure testing nodes across different geographical regions.
- Automation: Can automatically generate test cases and scripts, as well as corresponding execution configurations based on test objectives and focus points.
- Intelligence: Allows querying knowledge bases, writing test cases, and scripts through AI intelligent assistant text interaction, simplifying workflows and improving work efficiency.
- Plugin-based: Greatly improves the customizability, extensibility, and maintainability of applications, allowing users to install and update plugins without upgrading the main application.
- Specification-based Testing: Unlike writing scripts in Python and C, AngusTester uses YAML and JSON text specifications to define scripts, making manual script writing simpler.
- Scenario Design: Compared to single-step testing, scenarios contain more steps and processes; additionally, users can replace manual script writing with the scenario design interface.
- API Asset Management: Treats backend development API results as important assets, and effectively manages and maintains them, such as online editing, debugging, and documenting interfaces.
- Multi-platform Apis Import: Supports import of multiple data formats including Swagger2.0, OpenAPI3.x, Postman2.0, Postman2.1, as well as custom import extensions.
- Service Mock: Quickly generates and simulates the APIs you depend on, enabling development and testing to proceed first, achieving faster development and more comprehensive testing; also avoids dirty data issues caused by direct integration with production systems.
- Data Mock: Supports rich data simulation functions, generating more realistic data compared to random data for system testing, service simulation, project demonstrations, and other scenarios.
- Metric Management: Supports setting of business performance metrics and test metrics ( functional testing, performance testing, stability testing).
- KPI-oriented Assessment: Supports statistical analysis of performance indicators such as number of tasks, workload, overdue rate, first-time pass rate, and first-time review pass rate.
- Service Sharing: Multi-tenant support, providing comprehensive RestFul style APIs for easy integration with other CI systems or development systems.
- Achievement Sharing: Maximizes sharing of scripts, parameterized files, scenario designs, interfaces, reports, etc., among team members.
- Professional Reporting: Supports 16 types of business template settings and report generation for projects, functional testing, interface testing, scenario testing, task execution, etc.
- Extended Identity Management Support: In addition to built-in identity management, extends support for LDAP/Active Directory services and OAuth2 user single sign-on authentication.
- Security: Supports Https secure transmission protocol, data-level permission control, and policy-based access control (PBAC) permission schemes.
Agile Process
- Agile Development
Continuously improve the product through iterative and incremental delivery. The development team breaks the project into smaller, manageable parts called βiterations.β Each iteration typically lasts a few weeks, during which the team completes a set amount of work and delivers a usable product increment at the end.
In each iteration, the team adjusts and improves based on feedback from customers and stakeholders. This flexibility allows the development team to respond promptly to changes in user demands, ensuring the final product better aligns with user expectations. Through regular reviews and feedback loops, the team can identify issues, optimize processes, and implement improvements in subsequent iterations, thereby continuously enhancing product quality and user satisfaction.

- Agile Testing
Software testing in an agile development environment emphasizes close collaboration between testing and development. In agile development, testing is not a separate phase but occurs concurrently with development activities. This approach ensures that testers can engage early in the development process, allowing for earlier identification and resolution of issues.
Through continuous feedback and collaboration, the testing team works closely with the development team to identify potential defects and risks. This collaboration involves not only the design and execution of test cases but also understanding user stories and requirements. The goal of agile testing is to improve software quality, ensuring that it meets high standards in each iteration and fulfills user needs.

Plugins Support
AngusTester's plugin-based implementation supports the following plugins:
-
Functional Plugins
- Functional Testing β
- Security Testing
- Event Notification - Huawei Cloud SMS β
- Event Notification - Alibaba Cloud SMS β
- Api Signature
-
Protocol Testing Plugins
- Http(s) β
- WebSocket(s) β
- JDBC β
- TCP β
- FTP β
- LDAP β
- SMTP β
- MAIL(POP3/IMAP) β
- JMS β
- Dubbo
- gRPC
-
Middleware Testing Plugins
- Databases: MySQL β, SQLServer β, Postgresql β, Oracle β
- Cache Services: Redis, Memcached
- NoSQL: MongoDB β, ClickHouse, HBase, Cassandra, TSDB, InfluxDB
- Message Queues: Kafka β, RabbitMQ β, ZeroMQ, RocketMQ
-
Mock Data Plugins
- MockCsv β
- MockExcel β
- MockJson β
- MockSql β
- MockTab β
- MockXml β
- MockCustom β
Develop Technology
AngusTester application is developed using a modern architecture with a separation of frontend and backend technologies. This separation design significantly enhances the application's flexibility, scalability, and maintainability.
The current project serves as the backend for AngusTester, primarily providing RESTful API services. The main features of the backend include:
- RESTful API Design: The APIs adhere to REST principles, being stateless and operating through standard HTTP methods such as GET, POST, PUT, PATCH, and DELETE. This ensures easy integration with various frontend technologies and platforms.
- Scalability: The separation of frontend and backend allows each component to scale independently based on user demand and system load, improving overall system performance.
- Maintainability: By adopting a modular approach, developers can update or modify a specific part of the application without affecting others, thereby simplifying ongoing maintenance and feature enhancements.
For detailed information about the frontend project and its technology stack, please refer to the AngusTesterWeb documentation. The frontend aims to provide a user-friendly interface that interacts seamlessly with the backend APIs.
Below is the main technology stack for the AngusTester project:
| Category | Technology Name | Description | |--------------------|------------------------------------------|-----------------------------------------------------------| | Programming Language | OpenJDK 11+ | Provides a stable and open Java runtime environment with rich library support.
