With DevOps, automated tests have become a crucial necessity. Tests need to be thorough, and their automation should be stable. In fact, tests have to meet quality and robustness criteria that are similar to the application under test, but tests seldom get the attention and investments that the applications get. Where sources and components of applications are considered products that are designed and developed, tests play a mere supporting role. In Scrum projects you will not see tests specified in the backlog. Rather, they are seen as a part of the production for the user stories.
It is a fundamental role for testing teams to align their test design, test automation, and test case development with DevOps–not only to verify that code changes work but that the changes do not break the product. A key differentiator of DevOps is testing maturity. An organization can automate their integration, testing, delivery, and monitor, but still have issues with the intelligence of test orchestration and automation, which can lead to a bottleneck if this is not resolved beforehand.
The V-Model for Software Development specifies 4 kinds of testing:
- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
I was reading an article a few months ago entitled, “is Silicon Valley the next Detroit…”, and I found it very interesting.