Automated Testing Solution for Qunar Platform Based on Continuous Integration
This article describes how Qunar built a comprehensive automated testing system triggered by beta releases, incorporating CI‑driven execution, strong release‑blocking controls, and multi‑channel result notifications to improve release quality, reduce manual effort, and close testing gaps in a fast‑moving internet environment.
Background: Qunar, an internet travel company, faced quality challenges due to frequent beta releases and a traditional dev‑qa hand‑off process that could not keep up with rapid iteration, leading to missed defects, high maintenance cost of test cases, and occasional releases despite failed automation.
Goal: Establish an end‑to‑end automated testing solution that runs without manual intervention, becomes a mandatory step in the release pipeline, and provides immediate test results.
Solution Overview: Leveraging continuous integration principles, Qunar implemented a service called autotest_trigger that listens to beta‑publish messages from the message center and automatically launches the appropriate automated test cases.
Key Components:
Beta‑publish trigger: When a beta release is detected, the service gathers project metadata, deploys the tested services to a dedicated test environment, executes the automation suite, and publishes the results.
Strong flow control: A configurable “blocking” mechanism aborts a release if automation fails (e.g., 100% case pass required), with an optional skip that must be reviewed later.
Result notification: Test outcomes are pushed via instant‑messaging, email, and displayed on the project‑management platform, using clear visual cues.
Architecture: The system integrates the message center, autotest_trigger, environment‑management platform, quality‑management platform, project‑management platform, and configuration‑management service to form a closed loop from code change to release verification.
Challenges & Highlights:
Queue management for high‑frequency beta releases using Jenkins deduplication and non‑forced deployments to speed up execution.
Two deployment strategies – based on beta events or project‑management data – to satisfy different user needs.
Environment isolation to prevent cross‑project contamination by selectively refreshing services before each run.
Results & Outlook: The solution is now deployed across multiple business units, dramatically reducing missed tests and case‑maintenance overhead, while ensuring every project is validated by automation before release. Future work includes faster API test execution, richer reporting, and support for additional test types beyond API automation.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Qunar Tech Salon
Qunar Tech Salon is a learning and exchange platform for Qunar engineers and industry peers. We share cutting-edge technology trends and topics, providing a free platform for mid-to-senior technical professionals to exchange and learn.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
