When writing software, destruction can be just as valuable as creation. Learn how to catch bugs and break software as you discover different testing methods that will help you build better software.
This course will teach you how to think like a software tester, how to find bugs in code earlier, and write better code.
Programming experience is required.
How to think about the different elements of software testing
How to find parts of a program that need more testing
How to automatically generate test cases that break code in unexpected ways
How to engineer a sophisticated random test case generator
How to deal with lots of bugs, how to take a big input that triggers a bug and make it smaller, how to report a bug, and more!
John Regehr is a computer science professor at the University of Utah. His research is on making software fail and on making software that fails less often. Lately, he is obsessed with compiler bugs and integer overflow problems.
Sean Bennett is a Course Architect at Udacity and is passionate about using the web to improve the quality of education available worldwide. Sean's background is in web programming, and he likes to dabble in functional web programming. When he's not working to improve education, Sean likes running, hiking, and preparing for the inevitable zombie apocalypse.