Code: SQA-026
Duration: 16 hours
Duration: 16 hours
Description
This course is aimed at participants who want to get acquainted with the modern concepts of software testing processes, as well as those who want to order and systemize their software testing knowledge and skills. The key 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 the comparison of different software development lifecycle models, plus defining and justifying the software testing role in each model. You’ll discover a detailed description of software testing levels (component testing, integration testing, system testing, acceptance testing etc.) and types (functional, performance, stability etc.), as well as a 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 we provide examples of defect lifecycles and defect report structures.
Roadmap
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
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
Testing team
- Independence of testing
- Levels of independence
- Why testing independence is important
- Communication in project team
- The tester’s role
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
Test Design Techniques
- Test Design Techniques overview
Introduction into defects
- Defects as a main tester’s deliverable
- Defect report
- Defect management tool
- Defect lifecycle
- Example of defect lifecycle
- Defects classification
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
Objectives
- The main concepts of testing (and adjacent areas for using testing results)
- What are the realistic expectations on test preparation and execution (in different software lifecycle models);
- Communicate appropriately with other domain experts to carry out effective testing (and deliver reports on results);
- Be able (with coaching or autonomously in simpler projects) to execute previously prepared test cases, describe and correctly enter them into bug tracker, as well as verify the defects fixed by developers
Target Audience
- Software Testers
- Test Designers
- Test Managers
- Test Automation Engineers
- Business Analysts
- Software designers
- Software Developers
- Technical Writers
- Project Managers
- Quality Managers