Module: Testing

Learn to design and implement tests.

Learning Outcomes

Design and implement effective test suites

Learn to implement a set of tests that assure an acceptable level of quality for your software applications.

Readings

Introduction to testing

Motivation, white box, black box, coverage, tool support

Screencast 32 min

Testing in the Play Framework

Play’s built-in support for testing

Screencast 10 min

Introduction to play-example-fluentlenium

A Play application illustrating Fluentlenium and the page object pattern for testing.

Screencast 13 min

Testing in play-example-form

Illustrates Fluentlenium in play-example-form (link starts at minute 22)

Screencast 6 min

JUnit Tutorial

Introduction to the most popular Java unit testing framework

Fluentlenium Home Page

A wrapper around JUnit for testing web applications.

The Page Object Pattern

A useful design pattern for organizing your test code.

FEST Assertions

More readable tests (see FluentAssertions section).

Experiential Learning

Practice WOD: DigitsTest

Add testing to your Digits application.

A27: Testing Technical Essay

Write a technical essay summarizing your experience doing the Testing practice WODs.

Surferpedia Testing

Implement testing for your Surferpedia application

Assessments

Group WOD: Testing

Outcomes assessed: Acquire capability with the Eclipse IDE, Create standards compliant Java code, Write code efficiently, Design using Play Framework, Use cloud-based hosting effectively, Work effectively in a group, Use cloud-based deployment effectively, Design and implement effective test suites

Rx: < 40 min Av: 40-50 min Sd: 50-60 min DNF: 60+ min or incorrect

Students worked in groups in-class to create a GitHub issue documenting a needed test for a Surferpedia system, implement and commit the test, and close the issue.

Discussion:

  • All groups accomplished this task.

Testing Technical Essay

Outcomes assessed: Create high quality technical writing

This assessment evaluated the ability of students to write a high quality technical essay summarizing their experiences doing the Testing practice WODs.

Discussion:

  • Some students, presumably due to end-of-semester pressures, did not submit or did an unsatisfactory job on this essay.