Training | Property-based testing in Kotlin

Use Property-based testing (PBT) to increase trust for your Kotlin programs. Verify your program properties feeding large amounts of auto-generated inputs.

kotlin

Overview

Property-based testing is a powerful technique to increase trust in the correctness of our code. Being complementary to example-based or parametric testing, this testing technique focuses on finding universal properties that can be asserted for parts of our software, and verifying them on large sets of inputs. In this course we will use KotlinTest, a library that enables PBT in Kotlin.

Prerequisites

  • Previous experience with Kotlin.
  • Experience writing tests.
  • Experience writing tests.

What you'll learn

  • The value of property based testing.
  • KotlinTest as an implementation of PBT.
  • The concept of generators.
  • How to write our own generators.
  • Arrow generators in KotlinTest.
  • How Arrow codebase uses property based testing.
  • Writing generators for data types or type class instances.
  • Properties. What are they?
  • Identifying properties of our software.
  • Writing software with PBT in mind.
  • Using default generators with properties.
  • Using constrained generators with properties.
  • Retrying a failed property.
  • Real use cases where property based testing applies well.

Company and Private Group Training

Related courses upcoming in the Academy

Functional Programming Fundamentals in Kotlin with Arrow

Functional Programming Fundamentals in Kotlin with Arrow

Learn Functional Programming in Kotlin in this intensive online course brought to you by 47 Degrees Academy and led by Jorge Castillo.

  • Duration 2 Days
  • Complexity Beginner
  • Date July 21
Functional Programming Fundamentals in Kotlin with Arrow

Functional Programming Fundamentals in Kotlin with Arrow

Learn Functional Programming in Kotlin in this intensive online course brought to you by 47 Degrees Academy and led by Jorge Castillo.

  • Duration 4 Days
  • Complexity Beginner
  • Date August 10
Functional Android Development

Functional Android Development

Learn Functional Programming in Kotlin in this intensive online course brought to you by 47 Degrees Academy and led by Jorge Castillo.

  • Duration 2 Days
  • Complexity Beginner
  • Date September 29
Functional Programming Fundamentals in Kotlin with Arrow

Functional Programming Fundamentals in Kotlin with Arrow

Learn Functional Programming in Kotlin in this intensive online course brought to you by 47 Degrees Academy and led by Jorge Castillo.

  • Duration 4 Days
  • Complexity Beginner
  • Date December 10
Functional Programming Fundamentals in Kotlin with Arrow

Functional Programming Fundamentals in Kotlin with Arrow

Learn Functional Programming in Kotlin in this intensive online course brought to you by 47 Degrees Academy and led by Jorge Castillo.

  • Duration 4 Days
  • Complexity Beginner
  • Date January 19
Functional Programming Fundamentals in Kotlin with Arrow

Functional Programming Fundamentals in Kotlin with Arrow

Learn Functional Programming in Kotlin in this intensive online course brought to you by 47 Degrees Academy and led by Jorge Castillo.

  • Duration 4 Days
  • Complexity Beginner
  • Date May 24
Functional Programming Fundamentals in Kotlin with Arrow

Functional Programming Fundamentals in Kotlin with Arrow

Learn Functional Programming in Kotlin in this intensive online course brought to you by 47 Degrees Academy and led by Jorge Castillo.

  • Duration 4 Days
  • Complexity Beginner
  • Date July 27
Functional Programming Fundamentals in Kotlin with Arrow

Functional Programming Fundamentals in Kotlin with Arrow

Learn Functional Programming in Kotlin in this intensive online course brought to you by 47 Degrees Academy and led by Jorge Castillo.

  • Duration 4 Days
  • Complexity Beginner
  • Date September 20

Company and Private Group Training

Skills

This Property-based Testing in Kotlin includes:

  • Maximum Class Size of 15
  • Access to Academy EduTools Platform
  • Access to Course Materials
  • Certificate of Completion
  • Access to a Private Channel with Trainers in the Academy Slack
  • A Q&A session one week post-course
  • A pre-and-post meeting with our trainers