Tour of Quality in Agile World
Welcome aboard on the QA tour! Today we are going to explore various sights and attractions such as agile testing, automation, test failures, and much more.
The Big Picture
Before we dive deep into Quality, let us see the big picture where it exists within the organization. Quality has evolved, taken various shapes for a couple of decades but the fundamental objective has not changed: user satisfaction. One can look at testing as: “Art of evaluating user satisfaction”.
I assume everyone is aware of the traditional ‘waterfall’ testing approach. so … what makes ‘Agile’ different?
- There is no phase, it is continuous iterative testing. Testing begins before development: being a stakeholder in project meetings, creating canonical acceptance criteria, and providing early feedback.
- Tester focuses more on the “working software” with lean documentation.
- Tester has a business outlook with user satisfaction in mind.
- Agile enforces the tester to adapt to new technology due to its 4th value: “Responding to Change Over Following a Plan”. The testing team takes the burden of regression, retesting the same functionality again. Tester is smart enough to overcome using automation and strategies.
Before testing begins, it’s always a good idea to keep an eye on the current test pyramid. It helps to provide better estimation.
- Strategies vary from one story to another.
- Profiling business customers help with a better strategy. Sometimes in order to understand pre-testing configuration & data needed for certain test scenarios, testers need to wear the customer’s hat.
- Testers decide on strategies, for example, if stories contain:-
1. Business logic and development — Exploratory, Regression, E2E.
2. Addition of ‘middle name’ in business flow — Checking unit tests & testing the API.
3. Hotfix deployment — Hotfix testing & Sanity automation.
4. Investigating customer-related tickets — Manual testing and DB analysis.
…. many more http://www.softwareqatest.com/qatfaq1.html#FAQ1_10
There are processes from the traditional testing process are still needed:-
1. Following defect life-cycle
2. Creating a summary report & bug tractability matrix.
Automation & Tools
Automation itself is vast & needs a dedicated tour but here are some key takeaways.
- Test automation helps the product to achieve better stability & faster delivery.
- Just to be very clear — “100% automation is a myth”. Aiming for it is a huge waste of resources and time. Manual testing is necessary.
- So exactly ….what is automation in testing? Its mostly focused on Regression testing.
- Test coverage report & time taken are the key criteria for the success of a good automation test suite.
- Test audits are equally important for a healthy regression suite along with scripts. If ownership exists within the team, it is an optional step.
- The testing automation stack depends on the dev’s stack.
- Maintaining a testing framework is requires efforts — library creation, refactoring similar test scenarios, 3rd party integrations, etc
The final piece to make a successful test framework: integrate it with CI-CD [continuous integration — continuous deployment].
Till now everything sounds great, we have agile testing, automation, strategies — yet failure occurs, below are few reasons.
- QA team not being a part of project kickoff.
- Lack of ‘lean’ documentation from all stakeholders in an Agile team.
- Lack of training and skill-set required for automation.
- The testing pyramid is in poor shape.
…. and finally this.
Tour ends! Thanks for reading 🙂