Skip to content

Software Testing

Free Course

How to Make Software Fail

Related Nanodegree Program

Introduction to Programming

About this course

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.

What you will learn

  1. Domains, Ranges, Oracles, and Kinds of Testing
    • How to think about the different elements of software testing.
  2. Code Coverage
    • How to find parts of a program that need more testing.
  3. Random Testing
    • How to automatically generate test cases that break code in unexpected ways.
  4. Advanced Random Testing
    • How to engineer a sophisticated random test case generator.
  5. Consequences
    • 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!
  6. Conclusion

    Prerequisites and requirements

    Programming experience is required.

    See the Technology Requirements for using Udacity.

    Why take this course?

    This course will teach you how to think like a software tester, how to find bugs in code earlier, and write better code.

    Learn with the best.

    • John Regehr
      John Regehr


    • Sean Bennett
      Sean Bennett