Software testing


Created by

This course aims to:

Give you basic knowledge and practical training in software testing and processes. We will introduce you to methods and techniques for detecting software defects.

“Whoever teaches learns in the act of teaching, and whoever learns teaches in the act of learning.”
~ Paulo Freire, Pedagogy of Freedom

Course program

What we will be learning together?


Software Quality Basics

  • Basic concepts
  • Terminology
  • What are bugs?

Principles and objectives of testing

  • Why we test?
  • The Role of testing in software development
  • Testing vs Quality Assurance
  • Main principles

Software testing deliverables

  • Documentation in the testing process
  • Test case
  • Test suite
  • Test management systems
  • TestLink

Software Development Life Cycle

  • Considerations in the SDLC phases
  • Models and methodologies
  • Introduction to Agile

Software testing phases

  • Testing process
  • Testing stages

Test levels and types

  • Different levels of testing
  • Most common types

Defects management

Defects description and management

Bug tracking systems

Intoduction to JIRA

Testing techniques

  • Static testing techniques
  • Dynamic testing techniques

Test design techniques

  • Black box techniques
  • Equivalence Partitioning
  • Boundary Value Analysis
  • Decision table testing
  • State Transition
  • Use case testing

White box Techniques

  • Statement testing and coverage
  • Decision testing and coverage

Exploratory Testing

  • Finding bugs with freeform testing
  • Dynamics of replanning and continuous test design
  • Applying test heuristics for test ideas
  • Mechanisms of continuous test planning

Performance Testing

  • Performance Testing, Stress Testing, Load testing
  • JMeter

Organisation of the testing process

  • Test management
  • Planning and Control
  • Risk Assessment

Testing tools

  • Introduction and classification
  • Different types of tools in testing

Testing software projects (Workshop)

  • Analysis
  • Test planning
  • Test case design
  • Implementation
  • Execution
  • Reporting


Stay in touch:
java Evgeni Kostadinov