Know the activities that occur during each phase of the testing lifecycle.
Be able to explain the concept of "change control" and choose the appropriate change control policy for a given artifact.
Be able to explain the different integration approaches we studied. Be able to identify examples of integration defects.
Be able to write the detailed design for a method using the class pseudocode standard.
Be able to identify and repair checkstyle errors resulting
from violations of our class coding standard.
Be able to write an integration test given a class diagram and
method definitions.
Given a UML diagram, be able to create a dependency chart.
Given a dependency chart, be able to create an integration schedule.
Be able to explain the metrics for release explained in Chapter 16. Be able to apply them to making a release decision for a hypothetical scenario.
Be able to use correct UML notation to draw a class diagram
for the relationships between a set of domain entities.
Be able to identify errors in a UML class diagram.
Be able to explain the benefits and disadvantages of automated testing compared to manual testing.
Be able to identify the problems in a poorly written system
test and be able to revise or improve it.
Be able to write a system test given the requirements.
Be able to explain the difference between empirical and formal verification.
Be able give a definition of a software process model and give examples.
Be able to explain software processes your team used (or didn't) and describe what might have worked better.
Be able to draw (from memory) a diagram of the software
lifecycle, showing each phase and the artifacts it produces.
Given a design issue (question), prepare a complete analysis of all alternatives and their pros and cons.
Be able to distinguish design issues from requirements issues.
Be able to critique the javadocs for a class, identify where it violates the author's design principles.
Critique a poorly written MVC application.
Be able to decompose a simple GUI application into Model-View-Controller architecture. (Tutorial)
Given a class diagram, write the Java class skeletons.
Given a set of Java class skeletons, reverse-engineer the class diagram.
Given a class diagram, draw a sequence diagram for a specific use case.
Critique a poorly drawn sequence diagram.
Rewrite a poor algorithm design in pseudocode.
Know the elements of a defect report.