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.