DevOps Testing vs Traditional Testing
Appropriate testing is THE differentiator for high performing IT organizations.
What is the Same?
Tests need to be classified according to the attributes of the system or the product that is to be tested. Test types include:
Unit Test - This is a method that validates that the code statements satisfy assertions.
Static Code Analysis – Testing that checks source code logic and consistency. Static testing evaluates code against development standards and guidelines. Code execution is not required.
Dynamic Analysis – This type of testing might also be referred to as “Functional Testing”. In this type of test, code is executed against positive and negative functional scenarios.
Code Coverage – Measures the percentage of relevant lines of code tested.
Integration Test – This form of testing will help to determine if code changes work after a code merge. Integration testing may also be referred to as smoke test, sanity test or build test.
Compatibility Test – This is used for testing feature interactions.
Conformance Test – This is where we test to ensure the code/product conforms to standards.
Usability – Tests to evaluate the user experience.
Application Testing – Tests to verify the application functions.
Regression Testing – This is required to ensure that changes made did not break something else.
The list goes on to include compliance, security, performance, acceptance testing and more. Not all test types apply to all products or organizations and the names may be different.
What is Different?
Testing must happen much earlier in the development pipeline and must also take into account all aspects of privacy, security and monitoring.
Tests are Automated apart from some nonlinear test types requiring human intervention. Non-automated testing is limited.
Test Environment and Test Data provisioning self-services increase test reliability.
DevOps Tests including pre-flight tests, are performed in an environment that is equivalent to the production environment of customer deployments. This limits the risk of false positives.
New Thinking for when and how to accelerate change, become a ticketless IT organization and how to provision for skillsets and structures that shatter silos will continue to be integrated into Continuous Testing and the DevOps Pipeline.