We believe in shift left approach for testing the software products. In today’s era, there is not only a need to a produce software quickly but also bug-free. So, it is important to start the testing early so that issues can be found early and can be rectified in the early stage or before integration.
With the early engagement of the testing team, quality of the product is ensured which development team can not do alone as their focus is naturally on the development of the product. That is why we advise and practice testing as soon as we can to be ahead of the game.
People often tell the challenges to start early with testing like:
- Application is ready then who it can be tested
- There will be an additional KT required for the testing team
- The tool required will be wage as the application components are not complete
All these points are true and can be taken care by creating a robust process to run testing parallel with development.
The product development cost may be high at the beginning but if the overall ROI will be huge as the issues and bug discovered later stages costs a lot more resources and cost to fix
People generally have the question how can testing be done if the application is not developed. The important point here is, functional testing is not the only testing that helps to find bugs. Instead, functional testing should be done at the last stage while doing acceptance testing or for a final check. Today a lot of tools available in the market to perform testing while the product is in developing stage. Which helps to discover bugs at the early stage which obviously help to fix bug right there instead of waiting for the product to develop. With every line of code, the complexity increased which increases the cost of fixing an issue.
Review at every stage is necessary either using tools or a manual check. Consider the following stages of the software development
- Requirement Gathering
- Requirement Analysis
The SpeckyFox team use the
Consider below point if shift left approach is not followed:
- Testers will not be involved in initial planning, results into insufficient resources being allocated to testing.
- Many requirements, architecture, and design defects are not uncovered and fixed until after significant effort has been wasted on their implementation.
- Debugging (including identifying, localizing, fixing, and regression testing defects) becomes harder as more software is produced and integrated.
- Encapsulation (object-oriented programming) makes it harder to perform white-box testing and to achieve high levels of code coverage during testing.
- There is less time to fix defects found by testing, thereby increasing the likelihood that they will be postponed until later increments or versions of the system, which creates a “bow wave” of technical debt that can sink projects if it grows too large.