Scrum Team Development Test Prep
Who should be present during Product Backlog refinement?
Anyone that the Scrum Team decides will be valuable during refinement.
When do the Developers participate in Product Backlog refinement?
Anytime during the Sprint.
Which of the following are NOT metrics of code quality?
Cycle time per feature. Code Coverage.
True or False: Only technical writers can create documentation during a Sprint.
False
True or False: Programmers and testers should not be included in refining Product Backlog items.
False
True or False: Test Driven Development is a predictable way to develop working, well-organized code?
False
True or False: The Scrum Team must choose at least one high priority process improvement item, identified during the Sprint Retrospective, and place it in the Sprint Backlog.
False
While changing software, you find a bug in a previously delivered piece of functionality. What should you do?
Fix the bug if it is critical or easily fixed. Otherwise, put the new bug into the Product Backlog to be prioritized and fixed in an upcoming Sprint.
When are testers and quality experts ideally included in a project?
From the beginning and throughout all Sprints.
Should User Stories be part of the documentation generated by a Scrum Team?
If they are part of the Definition of Done.
When a Continuous Integration build fails, who ideally ensures the build is repaired?
Whoever the Developers agree should fix it.
What is pair programming?
Two developers writing code together, providing constant peer review.
When is a system's architecture decided?
Throughout the project, as understanding emerges and the Developers learn more about the product.
What is the value of refactoring code?
To improve readability and maintainability.
Which is a benefit of establishing naming standards for code?
To make the code more readable.
Which of the following describe an architecture spike?
A small development activity to learn about technical elements of a proposed solution.
Which of the following best describes Continuous Integration?
A software development practice where developers integrate and verify their work frequently, often multiple times each day, to detect integration errors as quickly as possible.
What does a test written with Test Driven Development represent?
A technical requirement that must be satisfied.
What is Technical Debt?
A term representing the eventual consequences of poor technical choices.
What is a unit test?
A test that isolates and verifies individual units of source code.
Which types of tests can be automated?
A) Unit B) Integration C) Smoke D) Exploratory E) Functional F) Performance Answer: All of the above
Select the desirable characteristics of a unit test.
A. Code in each test is as small as possible while maintaining readability of the code. B. Each test makes assertions about only one logical concept. C. The test executes fast. D. Each test is independent of other unit tests. Answer: All of the above
Which are potential benefits of Test Driven Development?
A. It causes you to construct a test harness that can be automated. B. It speeds the overall development process. C. It promotes good design and separation of concerns. D. It improves quality and reduces bugs. Answer: All of the above
Which are attributes of a good bug report?
A. One bug per report. B. Screenshots or other pictures of bugs in action when user interfaces are involved. C. Expected results and observed results. D. Simple and repeatable reproduction steps. E. Clear title and proper grammar in report. F. Build/version where bug was found. Answer: All of the above
Which describes the practice of expressing requirements as acceptance tests?
Acceptance Test Driven Development
Which of the following are attributes of a bad bug report?
Assigning blame. Generic titles. Vague statements or untested assumptions.
What are reasons to automate the software build process?
Automation improves the quality of software by making builds less error prone. To get feedback on changes to the code early and often.
What does Code Coverage show?
Code being exercised by tests.
What are some shortcomings of code coverage as a measurement for how well a system or product is tested?
Code coverage does not necessarily provide functional coverage. Could create incentives to write tests that simply increase code coverage, rather than tests that find bugs without increasing coverage. Code coverage does not ensure that the most important or highest risk areas of the code are being exercised by tests.
When does a Developer become accountable for the value of a Product Backlog item selected for the Sprint?
Never. The entire Scrum Team is accountable for creating value every Sprint.
Which of the following are advantages of Continuous Integration?
Reduce effort and risk when integrating changes. Know immediately how a change affected the product.
Who writes tests in a Scrum Team?
The Developers
Who is responsible for the system architecture of a product being developed using Scrum?
The Developers.
Who must be present at the Daily Scrum?
The Developers.
Product Backlog items are refined by:
The Scrum Team.
What is code coverage?
The degree to which the system under test has been exercised by tests.
You are on a Scrum Team that is enhancing an existing product. Which is the LEAST useful piece of documentation you want to have at your disposal?
The full history of retrospective plans and lessons learned.
What happens during Sprint 0?
There is no such thing as Sprint 0.
Which statements describe why automated builds are important?
They allow frequent validation of the unit of software being worked on, ensuring it remains in a potentially shippable state. They support continuous integration. The build process is clearly defined and scripted, making it easy, consistent and repeatable.
Why are automated builds important?
They provide rapid assurance that defects and configuration management issues have not been introduced.