Fundamentals 8 min read

Comprehensive Guide to Software Testing Process and Types

This guide outlines a comprehensive software testing framework, covering basic smoke tests, functional, security, interface, compatibility, installation, performance, regression, and advanced testing practices, with detailed steps, responsibilities, and reporting requirements for development, testing, and product teams.

360 Tech Engineering
360 Tech Engineering
360 Tech Engineering
Comprehensive Guide to Software Testing Process and Types

Introduction

This article, originating from "Qtest之道," introduces common bugs related to function return codes and presents a structured testing methodology.

1. Basic Testing

Smoke testing involves developers, testers, and product personnel reviewing core functionalities, prioritizing priority‑0 cases, and delivering a smoke test report. Automated regression of stable main flows and basic features is performed before smoke testing.

2. Functional Testing

Test designers create test cases after requirements and detailed design are completed, covering normal and abnormal scenarios, impact analysis, user scenarios (network switch, lock/unlock, offline browsing, etc.), stability (monkey testing), and other tests such as timeout and permission checks.

3. Security Testing

Security specialists verify business impact and focus on SQL/OS injection, XSS, configuration errors, privilege bypass, DNS hijacking, and may apply DEX obfuscation to protect the app from reverse engineering.

4. Interface Testing

Focuses on interface correctness, handling of required parameters, parameter type validation, and synchronous/asynchronous request testing.

5. Compatibility/Adaptation Testing

Includes system version, device model, and resolution compatibility tests for browsers and platforms, covering major Android and iOS browsers, various screen resolutions, and specific adaptations such as hidden virtual keys, split‑screen, and landscape mode.

6. Installation/Uninstallation Testing

Validates normal and abnormal installation/uninstallation scenarios, ensuring proper package size, successful launch, clean removal, and appropriate user prompts under error conditions.

7. Basic Performance Testing (when no explicit performance requirements)

Determines the need for performance testing, covering client performance (startup time, memory/CPU usage, power, traffic) and small‑scale server performance (response time, concurrency, throughput). A test completion report is required.

8. Online (Backup) Regression Testing

Product and testing teams jointly execute regression tests for new features and main flows, followed by a formal release report.

Advanced Testing

1. Comprehensive Performance Testing (when performance requirements exist) includes activity memory/CPU usage, power consumption, traffic, response time, hot/cold startup, memory leaks, over‑rendering limits, and frame rate >60fps.

2. Stability Testing involves monkey testing under normal, weak, and no‑network conditions with failure probability below 0.07%, continuous 8‑hour runs without crashes, and CPU usage >80% for 5 hours without exit.

3. Static Code Inspection collaborates with developers to define coding standards, using automated scanning complemented by manual review.

High‑Level Testing

Promotes unit test completeness (at least one positive and one negative case per function/interface, optional >80% line coverage), code walkthroughs, and online automated monitoring with fault alerts.

performance testingquality assurancesoftware testingSecurity Testingcompatibility testingtest methodology
360 Tech Engineering
Written by

360 Tech Engineering

Official tech channel of 360, building the most professional technology aggregation platform for the brand.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.