Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Shift-left testing

From Wikipedia, the free encyclopedia
Type of software testing
This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages)
This article includes a list ofgeneral references, butit lacks sufficient correspondinginline citations. Please help toimprove this article byintroducing more precise citations.(May 2015) (Learn how and when to remove this message)
This articleis written like apersonal reflection, personal essay, or argumentative essay that states a Wikipedia editor's personal feelings or presents an original argument about a topic. Pleasehelp improve it by rewriting it in anencyclopedic style.(May 2015) (Learn how and when to remove this message)
(Learn how and when to remove this message)

Shift-left testing[1] is an approach tosoftware testing andsystem testing in which testing is performed earlier in thelifecycle (i.e. moved left on the project timeline). It is the first half of the maxim "test early and often".[2] It was coined by Larry Smith in 2001.[3][4]

Harm because of late testing

[edit]

Shift-left testing aims to prevent the following types of harm caused by late testing:

  • Insufficient resources allocated to testing.
  • Undiscovered defects in requirements, architecture, and design, along with significant effort wasted while implementing them.
  • Difficultydebugging (including identifying, localizing, fixing, and regression testing defects) as more software is produced and integrated.
  • Reducedcode coverage during testing[citation needed] as a result ofencapsulation impedingwhite-box testing.
  • A “bow wave” oftechnical debt that can cause a project to fail.

Types of shift-left testing

[edit]

There are four basic ways to shift testing earlier in the life-cycle (that is, leftward on the classicV-model). These can be referred to as traditional shift-left testing,[5] incremental shift-left testing, Agile/DevOps shift-left testing,[6][7] and model-based shift-left testing.[8]

Traditional shift-left testing

[edit]

As illustrated in the following figure, traditional shift-left moves the emphasis of testing lower down (and therefore slightly to the left) on the right hand side of the classic V model. Instead of emphasizing acceptance and system level testing (e.g.,GUI testing with record and playback tools[9]), traditional shift-left concentrates onunit testing andintegration testing (e.g., usingAPI testing and modern test tools). The transition to traditional shift-left testing has largely been completed.[by whom?]

  • Traditional shift-left testing
    Traditional shift-left testing

Incremental shift-left testing

[edit]

As illustrated in the following figure, many projects developing large and complex software-reliant systems decompose development into a small number of increments (Vs) having correspondingly shorter durations. The shift-left illustrated by the dashed red arrows occurs because parts of the single, large waterfall V model’s types of testing (shown in gray) are shifted left to become increments of the corresponding types of testing in the smaller incremental V models. When each increment is also a delivery to the customer and operations, then incremental shift-left testing shifts both developmental testing and operational testing to the left. Incremental shift-left testing is popular when developing large, complex systems, especially those incorporating significant amounts of hardware. Like traditional shift-left, the transition to incremental shift-left has also been largely completed.

  • Incremental shift-left testing
    Incremental shift-left testing

Agile/DevOps shift-left testing

[edit]

As illustrated in the following figure,Agile andDevOps projects have numerous short duration Vs (sprints) in lieu of a single or small number of V as in the previous two examples of shift-left testing. These small Vs would also be modified if one or more early sprints are used to block out the basic requirements and architecture or if test-first andtest-driven development (TDD) are being performed. The shift-left occurs because the types of testing on the right sides of the earliest of these tiny Vs are to the left of the corresponding types of testing on right side of the larger V(s) they replace. While the following figure appears remarkably the same for Agile and DevOps, Agile testing is typically restricted to developmental testing and does not include operational testing, which occurs once the system is placed into operation. The transition to Agile/DevOps shift-left testing is currently popular and ongoing.

  • Agile/DevOps shift-left testing
    Agile/DevOps shift-left testing

Model-based shift-left testing

[edit]

The previous forms all concentrated on testing earlier in the development cycle. However, they all testafter software exists and seek to uncover only implementation defects.[citation needed]

Model-based testing moves testing to the left side of the Vs, by testing requirements, architecture, and design models. This shift begins testing almost immediately, instead of waiting a long time (traditional testing), medium time (incremental testing), or short time (Agile/DevOps) for software to become available to the right side of the Vs. This trend is just beginning.

  • Model-based shift-left testing
    Model-based shift-left testing

References

[edit]
  1. ^Donald Firesmith (23 March 2015)."Four Types of Shift Left Testing". Archived fromthe original on 2015-09-05. Retrieved27 March 2015.
  2. ^Microsoft (2012)."Test Early and Often".Archived from the original on 2 April 2015. Retrieved27 March 2015.
  3. ^Smith, Larry (September 2001)."Shift-Left Testing".Dr. Dobb's Journal.26 (9): 56, 62.Archived from the original on 2020-06-21. Retrieved2020-06-04.
  4. ^"Sep01: Shift-Left Testing". 2014-08-10. Archived fromthe original on 2014-08-10. Retrieved2019-09-06.
  5. ^Velocity Partners (28 January 2014)."Agile Testing - The Agile Test Automation Pyramid".Archived from the original on 2 April 2015. Retrieved27 March 2015.
  6. ^Paul Bahrs (6 November 2014)."Shift Left: Approaches and Practices".Archived from the original on 6 April 2015. Retrieved27 March 2015.
  7. ^Dibbe Edwards (18 September 2014)."Enabling DevOps Success with Shift Left Continuous Testing".IBM.Archived from the original on 2 April 2015. Retrieved27 March 2015.
  8. ^Donald Firesmith (11 November 2013)."Using V Models for Testing".Archived from the original on 2 April 2015. Retrieved27 March 2015.
  9. ^Microsoft (2013)."Record and Playback Manual Tests".Archived from the original on 2 April 2015. Retrieved27 March 2015.

External links

[edit]
Test levels
Test types,
techniques,
tactics
[x]-box
style
See also
Retrieved from "https://en.wikipedia.org/w/index.php?title=Shift-left_testing&oldid=1328020810"
Category:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp