Pragmatic agility requires smart tools
Keywords:
Agile
Scrum
Kanban
Incremental
Agile
Scrum
Kanban
Incremental
Abstract: While agile testing is certainly not new, one has to benefit
from pragmatic tools to make it happen in any project.
Whether your cycle is based on Sprints (e.g. Scrum 1) or is using a continuous development flow (sometimes referred as Kanban development 2), you will need to be able to test any incremental part during your development, involving developers, users, business analysts, subject matter experts and testers.
Whether your cycle is based on Sprints (e.g. Scrum 1) or is using a continuous development flow (sometimes referred as Kanban development 2), you will need to be able to test any incremental part during your development, involving developers, users, business analysts, subject matter experts and testers.
Summary
Introduction
With XStudio you can easily deliver on Micro and Incremental Testing:
Delivering micro and/or incremental testing for sure is a challenge but it is doable using the same logic and tool, used and shared by all stakeholders in the project team.
Because doing impact analysis and planning is largely simpler, more micro-testing can happen during the development flow, still capitalizing all tests and their results for more comprehensive campaigns such as Stabilization and User Acceptance Testing.
It also simplifies Continuous Integration 4 by allowing to incrementally create and manage regression tests from the start of your projects.
- Exploratory testing 3
- On-the-Spot Campaign
- Per User Story or Requirement micro-campaigns
- Per Defect micro-campaigns
Figure 1: Exploratory, on the spot, per user-story and per-defect testing
Delivering micro and/or incremental testing for sure is a challenge but it is doable using the same logic and tool, used and shared by all stakeholders in the project team.
Because doing impact analysis and planning is largely simpler, more micro-testing can happen during the development flow, still capitalizing all tests and their results for more comprehensive campaigns such as Stabilization and User Acceptance Testing.
It also simplifies Continuous Integration 4 by allowing to incrementally create and manage regression tests from the start of your projects.
This is truly supporting agile 5 projects to build quality solutions throughout the collaborative development cycle.
Exploratory testing
Exploratory Testing practice and tools associated support perfectly lean development. One of the most common definition for Exploratory Testing (ET) is 'simultaneous learning, test design, and test execution'.
You can also see that as Exploration and Experimentation.In agile projects, you explore and experiment during Sprints and with any solution increment.
- Developers not only unit test their code and documentation, but also ensure that the solution meets the acceptance critera defined in each User Story.
- Business Analysts and Users test to validate that the solution fully meets the needs.
- Dedicated testers test to ensure that the solution is and remains 'rock solid'
Still, XStudio provides you with an easy to use language (Procedure Description Natural Language or PDNL) that allows taking notes as you test and turn those automatically as scripted test.
This enables to automate tests during the development to reducing future regression test effort.
Please refer to the Exploratory sessions in the User's Manual to learn about how to achieve this.
On-the-Spot test session
On-the-Spot test session allow fast feedback for agile projects.
You can immediately execute any single test, in its own test session.
These tests are then usable in campaigns that address a larger set of features or requirements.
All such tests' runs are being managed in what we call the Playground Campaign. This makes it easy for all to see which tests are to be reusable and those that are still being verified.
Still, this is fully taken into account when asserting the quality of a release, product or requirement.
Any testing effort benefits the overall quality.
Please refer to the Run an individual chapter in the User's Manual to learn about how to achieve this.
Per User Story or Requirement micro-campaigns
Per User Story or Requirement micro-campaigns enable high quality incremental development.
In many agile projects, the 'Best' Practice is to associate several Tests to any single User Story, or more exactly to its Acceptance Criteria (AC).This way you can check throughout the Sprint and after Sprint review that all AC are verified.
Then you can start incrementally adding more thorough tests (potentially using Exploratory Testing).
XStudio lets you easily select the tests you want to run by identifying those User Stories, Requirements or Specifications that matter for the test you want to conduct.
So you can decide to run a micro-campaign for 1 or 2 Users Stories that are highly dependent from a functional or technical standpoint.
Alternatively, you can gather a full Sprint of tests and run it as a verification step.
You build and verify quality from the start rather than when you feel ready for it.
Please refer to the Create a campaign chapter in the User's Manual to learn about how to achieve this.
Per Defect micro-campaigns
Per Defect micro-campaigns ensure short delay fix cycle.
Sprint driven or flow driven agile development incrementally adds and improves features, but also addresses bugs and defects as early as possible.Developers need to be able to re-test immediately for each fix without waiting for a tester or a user to be available.
XStudio allows you to select only those tests that discovered the bugs or defects you want to fix and verify. This is one event when traceability is a MUST.
Because it is very easy to do so, verification tests can be identified and executed by developers, users, business analysts without the full involvement from testers.
Please refer to the Filtering from Bugs chapter in the User's Manual to learn about how to achieve this.
Conclusion:
GOING AGILE REQUIRES TO THINK DIFFERENTLY AND NEEDS PREPARATION.
BUT IT ALSO NEEDS ADAPTED TOOLS TO AVOID THE RISK TO LOOSE CONTROL OVER THE QUALITY OF YOUR PRODUCTS.
ENSURE YOU HAVE WHAT YOU NEED BEFORE STARTING ANY INITIATIVE.
References:
1 Scrum: https://en.wikipedia.org/wiki/Scrum_(software_development)
2 Kanban: https://en.wikipedia.org/wiki/Kanban
3 Exploratory testing: https://www.satisfice.com/blog/archives/1509
4 Continuous Integration: https://en.wikipedia.org/wiki/Continuous_integration
5 Agile: https://agilemanifesto.org/
1 Scrum: https://en.wikipedia.org/wiki/Scrum_(software_development)
2 Kanban: https://en.wikipedia.org/wiki/Kanban
3 Exploratory testing: https://www.satisfice.com/blog/archives/1509
4 Continuous Integration: https://en.wikipedia.org/wiki/Continuous_integration
5 Agile: https://agilemanifesto.org/