Fall 2026 — Assignment 2
Due 7-October-2026, 1pm
Purpose:
- Understand Input Domain Model (IDM) and practice Input Space Partition (ISP) testing
- Be able to apply ISP coverage criteria to create tests
- Be able to analyze and determine the quality of the tests
- Practice test automation using JUnit and Selenium (web test automation framework)
All homeworks are due before class on the due date.
All homework assignments must reflect your own understanding of the topic
and be communicated in your own words.
You may use one of the
collaborative options.
You may also request help and advice from your classmates on Piazza.
Any help not allowed by that policy will be an honor violation.
Early-submission bonus points
Purpose: To encourage students to start working on the homework assignments early
and recognize students who are actively engaged in the content
You will receive
- 4% of the points you earn (from the assignment)
if you submit your assignment at least 48 hours early (submitted by 5-October-2026 1pm).
- 2% of the points you earn (from the assignment)
if you submit your assignment at least 24 hours early (submitted after 5-October-2026 1pm,
by 6-October-2026 1pm).
Note:
The final submission timestamp shown on Gradescope will be used.
[Total: 20 points]
Apply Input Space Partitioning (ISP) testing to design tests for
the Study Room Reservation System
(https://www.cs.virginia.edu/~up3f/cs3250/sut/room-reservation.php)
web app.
Since a web app is accessible through a web browser—a browser's back button is a common cause of web app failures—
you are required
to consider and include the
browser's back button when developing Input Domain Models (IDMs).
Your automated test suite
must include
at least 1 test
that verifies the behavior of the program under test
when the browser's back button is clicked.
Part 1: Create IDMs
- (2 points) Define the characteristics of the input variables.
Make sure you cover all input variables for the web app under test.
- (2 points) Partition the characteristics into blocks. Ensure you satisfy both
the "completeness" and "disjointness" properties.
- At least one of your IDMs must cover the browser's back button.
- (1 point) Define a concrete test value for each block identified
in the previous step.
Part 2: Apply the ISP coverage criterion to identify tests
- (1 point) Provide two base tests.
You will use these base tests in the next step
when applying the Multiple Base Choice Coverage (MBCC) criterion.
- (8 points) Write a set of test cases that satisfies Multiple Base Choice Coverage (MBCC).
- Derive your test requirements.
Be sure to submit your minimal set of test requirements
that satisfy the MBCC criterion.
- Analyze and identify any infeasible test requirements you might have,
and fix them if possible.
- Write a set of test cases that satisfy these test requirements,
using the values defined in Part 1.
- Explicitly include the test input values and expected outputs for each test case.
(-2 points) for providing redundant test requirement(s) and/or test case(s)
(-1 point) for missing expected output(s)
Part 3: Automate your tests
(6 points) Automate your test cases (from Part 2) using a web test automation framework
- You are required to use
Selenium — Java version
- In addition to the web test automation framework, you should use JUnit for assertions.
- Demonstrate success by submitting your tests (.java file, do not submit .class file)
along with screenshot(s) clearly showing the successful results of the execution.
- Reminder: for naming convention, use meaningful and descriptive test method names.
Note: Your MBCC test set from Part 2 is expected to adequately test the software.
If your test set consists of only a few tests,
it is likely inadequate or inappropriate,
and you should review your test design in Parts 1 and 2.
Points for Part 3 will be awarded based on the quality and adequacy of your automated tests.
Grading Rubric
[Total: 20 points]
Complete the tasks and satisfy the requirements. Answer the questions correctly and clearly.
( -5 points) for 24 hours late (submitted after 7-October 1pm, by 8-October 1pm)
(-10 points) for 48 hours late (submitted after 8-October 1pm, by 9-October 1pm)
(-2 points) for submitting a Word document or handwriting, or a write-up that is not a typed PDF file.
Submission
- Your write-up
- Save your write-up as a PDF file (only typed PDF is accepted)
— No handwriting. No hand-drawing. No Word document.
- Your Selenium test file and evidence(s)
- A .java file, not a .class file.
By default, we will download, compile, and run your test file.
- (-6 points) if your Selenium test file (.java) is missing or inaccessible,
does not open, does not compile, or does not run.
Thus, be sure to verify that your Selenium .java file is accessible, compiles, and runs.
- Evidence(s) or screenshot(s) showing the results of running your tests.
Be sure to show the result of each test and
a discussion of any tests that failed.
- (-1 point) if no evidence showing the run and the results is provided
Section 1: Upload all files to Assignment 2 – section 1 on Gradescope.
Make sure you connect your partner to your group on Gradescope so that everyone receives credit.
Section 2: Upload all files to Assignment 2 – section 2 on Gradescope.
Make sure you connect your partner to your group on Gradescope so that everyone receives credit.
Each team submits only one copy.
Verify that you submitted the correct version of your assignment.
Making your submission available to the instructor and course staff is your
responsibility;
if we cannot access or open your file, you will not get credit.
Be sure to test access to your file before the due date.
Copyright © 2026 Upsorn Praphamontripong
Released under the
CC-BY-NC-SA 4.0 license.
Last updated 2026-09-29 19:34