Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
sequencers [2021/02/17 18:11] – [Sequencer - Mark Optimal] admin | sequencers [2024/01/03 21:51] (current) – [Sequencer - AllPairs] admin | ||
---|---|---|---|
Line 5: | Line 5: | ||
The test case generation is referred to as // | The test case generation is referred to as // | ||
- | The generated test cases can be automated to drive Application Under Test (AUT) through // | + | The generated test cases can be automated to drive Application Under Test (AUT) through // |
Line 11: | Line 11: | ||
=====Types of Sequencers===== | =====Types of Sequencers===== | ||
- | The algorithms used by the sequencers differ depend on the type of models: // | + | Sequencers generate |
- | + | ||
- | For // | + | |
Different algorithms achieve different coverage on the model. In combination with //stop conditions//, | Different algorithms achieve different coverage on the model. In combination with //stop conditions//, | ||
- | |||
- | For // | ||
- | |||
- | Constraints (rules) can be added to // | ||
Line 65: | Line 59: | ||
- | =====Sequencer - Pairwise===== | + | =====Sequencer - AllPairs===== |
- | //Pairwise// sequencer explores combinations of incoming and outgoing transitions of each state in the model and generate test paths that cover all incoming - outgoing transition pairs. | + | //AllPairs// sequencer explores combinations of incoming and outgoing transitions of each state in the model and generate test paths that cover all incoming - outgoing transition pairs. |
- | //Pairwise// sequencer offers more extensive model coverage than most of the sequencers ([[# | + | //AllPairs// sequencer offers more extensive model coverage than most of the sequencers ([[# |
- | =====Sequencer - Mark Optimal===== | + | |
- | Often times you may want to only test certain part of the model. | + | |
- | //Mark Optimal// sequencer generates the test cases using the same //Postman Problem Algorithm// used by [[# | + | =====Sequencer - Marking States/ |
- | + | With IDE, you can mark (highlight) states and transitions and generate | |
- | //Mark Optimal// sequencer (and [[# | + | |
- | + | ||
- | //Mark Optimal// sequencer is only available when running model in IDE. | + | |
- | =====Sequencer - Mark Serial===== | + | |
- | //Mark Serial// sequencer is similar to [[# | + | |
- | + | ||
- | What distinguishes //Mark Serial// sequencer from //Mark Optimal// sequencer is that the test cases generates follows the order the transitions are marked. | + | |
- | + | ||
- | //Mark Serlia// sequencer (and [[# | + | |
- | + | ||
- | //Mark Serial// sequencer allows you to test scenarios that require traversing transitions in a specific order. | + | |
- | + | ||
- | + | ||
- | //Mark Optimal// sequencer is only available when running model in IDE. | + | |
=====Sequencer - MCase===== | =====Sequencer - MCase===== | ||
- | //MCase// is a collection of transitions that represents a custom test case. //MCase// sequencer generates the actual test sequence (test steps) to navigate through the model to cover the transitions included in the //MCase//. | + | //MCase// is a collection of transitions that represents a custom test case. //MCase// sequencer generates the actual test sequence (test steps) to navigate through the model to cover the transitions included in the // |
The main use of //MCase// sequencer is to generate custom test cases, which can be used to test a bug fix, regression testing of important workflows and smoke testing. | The main use of //MCase// sequencer is to generate custom test cases, which can be used to test a bug fix, regression testing of important workflows and smoke testing. | ||
Since //MCase// is built with scripting, you can dynamically build any number of //MCases// through //REST// api. This provides an option to allow ALM process to test bug fixes remotely. | Since //MCase// is built with scripting, you can dynamically build any number of //MCases// through //REST// api. This provides an option to allow ALM process to test bug fixes remotely. | ||
- | |||
- | |||
- | =====Sequencer - Concurrent===== | ||
- | // | ||
- | |||
- | ===== Combinatorial Algorithms ===== | ||
- | In the ideal world we would want exhausted testing, but we all know that's not practical and in many cases not feasible. | ||
- | |||
- | // | ||
- | |||
- | * pairwise | ||
- | * 3-wise | ||
- | * 4-wise | ||
- | * 5-wise | ||
- | * 6-wise | ||
- | |||
- | |||
- | Pairwise algorithm geneartes the least number of test cases (permutations of variables) while 6-wise generates the most test cases but provides most coverage among the algorithm listed above. | ||
- | |||
- | Empirically most of defects are caused by the interaction between two variables, hence pairwise algorithm would provide decent coverage with least amount of test cases for most of the system. | ||
- | |||
- | |||