ICS 121 Spring 2004

Instructor: Robbins

Assignment 9

Due: Tuesday, June 8 in Distribution Center

Name: YOUR NAME
Student ID: YOUR ID NUMBER

1. Estimation (1 point)

Effort estimation is the practice of making accurate estimates of how long it will take to complete a piece of work. Software developers are notoriously bad at this. You will practice by estimating how long it takes you to complete a task.

QuestionEstimateActual
2 YOUR ESTIMATE YOUR ACTUAL
3 YOUR ESTIMATE YOUR ACTUAL
4 YOUR ESTIMATE YOUR ACTUAL
5 YOUR ESTIMATE YOUR ACTUAL
Total ESTIMATED TOTAL ACTUAL TOTAL

Calculate the error percentage: ((YOUR ACTUAL) - (YOUR ESTIMATE)) / (YOUR ESTIMATE)

TYPE YOUR ERROR PERCENTAGE HERE

2. QA Plans (4 points)

A. Imagine that you were in charge of the QA team for a web-based university enrollment system. Choose the three most important quality goals from the ReadySET QA Plan template. Explain why each goal is important to this project.

TYPE YOUR ANSWER HERE: THREE SHORT PARAGRAPHS. EACH PARAGRAPH SHOULD START WITH A QUALITY GOAL FROM QA-PLAN.HTML.

B. Why is it a good idea to test individual classes or components rather than only testing the entire product?

TYPE YOUR ANSWER HERE: ONE SHORT PARAGRAPH.

3. Using JUnit (5 points)

Create a JUnit test class named HandTest.java for the original Hand.java from assignment 7. Here are detailed steps on how to do it. Your HandTest.java should achieve 100% branch coverage of all code in Hand.java.

PRINT OUT HandTest.java AND STAPLE IT TO THESE PAGES.

4. Reading: Sommerville Chapters 19 and 20 (6 points)

A. In your own words, why are reviews a cost effective QA activity?

TYPE YOUR ANSWER HERE: ONE SHORT PARAGRAPH.

B. What is equivalence partitioning?

TYPE YOUR ANSWER HERE: ONE SHORT PARAGRAPH.

C. What is cyclomatic complexity? Why should developers care about it?

TYPE YOUR ANSWER HERE: TWO SHORT PARAGRAPHS.

5. Testability (4 points)

A. Which characteristics of the original BlackJack4.java would make it hard to test?

TYPE YOUR ANSWER HERE: 3-5 SHORT BULLETS.

B. How could you refactor or revise the original BlackJack4.java to make it more testable using JUnit?

TYPE YOUR ANSWER HERE: 3-5 SHORT BULLETS.

sample use case templateexample test plan templateProject plan template