AGILE TESTING SESSION

High quality testing is not trivial. You need the right mindset and insights.

Test-Driven-Development (TDD) is a way to assure your code is testable, valid and minimal. TDD forces you to be aware of tests early on. For some it feels as a high learning curve, but in reality you're going to adapt quickly if you do the time.

You will be able to create unit-, acceptance- and user interface (UI) tests, based on concepts like measure how many independent test paths your code (method) has, — i.e. how complicated the control flows is.  (if/else, loops, &&/||, switch, ternaries etc.). Each test path needs to be tested at least once.

  • Duration: 4 hours.
  • Type: Online or Onsite.
  • When: 5 or more participants.

SUGGESTED TOPICS


  • Manual vs. automated tests.
  • Unit-, Component- and Integration, Acceptance- and UI tests.
  • Understanding Cyclomatic Complexity and its purpose.
  • Adapting to the Test-Driven-Development (TDD) paradigm.

EXERCISES


  • Create Unit tests using JUnit and TDD.
  • Create UI tests using Selenium.

Tools


JAVA

Java is a programming language and development platform, which reduces costs, shortens development timeframes, drives innovation, and improves application services.

JUNIT

Makes it easy, fast and reliable to write and run automated tests for Java code. The foundation for almost all other Java testing libraries. It lets you prove your code still works after it is changed.

TEST DRIVEN DEVELOPMENT (TDD)

Write a “single” unit test. Run the test, which should fail because of lack of the feature we're coding. Write “just enough” feature code to make the test pass. Refactor the featue code until it conforms to the simplicity criteria.

CUCUMBER

For running automated acceptance tests, written in plain language, so they can be read by anyone on your team, improving communication, collaboration and trust.

SELENIUM

A UI test framework to create quick bug reproduction scripts and automation-aided exploratory testing. Supports record-and-playback of browser interactions.