Course Name: Software Testing Foundations
Course Code: S2293204
Program: Computer Science
Course Module: Specialized Compulsory
Responsible: Zan Wang
Department: School of Computer Science & Technology, Tianjin University
Time Allocation (1 credit hour = 45 minutes)
Software Testing Foundations is a required course designed for Engineering Mater of Computer Science in TIEI. This course will examine the fundamental software testing and related program analysis techniques. In particular, the important phases of testing and the significance of each phase when testing different types of software will be reviewed. The course will also include concepts such as test generation, test coverage, regression testing, mutation testing, program analysis, and test prioritization. By the end of this course, students should be familiar with the state-of-the-art in software testing.
Programming Language, such as Java
To develop essential skills of software testing and analysis.
To improve the cognition of software testing and analysis.
To illustrate testing technology for object-oriented, component-based, concurrent, distributed, graphical-user interface and web software.
To present related concepts closely related to software testing such as mutation testing and program analysis.
To demonstrate emerging concepts, such as test-case prioritization and their impact on testing.
To improve students’ hands-on testing/analysis experience.
Introduction to Software Testing: e.g., the need for testing; testing as an integral part of software Engineering; software engineering processes and testing
Test-case Generation: e.g., black-box testing; white-box testing; path-testing; branch and predicate testing, GUI testing.
Test coverage and adequacy.
Regression Testing: e.g., test maintenance.
Usability Testing: e.g., installation testing.
Software Testing Effectiveness.
Runtime Test Case Generation.
Automated Usability Testing/Evaluation.
Software Compatibility Testing.
Textbooks & References
CT1: To know the concepts in fundamental software testing and program analysis techniques.
CT2: To understand the state of the art in testing technology.
CT3: To master how to use conventional testing techniques to test and analysis the multi-phase applications.
CS1: To master the basic theories of fundamental software testing and program analysis techniques.
CS2: To gain a comprehensive and solid foundation of conventional testing techniques to test and analysis the applications.
To know the concepts in fundamental Software Testing and program analysis techniques. - Level: A
To understand the state of the art in testing technology. - Level: N
To understand the significance of each phase when testing different types of software. - Level: N
To master using conventional testing techniques. - Level: M
To understand how to test/analysis the multi-phase applications. - Level: N
Students: Computer science, Year2