What would a Software Testing degree look like?
Software Test Hiring Managers have a difficult time finding trained candidates. A Software Engineering degree might be the closest one we look for, but it forcibly directs the career path away from testing.
Often tester's skills are cobbled together from experience, blogs, books, or certification programs. Unfortunately, those methods are trendy, technology-focused, and lacking first principles. Instead, a tester needs an educational foundation that teaches long-lasting concepts that will enable them to adapt to challenging projects.
Here is my sample curriculum focused on foundational skills for software testing. I started with a typical Software Engineering degree and heavily tailored it to meet the foundational needs of a professional tester.
First, I substitute the more advanced mathematics classes for philosophy since testing techniques are based on asking good questions. Next, I replaced the advanced Software Engineering coursework with Software Testing coursework. Finally, the degree rounds out with Business and Communication essentials that make you effective.
Starring departments: Philosophy (PHI), Mathematics (MTH), Computer Science (CS), Communication (COM), English (ENGL), Business (BUS)
Year 1
Semester 1
MTH 101 Discrete Math
ENGL 101 English Composition I
CS 101 Fundamentals of Software Development I
PHI 201 Introductory Logic
Semester 2
MTH 220 Probability and Statistics
CS 102 Fundamentals of Software Development II
ENGL 102 English Composition II
COM 101 Oral Communications
Year 2
Semester 3
CS 201 Data Structures and Algorithms
CS 181 Fundamentals of Software Testing I
PHI 220 Learning Theory and Epistemology
ENGL 320 Technical Writing
Semester 4
CS 210 Software Requirements Engineering
CS 220 Object-Oriented Programming
CS 182 Fundamentals of Software Testing II
PHI 288 Pragmatics
Year 3
Semester 5
CS 201 UI Test Automation
CS 330 Database Design and Basic SQL
BUS 470 Systems Analysis & Design
CS 250 System Administration and Maintenance
Semester 6
CS 202 API Test Automation
BUS 320 Project Management
CS 310 Unit and Integration Testing
COM 350 Conflict Resolution
Year 4
Semester 7
COM 301 Persuasion, Argumentation
CS 401 Senior Design Project I
CS 341 Non-Functional Testing I
BUS 301 Managerial Risk Analysis and Decision Making
Semester 8
CS 430 Software Test Planning and Management
CS 402 Senior Design Project II
CS 342 Non-Functional Testing II
BUS 455 Process Improvement Methodologies