Each test corresponds to a generated subgraph. If the generated subgraphs are correctly defined, then to activate one such generated subgraph it is sufficient to specify only its input values. The activation occurs for the most part in the same way as for control flows, except when you can decide that it is easier to start from the output and move towards the inputs. If there are no selection nodes or control flow nodes in the generated subgraph, there is no need to talk about activation. Any acceptable input values will work.
Are you eager to create top-notch IT products? Then you need to be ready to monitor and control the entire development life cycle! Choosing to resort to offshore software testing you will be able to ensure quality of your products at attractive price.
If there are selection nodes or control flow nodes, several procedures should be followed:
1. Pay attention to the minimum and maximum values for each input. If there is a set of the values, write down all the values from it.
2. Follow all the branches of the generated subgraph in the opposite direction (to the beginning), marking the paths that the inputs reach without passing through the selection nodes (data streams or control flows). You can still ignore these parts of the generated subgraph, because there are likely no restrictions for incoming data.
3. Go up along the paths until you reach the selection node (for which you have already made a choice). This selection node – whether it is a node for selecting data streams or a control flow – contains a predicate whose value you have already determined (by selecting this generated subgraph). This predicate now imposes restrictions on all input values that can be achieved when moving on a generated subgraph from this point. Define the widest set of input values that satisfy this predicate.
4. Continue to process each predicate you encounter (when moving to the beginning of the generated subgraph). If there are more than two predicates in the generated subgraph on the selected path, their conditions should be considered simultaneously, and each subsequent predicate imposes additional restrictions on possible input values.
For data streams, activation is usually easier, because in this case there are relatively few intermediate nodes and you usually do not need to interpret predicates in order to express them through the input variables. If you are dealing with this case, act as if you were working with control flows, given that you are dealing with generated sub-graphs for data streams, and not with separate paths.