Lesson 13: Prototype Testing

Overview

Question of the Day: What can we learn by testing our prototype with real users?

The primary purpose of developing paper prototypes is that they allow for quick testing and iteration before any code is written. This lesson is focused on giving teams a chance to test their prototypes before moving to App Lab. Teams develop a plan to test with users before running prototype tests with multiple other students in the class (and potentially outside the class). In order to test the prototype with the users, the students will have to assign roles in the testing (the “narrator”, the “computer” and the “observers”) as well as have some questions prepared for the user to answer after the test is complete.

Purpose

The goal of this lesson is to give students a clear format for testing and iteration of their apps. This will be the first of multiple opportunities teams have to test various stages of their prototypes, and each stage will serve a different purpose. At this point the primary purpose is to gut check assumptions about how the app should be laid out and navigated - this is not the time for students to be overly concerned about fine details.

Assessment Opportunities

  1. Design and run test that use paper prototypes to gather feedback on a design

    Activity Guide: Several relevant tasks should be identified in the chart, along with notes describing the user testing around those tasks.

  2. Analyze user tests to identify features that should be removed, added, or improved

    Activity Guide: The left side of the T-chart should include at least four descriptions of things that happened in the test, and the right side should list respective proposed improvements to the app.

Agenda

Warm Up (5 min)

Activity (35 min)

Wrap Up (5 min)

View on Code Studio

Objectives

Students will be able to:

  • Design and run test that use paper prototypes to gather feedback on a design
  • Analyze user tests to identify features that should be removed, added, or improved

Preparation

  • Either have other people lined up to test each team’s paper prototypes, or schedule enough time for teams to test each other's prototypes
  • Print a copy of the Paper Prototype User Testing activity guide for each team
  • Print a copy of the User Test Cases activity guide for each team

Links

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

For the Teachers

For the Students

Teaching Guide

Warm Up (5 min)

Getting Prepared

Distribute: Make sure each team has their materials from previous lessons available.

Group: Have the students sit at their team tables.

Discussion Goal

Goal: This prompt is preparation for part of today’s activity where students will be introducing themselves & their teams to their user testers, and one part of that introduction is explaining the purpose of their app. Discussing this as a team first helps rehearse these talking points before discussing with other users.

Journal

Prompt: Today we will be testing our paper prototypes with other students in the class. If you needed to describe your app to a new user, what would you say is the purpose of your app?

Discuss: Have students journal individually, then share in their groups. There doesn’t need to be a full-group share out for this prompt.

Remarks

Today we will be testing our paper prototypes with other users in the classroom. This is an important step to make sure we get feedback early and often so we can make changes before programming our app. By the end of the lesson, we should have some new ideas based on user feedback for how we can improve our app!

Question of the Day: What can we learn by testing our prototype with real users?

Activity (35 min)

Preparing for Testing

Distribute: Give each team one copy of the Paper Prototype User Testing Activity Guide. Also give each team a copy of the User Test Cases Activity Guide - one copy for each user the team plans to test with.

Paper Prototype User Testing

Overview: Read through the (1) Overview section of the activity guide together. This gives an overview of today’s activity.

Video: Watch the What’s For Lunch? Testing video. This gives a model for what the testing process should look like.

Discuss: What did you notice about how this test was run? Ask students to share in their teams, then call out a few responses for the class. Specifically highlight the following observations:

  • The user is the person who is testing the app in the form of the paper prototype. They should pretend to execute the “app” by pressing on the prototype with their fingers in the way that makes most sense.
  • The user speaks through what they are thinking out-loud. They can also offer helpful suggestions in our critiquing form with sentences starting with “I like…”, “I wish…”, and “I wonder… “
  • The computer reacts to what the user does. If the user tries something that isn’t a part of the app navigation diagram, then the computer doesn’t react.
  • The narrator is the person who is running the test. This person will introduce the team members, app and its purpose.
  • The observers are the other students in the team. They will watch the interaction and write down in their notes what they see the user do in response to the computer. They don’t make any comments themselves - they just take notes.

Assign Roles: Read through the (2) Assign Roles for Testing section of the activity guide. Have students discuss in their teams which roles they will take on in the first round of testing. There should be only one narrator and only one computer, and all other team members can be observers.

Create Test Cases: Read through the (3) Create Test Cases section of the activity guide. Students will work in the User Test Cases Activity Guide for this section, filling in the App Introduction section and completing the left-column of the table. They should not fill in the rest of the table - the user will do this instead.

Teaching Tip

How Many Users? For timing reasons, this lesson assumes each team will get to have one other user test their app. However, you may have time for multiple teams to test each other's apps - or, you may encourage students to test their apps with members of the community outside the classroom (such as family members or other peers in school). If so, make sure each user has their own copy of the User Test Cases Activity Guide so they can record their own unique comments when testing the app.

Circulate: Monitor students as they fill in the User Test Cases Activity Guide. Make sure they are only filling in the left-most column with the tasks they want their user to test - the rest of the chart should be blank.

Test Your Prototype: Read through the (4) Test Your Prototype section. This section may still feel unclear after reading the directions - remind students of the video they watched that modeled this process.

Teaching Tip

Actionable Feedback: A key takeaway from this activity is that students leave with a plan for changes they can make to their app based on their testing. This usually requires setting your ego aside and seeing feedback as opportunities for improvement rather than evidence of failure. Remind students that these are just prototypes, nowhere near the final project. Also remind students not to take feedback personally - that all apps go through this process and they get better because of it.

Do This: Find another team to test your app with. Spend half your time for them to test your app, then take the other half of the time for you to test their app.

Circulate: Students will start their tests which should run for about 5-7 minutes each. Make sure they are following their roles. Encourage students to keep on task, and encourage the observers to write as much as they can.

Summarize Findings: Read through the (5) Summarize Findings section of the activity guide. Have groups discuss what they observed and record their findings on the activity guide. In particular ask them what their observations mean in terms of changes they'll need to make for the user interface of their prototype.

Wrap Up (5 min)

Journal

Discussion Goal

Goal: Students may notice that new users discovered new ways to use the app or encountered certain problems they never considered. This can lead to a conversation about bias - because the team was involved in the creation of the app, they may have overlooked different aspects of how the UI is designed or made assumptions about how the user would use it. This is why it’s important to have an outside user test those assumptions early and often.

Prompt: Did you notice a difference between the feedback you discovered yesterday and the feedback you received today? Did you notice any similarities?

Discuss: Have students journal individually, then share in their groups. If there is time, ask groups to share their responses with the class.

Standards Alignment

View full course alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming
  • 2-AP-10 - Use flowcharts and/or pseudocode to address complex problems as algorithms.
  • 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.
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.
  • 2-DA-09 - Refine computational models based on the data they have generated.
IC - Impacts of Computing
  • 2-IC-22 - Collaborate with many contributors through strategies such as crowdsourcing or surveys when creating a computational artifact.