Shift Left Testing: Is shifting left, right?
When planning a software development project, the requirements stage is logged on the left and the expected delivery date on the right. The project will start in a structured way with a clear plan in place to achieve finishing on the expected date, but as the project moves forwards, faults arise and defects delay the delivery date, shifting it further to the right.
If a defect is found and corrected at the early stages of the development lifecycle (the requirement stage for example) then it can be a relatively easy and inexpensive process. However, as the development lifecycle develops, it becomes much more of an issue when a defect is found. At coding for example, it will take approximately 10 times longer to fix a defect than it would at the requirement stage. Problems that arise include increased effort needed to correct and approve issues, end user loss, data loss, poor end user feedback, security penetration and resource cost overruns. Finding defects at the later stages of the development lifecycle can lead to huge disruptions in the entire process and can be very timely and expensive.
By bringing in testing at an earlier stage of the development lifecycle, companies will be able to shift maintain their initial delivery date as they will be able to detect defects before they become problematic and time consuming to correct. There are various forms of testing throughout a development cycle, including: Build Verification Testing, Function Verification Testing, Performance Testing, System Verification Testing and Penetration Testing. By shifting as many forms of testing to the left, this will make the development lifecycle much more efficient.
Shifting left means that project efficiency is a priority because testing is introduced at an earlier stage. This means that a company will be able to identify defects as soon as they arise. This means that efforts to correct the issues are minimised and fewer resources are required. Shifting left isn’t just about involving test teams earlier, purchasing particular tools or using automation, it’s also about combining multiple methodologies, tools and frameworks with a focus on predicting and preventing defects from day one of a project.
Factors of the Shift Left concept that have seen success include: involving QA at the beginning of a project, applying entry criteria, using quality metric reviews and centralising toolsets. In order to be able to predict where defects might be found testers must have a complete understanding of the system and the company’s methodology as well as having the essential domain knowledge.
Using automation testing during the development lifecycle will enable the tester to spend more time putting measures in place to avoid disruptions to the project, including: analysing requirements, applying risk-based testing procedures, unit tests, code reviews and system dependency diagrams, to name a few.
Using a Shift Left technique will make an organisation’s approach to testing much more predictive and will help to minimise impact that defects have on a project in terms of time, effort and cost.
If you’re interested in Software Testing, why not have a look at the vacancies we have available? These can be viewed here. We also hold networking events for the Test Management community, to find out more about these simply contact Rick Hughes at firstname.lastname@example.org to enquire.