Shift-left testing: Difference between revisions

Content deleted Content added
Why Shift Left Testing ?: Added AI/ML to "Why shift-left..."
Tag: Reverted
WikiCleanerBot (talk | contribs)
m v2.05b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation)
Tags: WPCleaner Reverted
Line 1:
'''Shift-left''' testing refers to testing software early in the [[Software development|development]] process, while [https://www.dynatrace.com/news/blog/what-is-shift-left-and-what-is-shift-right/ shift-right] testing refers to testing towards the end of the development cycle. The term, "shift-left" is used to describe the idea of moving [[software testing]] earlier in the process, which [https://www.softwaretestinghelp.com/shift-left-testing-approach/ can help catch defects earlier and reduce the cost of fixing them later]. In contrast, "shift-right" refers to testing later in the process, which can help ensure that the software meets the intended requirements and functions correctly before it is released. SHift -left is also the first half of the maxim "test early and often",<ref>{{cite web|url=https://msdn.microsoft.com/en-us/library/vstudio/ee330950%28v=vs.110%29.aspx |title=Test Early and Often |author=Microsoft | date=2012 |access-date=27 March 2015}}</ref>, coined by Larry Smith in 2001.<ref>{{Cite journal|last=Smith|first=Larry|date=September 2001|title=Shift-Left Testing|url=https://www.drdobbs.com/shift-left-testing/184404768|journal=Dr. Dobb's Journal|volume=26|number=9|pages=56, 62}}</ref><ref>{{Cite web|url=http://collaboration.cmc.ec.gc.ca/science/rpn/biblio/ddj/Website/articles/DDJ/2001/0109/0109e/0109e.htm|archive-url=https://web.archive.org/web/20140810171940/http://collaboration.cmc.ec.gc.ca/science/rpn/biblio/ddj/Website/articles/DDJ/2001/0109/0109e/0109e.htm|url-status=dead|archive-date=2014-08-10|title=Sep01: Shift-Left Testing|date=2014-08-10|access-date=2019-09-06}}</ref>
 
== Why Shift Left Testing ? ==
Shift-left testing is used to catch defects earlier in the software development process before they become more costly and time-consuming to fix. This approach helps improve the overall quality of the software, reduces development costs, and shortens the time to market.
 
One of the main reasons for shift-left testing is to address defects as early as possible in the development process. According to a study by the IBM Systems Science Institute,<ref>{{cite book |last1=IBM Systems Science Institute |title=The impact of defects on productivity |date=2004 |publisher=IBM}}</ref>, the cost of fixing defects increases dramatically as they move further along in the development lifecycle. In fact, the cost of fixing defects during production can be up to 100 times more expensive than if the defect had been caught during the requirements phase.
 
Another reason for shift left testing is to [https://www.lambdatest.com/learning-hub/shift-left-testing increase collaboration and communication] between different teams involved in software development. By catching defects early, development teams can work more closely with other stakeholders, such as testers and business analysts, to identify and resolve issues before they become more difficult to fix.
Line 18:
 
== Examples of shift-left testing ==
Shift-left testing is an approach that involves moving testing activities to earlier stages of the software development lifecycle (SDLC) to catch defects early, improve software quality, and reduce costs. There are four basic ways to shift testing earlier in the life-cycle, leftward on the classic V-model, which include traditional shift-left testing,<ref>{{cite book |last1=Lisa Crispin & Janet Gregory |title=Agile Testing: A Practical Guide for Testers and Agile Teams |date=2014 |publisher=Velocity Partners}}</ref>, incremental shift-left testing, Agile/DevOps shift-left testing, and model-based shift-left testing[8]. Traditional shift-left testing involves integrating testing activities into every phase of the process, while incremental shift-left testing gradually moves testing activities to earlier stages of the SDLC. Agile/DevOps shift-left testing involves continuous testing throughout the development process, using automated testing tools and practices like continuous integration and continuous testing (CI/CT). Model-based shift-left testing uses models to simulate software behavior and identify defects early in the development process.
 
=== Traditional shift-left testing ===