Review
Bring textbook for the review!
These are sample questions; some may be on the exam, but the exam question
is likely to be worded differently and there will be questions on other
material as well. Use these to make
sure you are familiar with each of the topics, to get practice thinking
about the sorts of questions you will see, and to make sure you know
the technical terminology.
General approach:
- know material, terminology; be ready to apply it
- think through answers: could you look deeper?
- ensure you are telling me all that's relevant
- be cautious of using the terms in the question in your answer
(especially for definitions!)
- think in terms of answering in sentences
Things to watch for:
- "stuff" is never useful on an exam
- Use course terminology where you can.
The following are topics that lead to detailed questions every year, so it's
worth spending time to memorize the material:
- Know the Agile manifesto, including the reasons for one item over the other
- Know the Waterfall model to the extent it was discussed in class
- Know the types of testing discussed in class
- Know the reasons for automating testing
You will certainly need to know other information! The review questions
give you a good starting point, but see the first paragraph on this page...
Review Questions
- Note 1: Overview, Scrum Refresher
- For each of the three team roles (product owner, ScrumMaster, development
team member) what are three tasks that they do but the others do not?
- Explain a wrong way to swarm and then the correct usage of the term.
- Shortcut 1 (Ch. 1): Why Scrum?
(Note 2)
- In class we discussed the top benefits of using Scrum for
project sponsors. Which of those would you say is the most important
and why?
- The textbook suggests the waterfall model has 100% risk until
the day the software is delivered. Explain why, and then explain
why this assumes a simplistic risk model.
- Shortcut 2 (Ch. 1): Fragile agile
(also Note 2)
- Why is Scrum a framework, not a method?
- What would you say to a person who says you're not doing Scrum
if you don't have a designated ScrumMaster or deviate from other
practices such as performing formal sprint reviews a week into the
following sprint.
- What does it mean to do a partial implementation? Why is that
bad?
- Why are these antipatterns?: test sprints, random-sized sprints,
reliance on the spec
- What are rules that must not be broken when following
Scrum? That is, what is essential?
- In class I suggested it might be reasonable for an external
testing team to lag the development team, testing what the
development team completed the sprint before. Explain why this both
makes sense (and according to the textbook) is unnecessary.
- Define technical debt. Can a fault (bug, issue) be classified as
technical debt?
- Unix
- Describe some of the features of Unix that make it a
valuable tool for testers.
- Explain the Unix file system structure.
- Explain the elements of a command written at a command line. For
example, give the command to list (
ls
)
all .o
files with full details including permissions and
ownership, and describe the elements of that command.
- Makefiles
- Describe the structure of a makefile without examples.
- Under what circumstances is a particular file "rebuilt" when
using
make
?
- Shortcut 10 (Ch. 4): Stories
(Note 3)
- What is a vertical slicing? Why?
- What are the rules about dealing with technical stories, bugs,
and tasks?
- Give an example of a story that follows the appropriate format
but breaks as many rules as possible.
- Assume you are building a system to check out customers at a
grocery store, but looking up prices are too slow. Write a technical
debt story to replace the lookup by hash tables.
- Give several other, distinct examples of technical debt
- Is it technical debt to change the techology used in a system
(eg, introduce an ORM) after a team member hears about the
technology and suggests the system be converted to that technology?
- Shortcut 11 (Ch. 4): DoD
(also Note 3)
- What is the suggested starting point of a DoD?
- How can DoD reduce the number of arguments?
- Some organizations use "all tests pass" as their DoD. Would that
be a good definition for SDL?
- Give two things that really must be in a DoD.
- Give two things that could be considered optional.
- Explain how the DoD has different levels.
- What is the most important characteristic of the DoD?
- Shortcut 13 (Ch. 5): Estimating
(also Note 3)
- What are the two (distinct) models of story estimation, t-shirt
sizes and Fibonacci number sequences?
- When do you use each? Why are there two models?
- The textbook discusses three factors that can influence the size
of stories: complexity, repetition, and risk. Give an example of
each. Are there other factors you might add?
- Shortcut 14 (Ch. 5): Poker
(also Note 3)
- Advantages of the modified Fibonacci sequence
- Advantages of T-shirt sizes
- What are the keys to the game?
- Shortcut 15 (Ch. 5): Relative points
(also Note 3)
- What is a 1-point story?
- Briefly describe a mechanism for assigning point values to
previous work.
- Shortcut 16 (Ch. 6): Bugs
(Note 4)
- Three basic principles
- What to do if discover a bug in the implementation of a story
that passes all tests and is about to go to review? Explain why.
- Shortcut 17 (Ch. 6): Love for testers
(also Note 4)
- What to do with someone who's a career tester in an organization
moving to scrum? Why?
- How would you test private methods in a class?
- In class we discussed ways testers can bring something unique to
scrum teams. Give reasons why testers should prefer Scrum projects
to waterfall projects.
- Shortcut 18 (Ch. 6): Automation
(also Note 5)
- Give 8 distinct reasons for automating testing.
- You're in the elevator with a VP of engineering who is a strong
advocate for manual testing.
- What would you guess is the primary reason the VP
likes manual testing?
- What would you say is the single worst danger of not
automating testing?
- Give two advantages of using Docker or a similar tool.
- Explain why virtual machines are important to
CI. Explain both how they fit into CI and why other technologies
would not be better.
- What is the case for continuous delivery?
- Describe a project for which continuous delivery would be a poor
choice.