Quiz 5 content/topics and preparation

Quiz 5 will focus on testing and automation but not to the point of writing Bash/C++ code.

The quiz will be a 50-minute paper-and-pencil quiz, closed book and closed notes, no electronics permitted, but you are permitted one double-sided 8.5x11" 'cheat sheet'. (This does not have to be hand-written.)

There will be one four-part question based upon the requirements for a single function.

Typical question styles/topics are shown below.

Stubs and drivers
Outline appropriate stubs and drivers to test the function and briefly outline what how test cases would be run (how the test data is fed in for the given stubs/drivers and function, and how the results would be evaluated). The expectation would be that the 'outline' is at the level of pseudo-code or text equivalent (not actual Bash/C++/etc).

Providing specific test cases
Provide actual test data for a collection of representative test cases (say 8-12 cases) and a short justification for why that specific set of cases are important.

Processes around test planning
Assuming the SDLC used for the project in question was ...SOME SDLC..., discuss when during the cycle the key steps would take place for planning, conducting, and evaluating the testing of the product would take place.

How the nature of the function alters the nature of the tests
Suppose we altered the function requirements as follows ...SOME CHANGE..., discuss how that would change the nature of the stubs/drivers and test cases you proposed. (Typical changes might include changing the means by which the function gets/displays/returns its data, changes that introduce or remove non-functional requirements, etc.)

Testing the tester
In the event that the product fails a given test (for the stub/driver/test cases you provided), discuss how you can determine whether the test case itself is in error or whether the product is genuinely flawed.
Or, more generally, discuss means for testing that our test process, tools, and cases are all correct.