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?
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