To be determined
This course is intended for participants who wish to get acquainted with contemporary concepts of software testing processes, as well as those who want to order and systemize their software testing knowledge and skills. It depicts the evolution of testing concepts along with maturing of the software development industry. Required terms and definitions are introduced according to the glossary provided by ISTQB – the international organization which defines various principles of the software testing industry (and provides certifications for software testers).
A large part of the course is dedicated to comparison of different software development lifecycle models, plus defining and justifying the software testing role in each model. Classification and detalization of software testing levels are provided (component testing, integration testing, system testing, acceptance testing etc.) and types (functional, performance, stability etc.), as well as classification by other parameters (with or without code execution, with different levels of knowledge about code structure (related to changes by type of test execution) etc. In the “Defects” topic I provide examples of defect lifecycles and defect report structures.
And finally, the personal skills of a software tester are listed, including interpersonal skills and requirements for beginner tester qualification. Course materials are supported by many examples and exercises for training participants.
After training the participant:
1. Fundamentals of testing
• What is testing?
• Why is testing necessary?
• Testing process and test activities
• Testing objectives
• Definitions: «verification» vs. «validation»
• Testing and quality
• 7 testing principles
2. Software development lifecycle models
• Software development project
• Software development
• Software lifecycle
• Software lifecycle: key aspects
• Waterfall model
• Iterative and incremental models
• Agile-methodologies
• Spiral model
• Testing challenges in the waterfall model
• Testing challenges in iterative and incremental models
• Specifics of Agile testing
• Testing challenges in the spiral model
3. Testing team
• Independence of testing
• Levels of independence
• Why testing independence is important
• Communication in project team
• The tester’s role
4. Testing types and levels
• Testing levels
• Examples of testing levels
• Unit testing: overview
• Integration testing: overview
• System testing: overview
• Acceptance testing: overview
• Classification of testing types
• Static testing
• Dynamic testing
• Black-box testing
• Grey-box testing
• White-box testing
• Data integrity testing
• Security testing
• GUI testing
• Non-functional testing
• Performance testing
• Load testing
• Stress testing
• Usability testing
• Testing related to changes
• Exploratory testing
• Testing tours by Whittaker
5. Test Design Techniques
• Test Design Techniques overview
6. Introduction into defects
• Defects as a main tester’s deliverable
• Defect report
• Defect management tool
• Defect lifecycle
• Example of defect lifecycle
• Defects classification
7. Software tester’s portrait
• Personal skills
• Use of software systems
• Domain/business knowledge
• Activities in various phases of the software development process
• Activities in software testing
• Interpersonal skills