Engineering Approach to Test Design and Automation: From Requirement Analysis to Implementation
This article presents an engineering‑focused methodology for designing, implementing, and maintaining a concurrent automated testing framework that supports mobile and web platforms, covering requirement analysis, technology selection, solution design, implementation details, and ongoing maintenance.
Recently, the author was asked to give a technical sharing session at a new company and decided to discuss a client‑side concurrent automated testing framework previously presented in the community.
The original plan was to explain the framework's implementation and usage, but the focus shifted to "Test Design and Analysis" to explore why such tools are built and how they fit into an engineering process.
Testing tools and solutions are treated as engineering projects that follow a systematic workflow (illustrated by an image), aiming to serve the needs of testers as product users and to improve productivity and quality.
Test Requirement Analysis : With growing business, the number of automated test cases increases, leading to longer execution times—a common pain point. The goal of concurrent automation is to reduce execution time, increase coverage per unit time, and support scenarios like multi‑device interaction, while acknowledging added costs such as resource, project, and maintenance expenses.
The identified requirements include simple usage without coding, cross‑platform support (iOS, Android, Web) on both macOS and Windows, and the ability to run multiple real devices, emulators, or browsers simultaneously.
The project goal is to execute the entire concurrent automation process with a single command, guiding the subsequent test design.
Test Design : Two key aspects are technology selection and its application. The chosen technologies (shown in an image) inform the design schemes (also illustrated), and the article outlines solutions to anticipated challenges (third image).
Key design highlights include custom port range configuration, Appium/Selenium‑Grid service checks, Docker‑based automatic test environment construction, among others.
Implementation and Delivery : Architecture diagrams for mobile and web implementations are provided (images). The implementation builds upon earlier posts (links to testerhome topics) and demonstrates how an engineering mindset combined with product thinking delivers a robust testing tool.
Maintenance : After deployment, tools must evolve with technology upgrades and business changes. Maintenance should respect the original scope, avoid blind upgrades, and focus on sustaining the tool’s purpose—supporting concurrent automated testing without deviating into unrelated functionalities.
Extension : The article briefly discusses gray‑testing, emphasizing the need to cover business and user scopes, use data‑driven approaches (e.g., Nginx, Diffy, service isolation), and apply big‑data analysis to validate quality and uncover new requirements, completing the engineering loop.
Conclusion : From requirement gathering to analysis, design, implementation, and maintenance, the engineering process provides a repeatable framework for test tool development, underscoring the role of test engineers in delivering efficient, high‑quality software.
Author Introduction : Zhou Weiqu (Terry), currently responsible for platform testing at Alibaba Games, with two years of test development experience and a background in client‑side automated testing.
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.
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.
