
Explore statement testing, decision branch testing, and branch condition testing from a structural perspective, with practical planning for coverage, examples, and progressively challenging quizzes.
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.
Represent the software as a control flow, highlighting sequences and branching in code. Compare Python and JavaScript, showing how simple statements become workflow boxes that perform conversions and calculations.
Master conditional statements with if-then and if-else, illustrated in Python and JavaScript, showing how discount logic and final payment depend on months of service.
Master for and while loops by demonstrating how to represent a looping workflow, iterating over letters to sum ASCII values, with Python and JavaScript 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.
Explore statement testing, a core structure-based testing technique, by executing every code line and developing conditions to reach each software part, with Python examples and quizzes on test case design.
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.
Explore sequential and nested if-else structures to determine minimum test cases for statement coverage, using main workflows and loyalty status examples to illustrate paths.
Explore special cases in condition testing, including unreachable statements and contradictions, and learn how sequential if statements and endless loops affect test coverage and required test cases.
Assess statement testing coverage by counting executable statements and executed ones to compute a coverage ratio, highlighting quality, untested branches, and loop termination; connects to branch testing and conditional testing.
Develop branch and decision testing by visiting all arrows in workflow diagrams, covering all outcomes, and comparing with statement testing through Python-based examples.
Explore branch and decision testing principles, comparing with statement testing, and learn how true and false paths require separate tests and how to determine minimum test cases via workflow intersections.
Present branch decision testing versus statement testing for conditional statements, covering if/else and loops, true and false paths, minimum test cases, and workflow intersections.
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.
Shows nested decisions in structure-based testing, using control flow diagrams and the horizontal bar method to determine minimum test cases for full branch coverage of if-then and if-then-else paths.
Explore unreachable branches in structure-based testing, assess true and false path feasibility, branch decision coverage, and identify unfeasible paths that reveal potential code issues.
Explore branch/decision testing and its coverage metric by measuring unique executed branches, compare it with statement testing, and discuss advantages and challenges in achieving comprehensive coverage.
Explore branch condition testing, a variation of decision testing, focusing on operand values and combinations to determine true or false outcomes, and learn three approaches to reduce test case counts.
Learn branch condition coverage testing and the three levels of evaluating branch conditions, from simple boolean variables to complex comparisons in if-else and loop statements.
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.
Explain the goals of branch condition testing, ensuring each operand in a multi-operand expression is tested as true and false, and distinguish it from decision coverage test.
Explore branch condition combination testing, covering all true/false operand combinations for two or more operands, using and, or, and parentheses, and note how constant outcomes can reduce possible results.
Explore the modified combinations of conditions, a method in condition testing that avoids enumerating all operand outcomes by showing how each operand influences the outcome.
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.
Master these three structure-based testing techniques in practice to achieve proper coverage, high quality, and applicability to manual and automated testing at code and algorithm levels.
Apply the key structure-based testing techniques across languages, from C to Kotlin, in early prototyping and unit testing. Integrate automated tests into CI/CD to transfer algorithm insights into real projects.
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.