Agile Testing Methodologies: Roles, Practices, and Lifecycle, Slides of Software Engineering

An in-depth exploration of agile testing methodologies, focusing on test-driven development (tdd), acceptance test-driven development (atdd), behavior-driven development (bdd), and the agile testing lifecycle. It delves into the skills required for a tester in an agile team, the agile tester's role, test planning, sprint zero, integration, and agile testing practices. The document also discusses test progress tracking methods such as scrum boards, burndown charts, and automated test results.

Typology: Slides

2022/2023

Available from 04/27/2024

razaroghani
razaroghani 🇵🇰

4.5

(4)

151 documents

1 / 15

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Agile Testing Methodologies
The testing practices are well defined for every project,
whether Agile or not, to deliver quality products. Traditional
Testing principles are quite often used in Agile Testing. One of
them is Early Testing that focuses on −
Writing Test Cases to express the behavior of the system.
Early Defect Prevention, detection and removal.
Ensuring that the right test types are run at the right time and as
part of the right test level.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Agile Testing Methodologies: Roles, Practices, and Lifecycle and more Slides Software Engineering in PDF only on Docsity!

Agile Testing Methodologies

  • The testing practices are well defined for every project, whether Agile or not, to deliver quality products. Traditional Testing principles are quite often used in Agile Testing. One of them is Early Testing that focuses on −
  • Writing Test Cases to express the behavior of the system.
  • Early Defect Prevention, detection and removal.
  • Ensuring that the right test types are run at the right time and as part of the right test level.

Commonly used Agile Testing Methodologies

are −

- Test-Driven Development (TDD) − Test-Driven Development (TDD) is based on coding guided by tests. - Acceptance Test-Driven Development (ATDD) − Acceptance Test-Driven Development (ATDD) is based on communication between the customers, developers and testers and driven by pre-defined Acceptance Criteria and Acceptance Test Cases. - Behavior-Driven Development (BDD) − In Behavior-Driven Development (BDD) testing is based on the expected behavior of the software being developed.

Testing is iterative and sprints based as depicted

in the diagram given below −

Tester in Team (Skills)

  • Good interpersonal skills.
  • Ability to act positive and solution-oriented with team members and stakeholders.
  • Ability to display critical, quality-oriented, skeptical thinking about the product.
  • Aptitude to be pro-active to actively acquire information from the stakeholders.
  • Skills to work effectively with customers and stakeholders in defining testable User Stories, the Acceptance Criteria.
  • Talent to be a good team member working with developers in producing quality code.

Role of Tester in Agile Team

  • Agile Tester Activities include −
  • Ensuring proper use of testing tools.
  • Configuring, using and managing the test environments and the test data.
  • Mentoring other team members in relevant aspects of testing.
  • Ensuring that appropriate testing tasks are scheduled during the release and sprint planning.
  • Understanding, implementing and updating test strategy.
  • Collaborating with developers, customer and stakeholders in clarifying requirements, in terms of testability, consistency and completeness.
  • Performing the right tests at the right time and at right test levels.
  • Reporting defects and working with the team in resolving them.
  • Participating in sprint retrospectives, proactively suggesting

Tester Role

In the Agile Lifecycle, a tester plays a significant Role in −

  • Teamwork
  • Test Planning
  • Sprint Zero
  • Integration
  • Agile Testing Practices

Teamwork

- Commitment − Committing to understanding and evaluating the product’s behavior and characteristics as required by the customers and stakeholders. - Transparent − Open, Communicating and Accountable. - Credibility − Ensuring the credibility of the test strategy, its implementation, and execution. Keeping the customers and stakeholders informed on the test strategy. - Open to Feedback − Participating in sprint retrospectives to learn from both successes and failures. Seeking customer feedback and acting quickly and appropriately to ensure quality deliverables. - Resilient − Responding to changes.

Test Planning

  • Defining test scope, extent of testing, test and sprint goals.
  • Deciding on the test environment, test tools, test data and configurations.
  • Assigning testing of features and characteristics.
  • Scheduling test tasks and defining frequency of tests.
  • Identifying test methods, techniques, tools and test data.
  • Identifying dependencies such as functions, code, system components, vendor, technology, tools, activities, tasks, teams, test types, test levels and constraints.
  • Setting priorities considering the customer/user importance and dependencies.
  • Arriving at the time duration and effort required to test.
  • Identifying tasks at each sprint planning.

Integration

In Agile, a quality working product should be ready for release at any point of time in the development lifecycle. This implies continuous integration as a part of development. An Agile tester needs to support continuous integration with continuous testing. To accomplish this, a tester needs to −

  • Understand the integration strategy.
  • Identify all dependencies between functions and features.

Agile Testing Practices

An Agile tester needs to adapt Agile practices for testing in an agile project.

- Pairing − Two team members work together at the same keyboard. As one of them tests, the other reviews/analyzes testing. The two team members can be - One tester and one developer - One tester and one business analyst - Two testers - Incremental Test Design − Test cases are built from user stories, starting with simple tests and moving to more complex tests. - Mind Mapping − A mind map is a diagram to organize the information visually. Mind mapping can be used as an effective tool in Agile testing, using which information regarding the necessary test sessions, test strategies and test data can be organized.