SE 230IntermediateSoftware engineering
Software Testing and Quality
pytest, API and UI testing, static analysis and the pipelines that run them.
57 lessons, not started
What you will learn
- Write unit and integration tests with pytest
- Test APIs and user interfaces
- Catch problems early with static analysis and CI
Syllabus
57 lessons in 8 sections. Take them in order, or open any lesson directly.
- Software Testing and Quality
Phase 1: Testing Fundamentals (QA Theory)8 lessons
- Introduction to Software Quality Assurance (SQA)
- The Cost of a Bug - Why Testing Matters
- Software Development Life Cycle (SDLC) vs. STLC
- The V-Model in Software Testing
- Verification vs. Validation
- Principles of Software Testing (Pesticide Paradox, etc.)
- Manual vs. Automated Testing - When to Choose?
- Black Box, White Box, and Grey Box Testing
Phase 2: Levels of Testing7 lessons
Phase 3: Unit Testing with Python (unittest)8 lessons
- Introduction to Python’s unittest Library
- Writing Your First Test Case
- Using assertEqual and Other Assertions
- Test Discovery and Running Tests
- Organizing Tests into Test Suites
- The Test Lifecycle - setUp() and tearDown()
- Class-level Setup - setUpClass() and tearDownClass()
- Skipping Tests and Expected Failures
Phase 4: Modern Testing with pytest8 lessons
- Why Choose pytest over unittest?
- Writing Concise Tests with Plain assert
- Pytest Fixtures - Managing Test Dependencies
- Parameterized Testing - Running Tests with Multiple Data Sets
- Pytest Markers - Custom Tags and Filtering
- Generating HTML Test Reports
- Measuring Code Coverage with coverage.py
- Mocking and Patching with unittest.mock
Phase 5: API & Web Testing Automation7 lessons