Agile Software Testing Flashcards

1
Q

What is agile testing?

A

Software testing practice that follows agile dev principles

Involves all members of the project team, with special expertise contributed by testers

Testing is not a separate phase but intertwined with every other phase

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

What are the agile testing principles?

A

Testing moves the project forward - need continuous testing to ensure continuous progress

Everyone Tests - even the customer performs user acceptance testing

Shortening Feedback Loops - continuous feedback helps the response time of fixing things and lowers costs

Keep the Code Clean - Defects are fixed since they are found in the same iteration

Lightweight Documentation

Leveraging one test artifact for manual and automated tests - test script for manual testing can be used as input for automated tests

“Done Done”, not just done - feature is done after development AND testing

Test-last vs Test-driven - Test cases are written along with the requirements and thus development is driven but testing.

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

What is Test-Driven Development (TTD) ?

A

Based on coding guided by tests

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

What is Acceptance Test-Driven Development (ATDD) ?

A

Based on communication between customers, developers, and testers and is driven by pre-defined acceptance criteria and acceptance test cases

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

What are some things to consider when Agile Testing Planning?

A
  • Test Scope
  • Test Environment
  • Identifying Dependencies
  • Setting priorities
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is sprint zero?

A

Tester needs to collaborate with the team on a series of activities: scope, dividing user stories in sprints, creating the system architecture, planning and acquiring tools, initial test strategy, what will be the test metrics, and more

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

What are the two Agile Testing Practices? Explain each

A

1) Pairing: Two team members work together at the same keyboard and one of them tests while the other reviews or analyzes the testing. The two members can be a tester and developer or tester and business analyst or two testers

2) Incremental Test Design: Test cases are built from user stories, starting with simple tests and moving to more complex tests

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

How can test progress be tracked?

A

Scrum Boards
Burndown Charts
Automated Test Results

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

What are the three agile testing activities in scrum? Explain each

A

In Sprint Planning: testers choose what is picked from the product backlog and how many hours for testing of each user story. Tester must understand the sprint goals and is involved in the prioritizing process. Testers also apart of the daily standup meetings too

In Daily Work: Tester is responsible for automation testing by making automation scripts. They schedule the automation testing and review and report on the findings to the stakeholders. At the end of the sprint they perform user acceptance testing to confirm completeness

In Review & Retrospective: Tester finds what went right and what went wrong, lessons learned and best practices, encouraged to write user stories that support testing and bring value to the customer

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

What are some challenges associated with agile testing?

A
  • Team may not value the testers
  • Testers may not value the team
  • Testers don’t have a clear role on the team
  • Testing is squeezed in as deadline is approached
  • Devs and Testers are in different operational silos
  • Team may not have the skills or domain expertise to develop/test effectively
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are some challenges associated with agile testing?

A
  • Team may not value the testers
  • Testers may not value the team
  • Testers don’t have a clear role on the team
  • Testing is squeezed in as deadline is approached
  • Devs and Testers are in different operational silos
  • Team may not have the skills or domain expertise to develop/test effectively
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Why should we automate tests?

A
  • Provides safety net
  • Supports rapid iterations
  • Provides rapid feedback
  • Focuses effort on what is valuable
  • Frees people to do their best work
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are some types of automated tests?

A

UI Tests
Functional Tests
Unit Test

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

What are the metrics that are used in agile testing?

A
  • Ratio of Successful Sprints (# success / total #) * 100
  • Velocity
  • Focus Factor (Velocity/Teams Work Capacity) / 100
  • Estimation Accuracy (Estimated Effort/Actual Effort) / 100
  • Sprint Burndown
  • Defect Count
  • Severity of Defects
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is contained within the definition of done?

A
  • Detailed testable acceptance criteria
  • Criteria to ensure consistency of the user story with the others in the iteration
  • Specific criteria related to the product
  • Functional behaviour aspects
  • non-functional characteristics
  • Interfaces
  • Test Data Requirements
  • Test Coverage
  • Refactoring
  • Review and approval requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is exploratory testing?

A

simultaneous learning, test design and test execution

tester actively controls the design of the tests as they are performed and uses the information gained while testing to design new and better tests

handy to accommodate changes in agile testing

16
Q

What is risk based testing?

A

testing based on the risk of failure and mitigates the risks using design techniques such as: functional risk, non-functional performance and usability risks