Regression Test Properties
Context Relevence Experiment
The (in)sensitivity of context determines the granularity of regression test selection analysis. If the context is sensitive, we need a fine-grained dependency analysis and test selection such that test cases with different contexts can be selected. If insensitive, then we can consider only selecting minimal test cases that cover all changes for efficiency. Figure 2 shows the idea of our evaluation. Given two test cases (π 1 and π 2) that can reach the same state π 2 from different playing histories (i.e., different context), we evaluate the impact of different contexts at state π0 on future states by cross execution. Consider π 1 that covers the state sequence (. . . , π 0, π 2, π 3, . . . , π π), we try to execute a sequence of actions (π 1β²) that include the actions of π 1 before the common state π 2 (context from π 1) and the following actions of π 2 after π 2. If π 1β² can be replayed successfully, then we say the context of π 1 has little effect on the future execution (i.e., insensitive). Similarly, we try to use the context of π 2 and replay the future actions of π 1. We measure the context sensitivity based on the success rate of the cross execution. The higher the success rate, the less sensitive the context.Β
We collect 10 real-world tasks from a large-scale study video game which will also be used in our evaluation. For each task, we first randomly generate 50 test cases. Then we identify all intersection states among the 50 test cases. Each intersection state has π predecessors and π successors where π > 1, denoted as (π, π) intersection. Finally, we identify an average of 119.8 (π, π)intersections for each task, including 56.9 (π, 1) intersections.Β
Statistic of Different Crossing Nodes and Testing TracesΒ
Crossing Nodes Distribution among Different Tasks
Crossing Nodes Selection
We selected 50 pairs of traces for the cross execution, where each pair has at least one intersection (π > 1). Note that the selection strategy considers the distance between the initial state and the intersection, which can affect the length (difficulty) of the cross execution. For example, the length of (π 2, . . . , π π) could affect the difficulty of replaying π 1β². We try to balance the distance of the selected intersection. Then we perform the cross execution for each pair of test cases. Our results show that the success rate of cross execution is 100%, which indicates the context insensitivity of game execution.Β
You can find the selected pairs of traces from: Download Data
Example:
The random sampled crossing nodes from STG trace