King's  Logo

COURSE NUMBER: CMPT 405
COURSE TITLE: Software Testing and Security
NAME OF INSTRUCTOR: Dr Andrew Tappenden
CREDIT WEIGHT AND WEEKLY TIME DISTRIBUTION: credits 3(hrs lect 3 - hrs sem 0 - hrs lab 3)
COURSE DESCRIPTION: This course addresses problems and solutions for long-term software maintenance and evolution, and for large-scale, long-lived software systems. Topics include software engineering techniques for large-scale projects, commercial-grade software testing of complex projects, legacy software systems, software evolution, software maintenance, re-use and programming efficiencies, computer systems and security from a development perspective. The social and professional issues that arise in the context of software engineering will be discussed.

Prerequisites: CMPT 320
REQUIRED TEXTS: None
MARK DISTRIBUTION IN PERCENT:
Laboratory Assignments 30%
Lecture Assignments 15%
Midterm 20%
Final Exam 35%
100%
COURSE OBJECTIVES: The course is will provide students with a firm grasp of the concepts surrounding the design and implementation effective software testing suites, specifically:
  • Introduce the concept of Software Verification & Validation
  • Understand the fundamental testing techniques — black- & white-box strategies
  • Understand the testing as a development-wide effort, not merely an add-on
  • Reinforce  testing  theory  with  practical  laboratory  examples  using  current  software testing tools and techniques
The  course  will  provide  the  students  with  an  introduction  to  software  security  and  the developmental processes required to support the development of secure software systems:
  • Introduce the concept of Software Security
  • Understand security as a process — not just an addition
  • Understand how software security spans all of the layers of complexity of any software system
  • Reinforce security theory with practical laboratory examples using current software tools and techniques
TOPIC OUTLINE:
  • Software Testing
    • An Introduction to Software Testing
    • Understanding Software Defects
    • The Test Case
    • White-Box Testing
    • Black-Box Testing
    • Unit Testing
    • System Testing
    • User & Acceptance Testing
  •  Software Security
    • An Introduction to Software Security
    • Physical Security
    • Cryptography & Transportation-Layer Security
    • Application-Layer Security


Required texts, assignments, and grade distributions may vary from one offering of this course to the next. Please consult the course instructor for up to date details.

© The King's University
Maintained By Institutional Research