
Explore testing as executing software to uncover errors and demonstrate correct behavior. Show how defect estimation and a planned test plan reduce critical bugs and costs in a traditional model.
Master verification and validation in the software testing lifecycle, contrasting static verification with dynamic validation. Apply unit, integration, system, and user acceptance testing from requirements to deployment.
Prioritize testing of the extensively used, critical parts of the software with a formal test plan and strategy, while managing risks to protect schedule, budget, and quality.
Learn to estimate testing effort using Delphi technique and test point analysis, deriving size from function points and aligning strategy with customer inputs.
Monitor and control a software testing project by designing and managing test cases, executing tests, and tracking defects; include test bed preparation and reporting with key metrics.
Software Testing courses are a study of testing software wherein students learn to test a variety of software to make sure it meets the business or client's requirements. Software Testing basically encompasses regression, maintenance, functional testing, performance testing, etc.
This course will examine fundamental software testing and program analysis techniques. In particular, the important phases of testing will be reviewed, emphasizing the significance of each phase when testing different types of software. Students will get to learn the basic concepts of software testing, black-box testing techniques, how to implement test processes on a test management tool. Students will learn the state of the art in testing technology for object-oriented, component-based, concurrent, distributed, graphical-user interface, and web software.
In addition, closely related concepts such as mutation testing and program analysis will also be studied. Emerging concepts such as test-case prioritization and their impact on testing will be examined. Students will gain hands-on testing/analysis experience via a multi-phase course project.
By the end of this course, students should be familiar with the state-of-the-art in software testing. Students should also be aware of the major open research problems in testing. Skills like automation, test case design, test management, and defect tracking are crucial to ensure that the software being tested is error-free.