ICS 471

Software Testing

4 Undergraduate credits
Effective May 2, 2018 – Present

Graduation requirements this course fulfills

This course is designed to provide students with a solid grounding in software testing. The content is pragmatic and timely, and used by just about any major software development organization where Developers are now expected to test their code, and Testers are expected to develop automated tests. Students will gain an understanding of contemporary foundational concepts, learn how to discover attacks applied against a real-world major commercial software system, and learn automated testing techniques and tools. Students will also gain an appreciation of the deep synthesis between testing and object-oriented programming that is integral to agile methods. The course is designed to provide an environment that promotes a lively and rich exchange of ideas and online discussions.

Special information

Note: Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.

Learning outcomes

General

  • Explain the purpose of software testing and how it fits into waterfall and agile software development processes.
  • Apply proven and pragmatic techniques for black box and white box testing.
  • Apply various strategies for breaking software.
  • Design and develop a test plan, test cases, test data, and defect reports.
  • Utilize soft skills, including teamwork, oral and written communications skill, to write and present bug advocacy reports.
  • Design, develop, and execute automated tests using industry standard automation software.