Advantages of Kea
In traditional application testing, we generally perform static analysis, dynamic exploration testing, and script testing. We can evaluate the error detection capability of these testing methods for functional defects from two dimensions: input space and functional relevance.
The input space of static analysis is small, analyzing only the source code using static analysis algorithms. The functional relevance is low, and the analysis is difficult to closely align with real application functions.
Dynamic exploration testing (Fuzzing) has a large input space, capable of generating a large number of different inputs to reach different application states. However, its functional relevance is low; an application function can be represented by a path composed of multiple events, making it difficult for the random testing process to fully traverse a complete application function path.
Script testing has a small input space, with a script test consisting of initialization, application function execution scripts, and assertions, always following a single path. The functional relevance is high as each script defines a function.
The capabilities of the three traditional testing methods can be represented in the following coordinate graph, where none of these methods previously achieved both high input space and high functional relevance. Therefore, we propose applying property-based testing methods to the functional testing field of mobile applications, which can achieve both high functional relevance and high input space, thereby fully validating the functional correctness of the application.
A comparison diagram of the capabilities of Kea and traditional testing methods
Here are some advantages of Kea:
Property-based testing: Kea introduces a general and practical testing technique known as property-based testing (PBT), which can effectively validate the functionality of applications.
Low maintenance costs: Compared to traditional script testing, the maintenance costs for application properties are lower, reducing the workload for testers.
Powerful functional defect detection capability: Kea is very strong in detecting functional defects in mobile applications, capable of automatically exploring and verifying the properties of applications, quickly discovering potential issues.