Agile Tester Flashcards
The Agile Manifesto contains 4 statements of values, which? WICC
W - Working software over comprehensive documentation
I - Individuals and interactions over processes and tools
C - Customer collaboration over contract negotiation
C - Change response over following a plan
What are the 12 core principles of the Agile Manifesto? SPRINTWISE
S - Satisfy the customer through early and continuous delivery of valuable software
P - Prioritize changing requirements for the customer’s competitive advantage
R - Release working software frequently at shorter timescales
I - Integrate business people and developers to work together daily
N - Nurture motivated individuals by providing them with the environment and support they need
T - Talk through face-to-face conversation to convey information within the team
W - Work on delivering working software as the primary measure of progress
I - Improve sustainable development with Agile processes
S - Strive for technical excellence and good design to enhance agility
E - Emphasize simplicity and maximize work not done
S - Self-organizing teams lead to the best architectures, requirements, and designs
E - Evaluate and adjust team behavior regularly to become more effective.
What are the 3 main benefits of the ‘Whole Team Approach’?
1) Enhancing communication and collaboration within the team
2) Enabling the various skill sets within the team to be leveraged to the benefit of the project
3) Making quality everyone’s responsibility
What are the 5 main benefits of early and frequent feedback: RAPID
R - Requirement misunderstanding are avoided
A - Avoiding quality problems by discovering, isolating, and resolving them early
P - Promoting consistent project momentum
I - Information about team productivity and ability to deliver
D - Delivering early customer feature requests for better product reflection.
Which are the three reprensentatives of the Agile approaches?
1) Extreme Programming (XP)
2) Scrum
3) Kanban
Extreme Programing embraces five values to guide development, which five?
1) Communication
2) Courage
3) Simplicity
4) Feedback
5) Respect
Scrum defines 3 roles, how are these 3 roles called and what do they do?
1) Scrum Master: A coach that ensures Scrum practices and rules are implemented and followed, resolves any impediments the team has.
2) Product Owner: Represents the customer. Makes, maintains and prioritizes the product backlog.
3) Development Team: Develop and test the product, self organized, no team leader.
Scrum contains 7 constituent instruments and practices, which are these? PPTTSSD
P: Product Increment; End result of a sprint, potentially releasable product called a increment.
P: Product Backlog; List of planned product items (RFC’s, SNL’s)
T: Timeboxing; Enforcing start and end times of meetings, sprints etc.
T: Transparency; Development team give daily updates in sprintboards and in daily stand-ups / daily scrum.
S: Sprint; A project is divided into iterations called sprints with a fixed length (2 to 4 weeks).
S: Sprint Backlog; List of highest priority items pulled (not pushed) from the product backlog.
D: Definition of Done; Criteria for sprint completion decided by the Scrum team.
What Agile representatives dictate software development and testing techniques and guidance and which don’t?
Extreme Programming (XP) does
Scrum and Kanban don’t
What is the general objective of the management approach named Kanban?
To visualize and optimize the flow of work.
Kanban utilizes three instruments, which three are those? And what do they provide?
1) Kanban Board: Visualization of work items in colums for instance moving from colum Dev > Test > Acceptance > Production.
2) Work in Progress Limit: The maximum amount of active work items.
3) Lead Time: Kanban is used to minimize the lead time.
What are the differences between sequential, iterative and incremental development models?
1) Sequential development involves a linear approach, where each phase of the development cycle is completed before moving on to the next phase (e.g., Waterfall model).
2) Iterative development involves developing software in multiple cycles, where each cycle involves a small portion of the development process until the software is complete (e.g., Agile Scrum model).
3) Incremental development involves delivering the software in increments, with each increment building on the previous increment until the software is complete (e.g., DevOps model).
What does the INVEST principle stand for?
Independent: User stories should be self-contained and independent from each other.
Negotiable: User stories should be negotiable and not set in stone.
Valuable: User stories should provide value to the customer.
Estimable: User stories should be estimable in terms of effort and time.
Small: User stories should be small and manageable.
Testable: User stories should be testable and verifiable.
What is the difference in planning Waterfall vs Agile planning?
Waterfall Planning:
- Waterfall is a sequential, linear project management approach where each stage is completed before moving to the next one.
- Planning is done upfront and the entire project is planned out in advance, with a clear end goal in mind.
- Changes are difficult to make once a stage is completed, as there is no going back.
- It is best suited for projects that are well understood, with clearly defined requirements.
Agile Planning:
- Agile is an iterative approach to project management, with an emphasis on continuous improvement and collaboration.
- Planning is done in short sprints, with each sprint building on the previous one and focusing on a specific set of deliverables.
- The end goal may be less well-defined, as the project is subject to change based on feedback from stakeholders and customers.
- Changes can be made easily throughout the project, as there is a constant feedback loop.
- It is best suited for projects that are less well-defined or that require flexibility and adaptability.
When does an Agile team consider a task finished?
When a set of acceptance criteria has been satisfied
Who determines the acceptance criteria?
These criteria should be defined in collaboration between business representatives, developers, and testers
Explain what the Agile testing pyramid is.
The testing pyramid is like a pyramid you might see in Egypt, but instead of stones, it’s made up of different types of tests we do when building software. At the bottom, we have unit tests, which are like the foundation of the pyramid. These tests check that small parts of the software work correctly. In the middle, we have integration tests that check how different parts of the software work together. Finally, at the top, we have end-to-end tests that check that the whole software works as expected, like checking if a game works from start to finish. By following the testing pyramid, we can make sure our software works well and catches any problems before it’s released to users.
1.1.1 What is the basic concept of Agile software development based on the Agile Manifesto?
Being very flexible to changing requirements to provide customer satisfaction with frequent deployments. Projects centered around people instead of tools and processes to give the customer the competitive edge.
1.1.2 What are the advantages of the whole-team approach?
Involving everyone with the knowledge and skills necessary to ensure project success.
Team size 3-9 sharing workspace using daily stand-ups to highlight impediments together responsible for quality. The whole team is involved in meetings, with test, dev and business rep in all feature discussions (power of three).
1.1.3 What are the benefits of early and frequent feedback?
Helps the team focus on highest business value or risk and deliver those first. Avoiding misunderstandings and keeping consistent project momentum.
1.2.1 Which Agile software development approaches are commonly used?
Extreme Programming (XP)
Scrum
Kanban
1.2.2 How do testers, developers and business representatives collaborate to write testable user stories?
During frequent informal reviews while requirements are being written, these parties collab to write functional and non functional acceptance criteria.
1.2.3 How can retrospectives be used as a mechanism for process improvement in Agile projects?
At the end of each iteration the team use Retro to discuss succeses and improvements. All members provide input on testing and non-testing activities.
1.2.4 How is continuous integration used and what is its purpose?
By merging all software changes at least once a day through a single, automated and repeatable process. Daily, thus defects are found more quickly.