Testing - The Shift Left Approach
Agile approach is the current trend in software development methodology which includes feature development and delivery within weeks of time rather than few months which was the case in Waterfall Model, the entire developed software was delivered as a whole or in phases. As changes occur more and more, almost every week to the delivered code, early testing turns out to be more important. But what does this early testing mean here? How can a QA test when there is no code written and after all white box tests are not in scope of QA team. Can developers Test their code before QA team other than just white box ? Yes, this is nothing but shifting the Test to the left where the code is developed with tests. Now what could be the role of QA here? as we know QA are more creative in testing than developers and mindset matters a lot for Testing. The developer mindset limits the tests as no one wants to break their won code being creative.
Coming to the way of approach here, the development can be driven by tests. This is nothing but Test Driven Development. Let me explain more by splitting into sections.
Refinement Discussion - The Business Analysist / Product manager along with Architects , QA and Developers discuss the new feature to be implemented during which the BA and QA can work closely so that the QA can come up with Test Cases and combinations and can write them on BDD framework ( Cucumber ) where the Feature file is prepared and reviewed by the BA as per the acceptance criteria which becomes the frozen requirement for the feature. The dedicated effort of the QA together with BA meets the business cases along with edge cases for the feature implementation and is all ready documented. There can be a review from the Stakeholder / client as well as a requirement freeze or sign off.
Feature Development ( Test Driven Development ) - as the test cases are present, the developer starts developing the code / API and tests his code with the written cases, fails the case and refactors the code. this process iterates till all the test cases meet the code. As we see the Tests are driving the development, hence the name TDD - Test Driven Development. This in turn reduces the patches as cases and issues are identified earliest to greater extent.
Benefit - Patches are reduced, Testers are able to understand the requirement better at the early stage and carry on with in sprint automation to save test execution time as well.
This way the process is shifted to the left to allow the following.
Associate QA Engineer @ Confluence | ISTQB Agile Tester Certification
3 个月Insightful! Thanks Deepak
?? Immediate Joiner| Senior QA Engineer@MMA IPSOS| Ex-Verifone Manual Testing | API testing | Selenium automation | Payment gateways | API automation | Fintech | Banking
3 个月Very informative ?