COMS 4170: Software Testing
Software Testing
COMS 4170 is a rigorous course that delves into advanced methods of testing and quality assurance for software at both the undergraduate and graduate levels the Iowa State University. It is taught by Professor Myra Cohen.
Overview
This course provides a rigorous study of software testing principles, methodologies, management strategies, and tools.
Topics include coverage criteria, specification- and structure-based test design, integration, system and regression testing, automated test generation, GUI testing, mutation and metamorphic testing, and test management.
Figure: Iterative flow of software testing key phases from requirements to closure.
Learning Objectives:
- Design tests to meet realistic coverage criteria
- Apply standard software testing techniques and tools
- Gain hands-on experience with automation and at least one advanced testing method
My Role
My Role (Computer Science Graduate Teaching Assistant, Spring 2025)
- Assisted in delivering course content and reinforced core topics such as black-box and white-box testing, adequacy and coverage criteria, integration, and regression testing.
- Supported the design, grading, and feedback process for assignments and examinations.
- Provided one-on-one mentoring and technical guidance to help students strengthen their understanding of software reliability, testing tools, and debugging practices.
Key Topics Covered:
- Principles and methodologies of software testing
- Test design techniques, including black-box and white-box testing
- Test models, adequacy criteria, and coverage metrics
- Integration, system, and regression testing strategies
- Automated test generation and tool-based testing frameworks
- Test management, documentation, and process optimization
- Advanced topics such as mutation testing, metamorphic testing, and AI-based testing approaches
Textbook
Introduction to Software Testing, 2nd edition by Paul Ammann and Jeff Offutt