Lesson 14: Testing the App

Overview

By the end of the previous lesson each team should have a minimum viable prototype of their app. The primary purpose of this lesson is to have the team actually test the app with other people, preferably from the target audience the app is intended for, or from different teams in the class while observers from the team will record the results on the worksheets they used in the planning phase. As with testing the paper prototypes, teams will start by planning for the specific scenarios before running and observing tests.

Purpose

By now students should be fairly practiced at testing with users. This time around, however, the role of the computer is actually done by the computer! This means that the team running the test needs to focus their energy on getting carefully watching what the user does, and encourage the user to say aloud what they are experiencing. While it may seem at first that testing with an interactive prototype is easier (since no one has to manually change screens), it can actually be significantly more difficult to observe the user's experience.

Agenda

Warm Up (5 min)

Activity (45 min)

Wrap Up (5 min)

View on Code Studio

Objectives

Students will be able to:

  • Write out a detailed plan for how they will test their low fidelity prototype with other people
  • Run a user test on an app and record what users say about their minimum viable product

Preparation

Links

Heads Up! Please make a copy of any documents you plan to share with students.

For the Students

Teaching Guide

Warm Up (5 min)

Review Testing Process

Discussion Goal

Mostly this review is to switch perspective from implementing and back to testing. It’s also to show them how similar this testing session will be with what the class did with paper prototypes.

Discuss: Ask the students to recall the process used in the testing of the paper prototype. Good questions to discuss with the class include:

  • What were the steps we used we used in testing the low fidelity prototype? (Expected answer: planning, testing, analyzing)
  • What were some of the roles our team mates played in the our testing?
  • Do you think we need the role of the “computer” in this testing scenario?
  • What is a Task and how does it relate to a Test Case?
  • What were some of your Tasks that revealed valuable information in testing?
  • What were some of the good questions you asked at the end of the testing session?
  • What do you think will be different about testing with the app vs testing with the prototype?

Activity (45 min)

Preparing for Testing

Teaching Tip

Reducing Printed Materials: This Activity Guide can be completed online or as a journal activity.

Distribute: App User Testing - Activity Guide

App User Testing

This activity guide is very similar to the one students used for testing of their paper prototypes. The primary difference is that there is no "Computer" role, as the actual computer will take care of that. This also allows for the group to run more tests at once, so consider having groups divide and conquer in the testing of this iteration.

Transition: When teams have had sufficient time to prepare their test cases, transition to the testing phase.

Running User Tests

Teaching Tip

This test should be longer than testing with the low fidelity prototype as you want the user to be as detailed as possible.

If students get done early, have them go back and do a second round with the same person, perhaps to see if that person missed anything or is willing to “say aloud” more information about their thoughts as they use the app.

Set Up: Decide how groups will pair up for testing and place the arrangement where students can see.

Prompt: Using the App User Testing - Activity Guide, test your app with a user.

Circulate: Students will start their tests which should run for about 10 minutes each. Encourage students to keep on task, and encourage the observers to write as much as they can. After students are done, have them move back to their original team.

Wrap Up (5 min)

Team Debrief

Discuss: Teams review the findings from today's testing and plan for testing opportunities outside the classroom.

Standards Alignment

View full course alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming
  • 2-AP-15 - Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
  • 2-AP-17 - Systematically test and refine programs using a range of test cases.
  • 2-AP-18 - Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.
CS - Computing Systems
  • 2-CS-01 - Recommend improvements to the design of computing devices, based on an analysis of how users interact with the devices.
DA - Data & Analysis
  • 2-DA-08 - Collect data using computational tools and transform the data to make it more useful and reliable.
IC - Impacts of Computing
  • 2-IC-22 - Collaborate with many contributors through strategies such as crowdsourcing or surveys when creating a computational artifact.