—- data course —-
Number: 4012
Title: Software Testing
English Title: Software Testing
Level: Micromaster
Field: Software
Credits: 3
Type: Theoretical
Category: Specialized
Prerequisite: General Objective
Corequisite: –
Image: testing.png
ID: 4012
Instructors: Education, Education
Term: Summer 2025
Schedule: Monday 15:00-18:00
Priority: 40
General Objective
One of the most important skills for a software engineer is familiarity with software testing methods and the ability to use them appropriately. In this course, students will learn about software testing concepts and techniques, taking their first steps beyond being just a programmer.
Topics
Software Testing Concepts
Testing and failure concepts
Software tester workflow
Types of software tests (Acceptance Testing, System Testing, Integration Testing, etc.)
V-Model
Code coverage concept
Black-box and White-box testing
Unit Testing
Test Automation
Testable software and continuous testing
Purpose of test automation
Test case design
Unit test automation (Robot or Pytest tools)
Testing in Agile Environments
Coverage-Based Test Design
Test requirements and coverage criteria definition
How to use coverage criteria
Overview of coverage criteria (Input space partitioning, Graph coverage, Logic coverage, Syntax coverage)
Creating Test Roadmaps and Planning
Changing Systems and Regression Testing
Mock and Stub
Static Code Analysis
Assessment
References
P. Ammann and J. Offutt. Introduction to Software Testing. Cambridge University Press, 2017.