Fall 2026 — Assignment 2

Due 7-October-2026, 1pm
Purpose:

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

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.

screen showing Study Room Reservation 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

  1. (2 points) Define the characteristics of the input variables. Make sure you cover all input variables for the web app under test.
  2. (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.
  3. (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. (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.
  2. (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

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 Creative Commons License CC-BY-NC-SA 4.0 license.
Last updated 2026-09-29 19:34
  Top