Shift Left Testing is the name applied to the Agile concept to shift the software testing activities from the end of the software development life cycle to its beginning, or on the left of life cycle diagrams. In his article “Four Types of Shift Left Testing”, Donald Firesmith of the Software Engineering Institute discusses the importance of shift left testing and defines four different approaches to implement shift left testing.
The article starts by presenting the problem of the traditional place of testing : insufficient resources, late discovery of issues with requirements or design decisions and less time to fix bugs. Donald Firesmith summarizes it in one sentence: “These negative consequences of late testing increase development and maintenance costs, lead to missed deadlines and schedule delays, decrease quality due to residual defects, and generally lower project morale and job satisfaction.”
The second part of the article presents the four approaches of shift left testing based on the traditional V model used to define software testing activities. The four approached defined in this article are:
* Traditional shift left testing
* Incremental shift left testing
* Agile/DevOps shift left testing
* Model-based shift left testing.
The conclusion of the article is “Shift left testing is a powerful and well-known trend within the software testing community that is largely intended to better integrate testing into the system/software engineering and thereby uncover defects earlier when they are easier and less expensive to fix. What is less well known, both within and outside of the testing community, is that there are four different ways to shift testing left and that these methods build upon each other to greatly improve the efficiency, effectiveness, and even the scope of testing.”
Read the complete article on https://insights.sei.cmu.edu/sei_blog/2015/03/four-types-of-shift-left-testing.html