Skip to main content

Automated Software Testing: Model and State-based Testing

Learn the advanced software testing techniques, tools, and best practices required to deliver high-quality software.

Automated Software Testing: Model and State-based Testing

There is one session available:

8,594 already enrolled! After a course session ends, it will be archived.
Starts Oct 28
Estimated 5 weeks
3–5 hours per week
Self-paced
Progress at your own speed
Free
Optional upgrade available

About this course

Skip About this course

Software testing gets a bad rap for being difficult, time-consuming, redundant, and above all - boring. But in fact, it is a proven way to ensure that your software will work flawlessly and can meet release schedules.

In a two-course series, we will teach you automated software testing in an inspiring way. We will show you that testing is not as daunting a task as you might think, and how automated testing will make you a better developer who programs excellent software.

This second course builds upon the first course's material. It covers more advanced tools and techniques and their applications. Key topics include state-based and web testing, combinatorial testing, mutation testing, and property-based testing.

This is a highly practical course. Throughout the lessons, you will test various programs by means of different techniques. By the end, you will be able to choose the best testing strategies for different projects..

If you are or want to become a five-star software developer, QA engineer, or software tester, join this course. Testing will never be the same again!

At a glance

  • Institution: DelftX
  • Subject: Computer Science
  • Level: Advanced
  • Prerequisites:
    • Familiar with the outline of the first course
    • Practical experience with testing

What you'll learn

Skip What you'll learn
  • The key ideas behind advanced software testing techniques, such as mutation and property-based testing
  • The current state-of-the-art in software testing research, such as the usage of artificial intelligence to automate testing activities
  • The limitations of current testing techniques, and how todetermine the best testing strategies for a given context

Topic 1: Model-based testing and decision tables

  • Create decision tables to represent complex decisions of your software.
  • Apply different coverage criteria in the decision table to generate test cases.

Topic 2: Model-Based testing and state machines

  • Devise state machines that represent the software system (e.g., web systems) and use them to generate test cases.
  • Apply different coverage criteria to generate test cases that cover different paths of the system.

Topic 3: Self-testing

  • Understand what pre-conditions, post-conditions, and invariants are, and how to design them in your software system.
  • Use these contracts to test your software from the “inside out”

  • Write properties and let property-based testing frameworks generate test cases automatically.

Topic 4: Mutation testing

  • Understand the key ideas behind mutation testing.
  • Apply mutation testing in software systems and discover what parts of your software are not tested enough.

About the instructors

More about this course

Skip More about this course
LICENSE

The course materials of this course are Copyright Delft University of Technology and are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike (CC-BY-NC-SA) 4.0 International License.

Who can take this course?

Unfortunately, learners residing in one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX for Business.