IT-415 Software Testing and Quality Analysis (Spring 17)

Software testing is not a “silver bullet” that can guarantee the development of high quality software systems. Testing can be an efficient way to show the presence of bugs in a software system (or software artifacts developed in different phases of development process), but cannot prove their absence. It has noted by various researchers or industry professionals that it is impossible to completely test an application because: (1) the domain of program inputs is too large, (2) there are too many possible input paths, and (3) design and specification issues are difficult to test. The first and second points present obvious complications and the third point highlights the difficulty of determining the completenss and correctness of the requirement specification and the design of its implementation.

Students at the end of this course should be able to (1) understand the effectively strategies of testing, the methods and technologies of software testing, (2) design test plan and test cases for the given requirement specification, small-scale programs and large-scale projects (3) perform automatic testing (4) clearly and correctly report software bugs (5) assess the quality of software product (6) distinguish relationship between the software testing and the quality assurance, and many more.