Senior Seminar – eXtreme Programming Homework 3

Pair Programming Programming Practice

Work with another student (or two other students) to solve the following problem. Keep track of time spent in design, development, and testing. Begin by designing test cases and a testing framework (see the assignment for more details). When coding, you must use only one computer; be sure to alternate between ‘driving’ and ‘navigating’. Submit the finished project to me (margush@uakron.edu) as a zipped attachment to an email (subject line: Senior Seminar Pairs Passwords) Each student should (individually) provide answers to the questions at the end of the assignment. These should also be emailed.

The Problem:

In order to increase security the network manager has introduced some new rules concerning passwords:

Here are some examples:

Write a function that accepts a password as its only argument and returns true if it is acceptable and false otherwise.

Sample run

Input: cucumb3er7
Output: false

You should design your solution in the context of a main program that automatically tests the function and reports any failures. The design of the tests is part of your assignment. Document the solution as you see fit.

Questions (to be completed by each member of the team):

Your name: _______________________

Other team member(s) ___________________________________________________

Total time spent: _______ Time spent in design and test case development _______  

What percentage of the actual coding time was done by you? _______

Which did you like most? Coding or strategizing? Why?

Did the initial designing of a testing strategy help in the overall design of your solution? Explain.

Do you think the final solution is better than what you or your partner would have achieved on your own? Explain.

How did thinking about testing change the way you usually program (or why did it not)?

What did you not like about this exercise?

What did you learn from this assignment?