One of the wonderful things about Parasoft is that the company has a strong focus on helping organizations of all sizes achieve compliance and high levels of quality to develop software solutions using our continuous quality testing suite. This blog isn’t to tell you about the cool stuff we do at Parasoft, but to share with you an observation I made recently.
Every so often we receive updates from our customers about their projects. Recently I heard from one of our long-time customers sharing how they’re using our solution. I became really intrigued by their application. Some of you might be familiar with the Leopard 2 tank.
In warfare, tanks have a relatively short history. They were first widely used in the early 1900s. Throughout the decades, significant improvements have been made, including the introduction of technology. There’s much to be said about what’s possible today when it comes to technology.
I found it particularly interesting how the process of training the crew offers parallels with the development of software.
According to the essay, Training: The Foundation for Success in Combat:
When designing a military combat training program, there are generally three components.
With those training components in mind, what are the methods to transform a diverse group of soldiers into a battle-hardened team that is ready for every possible encounter?
The traditional, and still effective, way to train a military team is in the field, in an actual environment with real weather conditions and live ammunition. The downside of this type of training is that it’s very costly.
Additionally, many of the conditions encountered are not repeatable. This can be very frustrating when the task did not meet the standards and cannot be tried again because there is no control over the conditions in the training environment.
Back in the early 1980s, the U.S. military realized that being able to control the conditions during training would allow it to be more efficient and effective. As such, SIMNET was realized in 1986.
SIMNET would allow multiple crews to undergo rigorous training in a fully controlled, virtual reality (VR) environment. You can probably imagine that having full control over the environment, and its conditions, allowed the crew to be exposed to many different scenarios, becoming better prepared for whichever task they would need to complete in real battle.
As a developer, you need to produce working software. The software components often have to integrate or interact with other software. This often happens in a “hostile” environment called production.
In production, the software needs to be able to deal with many different scenarios, many for which we can prepare. Do you recognize the parallel with the military delivering well-trained crews to complete their missions?
When developing software, you want the application to be as ready as possible before exposing it to the real world—much like a tank crew. All the components of the software must function like a well-oiled machine.
You’re designing the software to handle all expected situations and to be capable of managing unexpected ones. It begs answers to questions.
The cost of unpreparedness could be catastrophic.
Many organizations are wasting many resources and are still not able to deliver battle-hardened software before releasing it. We need to break through the idea that testing can only be done against the actual environment. We’ve made some steps forward. Now it’s time to leap forward.
Much like the military uses virtual reality to take control of their environments’ conditions, development organizations can leverage service virtualization for the same effect.
By taking control over your test conditions, you make it easier to fully test and verify your application’s tasks and ensure that it meets the necessary standards for deployment. This results in lower costs, higher productivity, and faster delivery to production.
Fortunately, I’m seeing more organizations take the first steps to gain control of their development and testing environments by adopting service virtualization. Are you curious about how you could take control of your environments? Wondering what the right adoption strategy is for you?
Reach out to me to discuss these ideas about test environment simulation further. I’m happy to answer any of your questions and give you a personal demonstration. You can also check out our whitepaper.
Jochem has spent the past two years working as an enterprise solution consultant for Parasoft, after serving as an industry consultant with a global system integration firm. He enjoys helping customers take control of their test environments.