Agile Tester Flashcards

1
Q

The Agile Manifesto contains 4 statements of values, which? WICC

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the 12 core principles of the Agile Manifesto? SPRINTWISE

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the 3 main benefits of the ‘Whole Team Approach’?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the 5 main benefits of early and frequent feedback: RAPID

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Which are the three reprensentatives of the Agile approaches?

A

1) Extreme Programming (XP)
2) Scrum
3) Kanban

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Extreme Programing embraces five values to guide development, which five?

A

1) Communication
2) Courage
3) Simplicity
4) Feedback
5) Respect

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Scrum defines 3 roles, how are these 3 roles called and what do they do?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Scrum contains 7 constituent instruments and practices, which are these? PPTTSSD

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What Agile representatives dictate software development and testing techniques and guidance and which don’t?

A

Extreme Programming (XP) does
Scrum and Kanban don’t

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the general objective of the management approach named Kanban?

A

To visualize and optimize the flow of work.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Kanban utilizes three instruments, which three are those? And what do they provide?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the differences between sequential, iterative and incremental development models?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does the INVEST principle stand for?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the difference in planning Waterfall vs Agile planning?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

When does an Agile team consider a task finished?

A

When a set of acceptance criteria has been satisfied

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Who determines the acceptance criteria?

A

These criteria should be defined in collaboration between business representatives, developers, and testers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Explain what the Agile testing pyramid is.

A

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.

18
Q

1.1.1 What is the basic concept of Agile software development based on the Agile Manifesto?

A

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.

19
Q

1.1.2 What are the advantages of the whole-team approach?

A

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).

20
Q

1.1.3 What are the benefits of early and frequent feedback?

A

Helps the team focus on highest business value or risk and deliver those first. Avoiding misunderstandings and keeping consistent project momentum.

21
Q

1.2.1 Which Agile software development approaches are commonly used?

A

Extreme Programming (XP)
Scrum
Kanban

22
Q

1.2.2 How do testers, developers and business representatives collaborate to write testable user stories?

A

During frequent informal reviews while requirements are being written, these parties collab to write functional and non functional acceptance criteria.

23
Q

1.2.3 How can retrospectives be used as a mechanism for process improvement in Agile projects?

A

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.

24
Q

1.2.4 How is continuous integration used and what is its purpose?

A

By merging all software changes at least once a day through a single, automated and repeatable process. Daily, thus defects are found more quickly.

25
Q

1.2.4 Which automated activities does a continuous integration process consist of?

A
  • Static code analysis, report results
  • Compile and link the code generate executable files
  • Unit test execution, check code coverage and report results
  • Deploy the build into test environment
  • Integration test and report result
  • Report result of all steps in publicly visible dashboard / e-mail to team
26
Q

1.2.5 What are the differences between iteration and release planning?

A

Release planning: high level planning that looks at release of product months or more ahead in time. Defines product backlog and refines user stories in smaller stories.

Iteration planning: looks at the end of a single iteration and uses the iteration backlog. Breaks up user stories into tasks.

27
Q

1.2.5 How does a tester add value to a iteration and release planning?

A
  • A tester helps define testable user stories
  • Helps analysing project and quality risks
  • Estimates test effort for user stories
  • Defines test levels
  • Plans release testing
28
Q

2.1.1. Describe the differences between testing activities in Agile and non-Agile projects

A

Agile projects have continuous and collaborative testing that integrates with development, uses automated tools, focuses on user stories, and may use exploratory testing, while non-Agile projects typically have separate phases for testing, rely more on manual testing, focus on requirements, and do not use exploratory testing.

29
Q

2.1.2 Describe how development and testing activities are integrated in Agile projects

A

Agile projects integrate development and testing through practices such as TDD, CI, and CT, which involve automated tests before coding, frequent code integration, and automated test execution for early feedback and continuous improvement.

30
Q

2.1.3 Describe the role of independent testing in Agile projects

A

???

31
Q

2.2.1 Which tools and techniques are used to communicate the status of testing, test progress and product quality in an Agile project?

A
  • Progression of tasks on Agile task board
  • Burndown charts for team progress
  • All communicated through dashboards or dashboard like e-mails or in stand-ups.
32
Q

2.2.2 How and why are tests evolved across multiple iterantions?

A

With every iteration the product grows with it also the scope of testing. Next to current code changes, regression testing is also needed.

