Shifting Left and Consistency [#ShiftingLeft #SoftwareTesting #AgileNewsAndViews]

SHIFTING LEFT AND CONSISTENCY [#ShiftingLeft #SoftwareTesting #AgileNewsAndViews]


Even with Agile teams, typically end-to-end testing and regression testing and mitigation of any issues in software or environments often occur near the end of the release cycle. The challenge with this approach is that by discovering any issues right at the end of the release cycle, the race then would be on to fix those issues by the delivery deadline.

When not fixed by the delivery deadline, businesses are presented with an expensive choice between postponing the launch or releasing defective code.

If companies postpone the launch, they may lose out on potential revenue or disappoint their customers.

If companies cannot postpone the launch, there is immense pressure on their engineering teams to deliver by the release deadline resulting in known defects being released. This may result in functionality issues for users, or worse, privacy or security concerns.

Shifting-left is critical to improving the overall quality of software, which is increasingly becoming a market differentiator for many organizations. With this approach, testing is performed much earlier in the software development lifecycle. This helps the engineering team identify design defects much earlier and before significant efforts have been put into their implementation. This also ensures and facilitates a quicker and easier remediation of defects as the process becomes more and more difficult as more and more software components are developed and integrated.

While many CIOs understand the value of shifting left, inconsistencies across run-time environments, processes and tools make it impossible for many organizations to truly embrace this thinking.

Consistency is at the heart of a successful cloud strategy and must support the entire change delivery workflow by ensuring that all environments are consistent. Currently, many organizations test new releases or business demos in staging environments while, as can be commonly found, the production environment differs significantly from this staging environment.

This lack of consistency ultimately prevents the entire organization from shifting left, presenting a number of issues that hamper software engineers from delivering high quality of software required by ever-increasing expectations around a flawless customer experience and growing threat of cyberattacks exposing security holes including:

• Finding false negatives
• Risk of false positives

False Negative:
When the execution of a test shows no fault even though there is a fault in the application.
This can be due to an incorrect initial state of the database or problems dealing with the test environment setting.

False Positive:
When a test is executed and despite it running correctly, the test tells us there is an error.
This adds on a lot of cost, as the tester will keep searching for the nonexistent bug.

To improve consistency and to reduce the risk of both false negatives and false positives, it is important to make all the environments throughout the change delivery pipeline similar to that of the production environment as close as possible. All other environments must closely reflect the final production environment, including infrastructure, databases, operating system, firewalls, patches and configuration.

This is near impossible in the traditional provisioning process, as the production environment is typically heavier and more detailed than those used in the development – and often driven by manual changes. However, by using modern cloud approaches and Infrastructure as Code, you can get much closer.

By managing cloud environments with software, the staging environments can much more closely mimic the live environment, helping to eliminate issues that arise due to simple configuration inconsistencies.

Consistency is at the heart of shift left:

How to Avoid False Positives and False Negatives in Test Automation:

Like this? Leave your thoughts below...

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Posted in:

Don`t copy text!