The Delivery Manager approached the QA Head - When do you stop testing? The Head replied – We never stop testing, it should be continuous we may put a ‘,’ to pause for a while but make sure to pick it again to near perfection. The day, we stop testing, means our product is going to be the history in the market. Even if your product is stable, we need to test it if it works with new browsers, new java version? We need to test it again to see if it could take up the load of new users. We want to deliver quality, and hence Continuity is the key, we do not deliver use-n- throw software.
That’s the power of Continuity!
So how do manage continuity? Is Continuous Agile a tough game? Let’s a take a sneak peek into the best practice’s that could help you gain control of Agile and keep it continuous –
Knowing your customer mindset is of prime importance, just for example if you are testing a bank app – How easy it would be for the user to log in who a layman is? In case he forgets his password, do they have enough information to retrieve his password? Or what kind of information could hacker use to hack the account? Is the password field allowing a ‘copy function’?
Get into the shoes of the customer and then design the test cases/test scripts.
For testing to be Continuous Agile, every piece of code checked in needs to be included in the build. The Build Automation needs to be integrated with Automated Deployments, Test Case Execution, Regression Results and Bug Tracking.
Manual Test Execution is a thing of past! Automate your test cycles to speed up the processes and widen your coverage.
A test suite consisting of some bare minimum test cases in necessary for QA to start on Functional, Regression Testing to ensure the environment stability.
Get in touch with the product owners/business users and try to get the use cases that could be elaborated to test scripts.
What could be critical for a business user? What are the features that for software should work seamlessly and any issues in that could be disastrous? Weigh your features as per the risk associated with them and devise a Risk Based Test Suite. Either you could assign a number from 1-5 [ 1 being lowest and five being highest regarding risk] to your testcases and then could create a suite. Or you can get help from your business users/ top level professionals to assist you with that.
Lean Testing is a concept where the waste is identified at an early stage to maximize quality. Just, for example, your banking app gets a new feature – as a new icon. As a tester now how would you design your test cycle? Does it need to have all the functionality tested or may be few would do? Lean Testing is a process through which you can not only speed up your testexecution but also identify the processes, delays that could hamper your continuous Agile process and provide guidelines for improvement.
Processes are meant to help you achieve faster and transparent results, so it should be a good practice to stick to them. To work on the test execution, you could also take help from the TestPyramid model and based on your risk appetite could work on UnitTesting, UITesting TestAutomation or IntegrationTesting.
Charles Darwin said – “It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.” Hence, there would be last minute changes, fixes, builds and processes, the important point is you being prepared for it?
You cannot automate exploratory testing but is an integral part of any QA cycle, allocate some time for its manual execution.
Continuous Agile Testing is a process that could provide you with maximum throughput when you are Continuous. As the quote says –
A phased approach to continuous delivery is not only preferable; it’s infinitely more manageable.”
– Maurice Kherlakian.