33
Q

2.2.2 Why is test automation important to manage regression risk in Agile projects?

A

To maintain velocity and get rapid feedback about product quality, regression automation is critical. Every iteration more code is added which makes manual testing increasingly time consuming.

34
Q

2.3.1 What are the people, domain and testing skills of a tester in an Agile team?

A

People skills:
- Be positive and solution-oriented
- Critical, quality-oriented, skeptical thinking
- Collaborate within the team

Domain skills:
- Plan and organize your own work
- Proactively acquire information from stakeholders
- Respond to change quickly

Testing skills:
- Evaluate, report test results, progress and product quality
- Work with customers and stakeholders to define user stories and acceptance criteria

35
Q

2.3.2 What is the role of a tester in an Agile team?

A

Generate and provide feedback not only on test status, test progress and product quality but also on process quality.

36
Q

FA 3.1.1 Explain the concepts of test-driven development, acceptance-test driven development, and behavior-driven development

A

TDD is used to develop code guided by automated test cases.
- Write a test, run the test which will fail, then code untill the test passes, refactor the code while test keeps passing. Add new test and new code for next piece of functionality.

ADD develop code based on positive oriented (confirmation) testcases made by Agile team including developer, tester and business rep. Can be manual or automated. Must cover all characteristics of the user story and should not add to the story.

BDD using the ‘Given - When - Then’ format, BDD frameworks can be used to define acceptance criteria and can generate code that can be used to create unit tests.

37
Q

FA 3.1.2 Explain the concept of the test pyramid

A

. Accept test
Few System tests
Less Integration testing
Bottom has a lot of unit testing

A lot of tests at the bottom and tests keeps getting less towards the top. Based on early quality assurance, unit and integration testing often are automated because of the high amount of tests.

38
Q

FA 3.1.3 Summarize the testing quadrants and their relationships with testing levels and testing types

A

All these testing quadrants apply to dynamic testing rather than static testing:

Q1 - Unit - Technology facing - Supports developers
Contains automated unit tests

Q2 - System - Business facing - Confirms product behavior
Contains functional tests, story tests and simulations to check acceptance criteria. Can be manual or automated.

Q3 - Acceptance - User acceptance - Critique product with realistic scenarios
Contains exploratory testing, process flows, usability, user acceptance, alpha and beta testing. Often manual and user-oriented.

Q4 - Operational - Technology facing - Operational acceptance tests
Contains performance, load, test, stress, scalability, security, maintainability, memory, compatability and interoperability test. Often automated.

39
Q

FA 3.2.1 What is a quality risk and how do you assess quality risks within an Agile project

A

When a effect of a problem is on product quality then they are referred to as quallity risks or product risks.

Examples are:
Incorrect calculations by the system (functional risk related to accuracy)
Slow response to user input (non-functional risk related to efficiency)
Difficulty in understanding screens and field (non-functional related to usability)

Quality risk analysis is done in the following steps:
1. Gather Agile team.
2. List backlog items.
3. Identify the quality risks associated with each item.
4. Assess each risk with 2 activities: categorize the risk and determine the level of risk versus the impact vs the likelyhood.
5. Determine the extent of testing proportional to the level of risk.
6. Choose test techniques based on above information.

40
Q

FA 3.2.2 Estimate testing effort based on iteration content and quality risks

A

Userstory is read to estimators which discuss the feature and ask questions if needed.

Estimators use planning poker consensus based technique using the Fibonacci sequence or shirt sizing and privately choose a estimation. After discussing differences in estimatinos a estimate of effort is chosen.

A high number usually menas that the story should be broken down into multiple smaller stories.

41
Q

FA 3.3.1 Which information is relevant to support testing activities?

A

To be testable, acceptance criteria should address the following topics:
- Functional behavior
- Quality characteristics / non-functional requirements
- Use cases
- Business rules (not all users are allowed to do everything in the system)
- Eternal interfaces (descriptions of connections between system and outside world)
- Constraints (design and implementation constraints the developer has to account to)
- Data definitions (format and type of data allowed e.g. ZIP code field)

42
Q

FA 3.4.1 Recall different tools availbable to testers according to their purpose and to activities in Agile projects

A

Application lifecycle management tool and Task management software:
These tools both contribute to:
- Capture teams estimates on each task
- Record and display stories and their relevant development and test tasks
- Combine develop and tester updates to the task status