_ Agile Testing: efficient approach

3min

What is working software?

The Agile testing approach has started from a current need. In our times, in my humble opinion, a working software is a piece of software deliverable that brings your business competitive advantage to your client. Agile software development focuses on creating the working product through early integrations. The documentation provided is ‘Just enough’ and we already know that the most important deliverable of any software project is the product itself. Agile prides itself on regular delivery of the desired features to the customer. But what is the cause if the product is not tested enough and what’s the issue: the ‘just enough’ documentation or a bad agile project management?

agile testing

What is Agile testing - a whole team approach?

Agile software development is usually happening with cross-functional teams of people who possess a variety of skill sets. The teams typically have a range of expertise including programming, testing, analysis, database administration, user experience and other specific roles.

All of this expertise is needed to deliver the product and is executed in Agile projects by means of a whole-team approach. So why a whole team approach is working in Agile environments (the top 3 advantages in my opinion)?

  • Quality is becoming everyone’s responsibility
  • Creating a broad skill set inside the team
  • Changing (in a great way) communication and collaboration inside the team

Which is the advantage of using an Agile mindset approach?

  • Continual testing throughout an iteration
  • The involvement of testers throughout the entire release – very important from the beginning
  • Coaching, collaboration and pairing
  • Welcoming changing at every step

How will QA assure that the product rejection rate is low?

By simple using this approach:

By using everything that suits great in the context of the product or project:

What about the testing strategy?

The test strategy should:

  • Describe the approach to verification and validation activities
  • Define quality success criteria in terms of measures and metrics for all test activities
  • Provide stakeholders with an understanding of how, and what the test approach will be for the whole team

Agile teams may use metrics of work process such as:

  • requirements coverage
  • test pass/fail rates
  • defect discovery rates
  • defect density
  • defects found and fixed
  • confirmation and regression test results
  • risk coverage
  • code coverage
  • code churn

This metrics can be used by teams to enable them to assess the product’s quality and work progress throughout the iteration.

What exactly a tester is doing?

During the implementation’ process, activities of a tester in the agile testing can include:

  • Configuring the test environments and creating test data sets
  • Designing tests depending on the criticality of the requirement
  • Executing tests and helping other team members to create and execute tests, possibly also assisting developers with unit tests
  • Performing static analysis
  • Selecting tests for regression testing purposes
  • Executing regression tests (both automated and manual) or ensuring they are performed.
  • Automating test scripts
  • Reporting defects and working with the team to resolve them
  • Supporting the team using testing tools
  • Attending the daily meeting and reporting on progress and any impediments
  • Moving the user story or requirement task on the board to ‘done’ once all tests have passed
  • Measuring and reporting test coverage across all applicable coverage dimensions.

What other members of the team can do to help testers?

  • Analysing, reviewing and assessing user requirements, specifications and models for testability
  • Reviewing and contributing to test plans
  • Creating or reviewing test specifications
  • Setting up the test environment
  • Preparing and gaining test data
  • Implementing tests on all test levels, executing and logging the tests, testing the results
  • Using test administration or management tools and test monitoring tools as required
  • Automating tests
  • Measuring performance of components and systems
  • Reviewing tests developed by others

Some (final) thoughts

Keep in mind

The Agile mindset should be directed in helping all the team members to understands that a failure or a success is for the responsibility of the entire team and in this way developers, testers, designers can work together to bring great products to the surface.

This article is part of a bigger topic called: Agile Software Development

Agile Testing

Agile Testing training teaches students to implement the Scrum Framework, compare and contrast Scrum with other …

11492
< 1

SCRUM Framework Fundamentals

Scrum Framework Fundamentals is designed to help get new teams up and running. If you want …

5579
2min

Agile Test Automation

This Agile Test Automation class will teach automation techniques to improve regression testing, story and feature …

5332
3min