Grundlagen des Software-Testing
- Testpyramide und verschiedene Testebenen
- Bedeutung von Tests in der Softwareentwicklung
- Testing-Best-Practices und -Antipatterns
- Aufbau einer Teststrategie
- Testautomatisierung vs. manuelles Testing
- Einführung in das unittest-Framework
- Verwendung von pytest
- Mocking und Patching
- Parametrisierte Tests
- Test-Fixtures und Setup-Methoden
- Property-Based Testing mit Hypothesis
- Behaviour-Driven Development (BDD)
- Performance-Testing
- Security-Testing
- Load- und Stress-Testing
- Systematische Debugging-Strategien
- Verwendung des Python-Debuggers (pdb)
- Logging und Tracing
- Memory-Profiling
- Remote-Debugging
- TDD-Workflow und Red-Green-Refactor-Zyklus
- Design durch Tests
- Refactoring mit Tests
- TDD-Best-Practices
- Common TDD-Pitfalls
- Testing von Microservices
- Datenbank-Integration-Tests
- API-Testing
- Container-basiertes Testing
- End-to-End-Tests
- Integration in CI/CD-Pipelines
- Automatisierte Testausführung
- Reporting und Metriken
- Test-Coverage-Analyse
- Qualitätsmonitoring