Content deleted Content added
David Edgar (talk | contribs) lower case in section titles as per MOS |
No edit summary |
||
Line 2:
{{Orphan|date=May 2015}}
}}
'''Shift
== Harm due to late testing ==
Shift
* Testers may be less involved in initial planning, often resulting in 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.
Line 12:
* 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.
== Types of shift
There are four basic ways to shift testing earlier in the life-cycle (that is, leftward on the classic [[V-model]]). These can be referred to as traditional shift
=== Traditional shift
As illustrated in the following figure, traditional shift
<gallery>
Traditional-Shift-Left.jpg|Traditional
</gallery>
=== Incremental shift
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
<gallery>
Incremental-Shift-Left.jpg|Incremental
</gallery>
=== Agile/DevOps shift
As illustrated in the following figure, [[Agile software development|Agile]] and [[DevOps]] projects have numerous short duration Vs (a.k.a., sprints) in lieu of a single or small number of V as in the previous two examples of shift
<gallery>
Agile_DevOps_Shift_Left_Testing.jpg|Agile/DevOps
</gallery>
=== Model-based shift
The previous forms of shifting testing left all concentrated on beginning the testing of software earlier in the development cycle. Waiting until software exists to begin testing, however, largely and unnecessarily limits the use of testing to uncovering coding defects. This delay is particularly disturbing because from 45 percent to 65 percent of defects are introduced in the requirements, architecture, and design activities.<ref>{{cite web|url=http://www.iiste.org/Journals/index.php/CEIS/article/viewFile/3533/3581 |title=Quality Flaws: Issues and Challenges in Software Development |author1=P Mohan |author2=A Udaya Shankar |author3=K JayaSriDevi |last-author-amp=yes | date=2012 |accessdate=27 March 2015}}</ref>
As illustrated in the following figure, model testing moves testing to the left side of the Vs by testing executable requirements, architecture, and design models. This shift enables testing to begin almost immediately, instead of waiting a long time (traditional), medium time (incremental), or a short time (Agile/DevOps) until software on the right side of the Vs is available to test. This trend is just beginning.
<gallery>
Model-Shift-Left.jpg|Model-
</gallery>
|