CompSci 308
Spring 2024
Advanced Software Design and Implementation

Weekly Journal : Testing

As soon as we started programming, we found to our surprise that it was not as easy to get programs right as we had thought. We had to discover debugging. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.  — Maurice Wilkes, 1949

Submitting Your Work

Submit a Markdown formatted plain text file, named week08_testing.md, to the journals folder of your individual portfolio_NETID repository provided for you in the course's Gitlab group.

Specification

Testing

As you program larger, more complex, projects it is vitally important, and some would say morally imperative, that you have confidence that the most basic aspects of your code works correctly based on automatically testing it (rather than manual, occasional, tests). Beyond that, testing is vitally important to producing real world software and, unless we begin to take software bugs seriously, our industry may need to become regulated. The good news is that like making readable, minimally well-designed code, is a matter of practicing to develop new habits.

After answering the questions above, watch Bob Martin's video on the need for professionalism in coding and then answer the following questions: