Testing is an important activity for any organization responsible for producing software, whether it is a software manufacturer or an internal application development department. Software testing consumes up to half the total cost of developing many software products but, despite the huge investment, it is often done inefficiently. Some of the testing done by hand can be done faster, cheaper or better by automating the tests.
This course explores several types of automated testing. The success and risk factors for each of these automated testing approaches are analyzed and evaluated as part of the class. Topics include:
- Analysis of your requirements for test automation
- Five automation design strategies (exhaustive, statistical, heuristic, small sample, and consistency-driven)
- Risks, costs, and benefits of regression testing
- Strategies for successful testing of graphical user interfaces
- How to design the appropriate automation mechanism for your environment
This class treats test automation as a software development project. Participants will be given exposure to the analysis of requirements, cost, risk, software architecture, high-level design, data design, and design for maintainability, as these apply to test automation.
This course will be most informative for students who have extensive course work with computers and significant work experience in programming, test automation, software testing, or test management.