
Explore how structure-based software testing translates code into graphical diagrams to design test cases, including statement testing, branch decision testing, and branch condition testing, with JavaScript and Python examples.
Explore transforming algorithm descriptions into graphical workflows by identifying if-then conditions, else branches, and loops, as the first of three structure-based testing techniques, leading to statement testing.
Apply statement testing to cover every line of code, using one test for linear blocks. For if-then conditions, a single true-path test may suffice to execute all statements.
Demonstrates statement coverage through testing both true and false branches in if-then-else decisions, and shows loop testing with practical test cases.
Analyze sequential and nested if-then decisions and learn minimal test coverage for independent conditionals using a golden status example based on purchases over 2000 and service over 24 months.
Explore how two boolean operands combine with and, or, not, and xor to form complex conditions, and see how parentheses affect evaluation of the expressions and truth values.
Compare structure-based testing techniques by analyzing branch condition testing, modified branch condition testing, and branch condition combination testing, and evaluate their coverage metrics and test case demands.
This course will help you to improve your expertise in three most common software testing techniques applied at the code level. The course will also help you to prepare for ISTQB exams. It actually focuses on a specific part from the syllabus. The most important value from the course is the practical one. This serves as useful addition to the traditional ISTQB-related training.
It might be a bit difficult for the absolute beginners in the software testing area, but it can improve the competence of existing testers / QAs or developers creating tests for their code.
So often one can see the automated tests (e.g. unit tests, API tests) or manual tests are either not using distinct techniques or not applying the techniques properly thus losing the quality of the tests, not reaching the desired level of test coverage. This course will fill the gap – you will be confident about the main structure-based testing techniques, the rationale behind each test case. Understanding the testing methods also helps you in test planning – the number of tests required, to estimate the resources etc.
The techniques help both developers and QAs/testers. The principles can be applied both to software code and to higher level algorithms (e.g. in requirements specification or in the technical design documentation).
Every technique in this course is explained in detail. For each technique several examples are given, as author believes that this is one of the best ways of learning. After the course, start applying the structure-based test techniques!
The knowledge here is applicable in a tool-neutral manner. At the same time, most of examples are shown as Python code, some – as JavaScipt.