How many challenges do software application developers face today? It’s an impossible question to answer and if anything the challenges are becoming more complex all the time.
Shridhar Mittal is general manager of the ITKO customer solutions unit at CA Technologies (the artist formerly known as Computer Associates). Mittal summarises some of the main challenges in “app” development just now into seven main headings.
Developers, says Mittal, are tasked with delivering complex applications today and presented with many real challenges such as:
1. The demand for more releases per year than ever before
2. An increased level of functionality (of all kinds) within applications
3. End-users are now expecting “Facebook” standard application experiences
4. The total number of platforms applications have to run on is increasing all the time
5. There is always the challenge of the downtime developers face whilst they wait for testing teams to have access to related systems
6. Parallel development cycles increasing demands on mainframe and other back end systems for testing
7. Cloud migration may now be impacting all of the above and providing new challenges throughout
CA’s Mittal argues that “service virtualisation” can address all of these issues by decoupling the dependencies that developers face in building composite applications, including mainframes, ERP & third party systems and databases.
According to Mittal, “Service virtualisation removes the constraints that cause the usual ‘Dev/Test Speed Trap’, where developers are asked to create ‘stubs’ or ‘mock-ups’ for the testing teams and/or wait for testers to have all dependent applications and systems available before testing the next build. If a development shop is mocking a single binary transaction — that is a simple enough problem to solve with a bit of code. But as soon as multiple systems talk to each other and multiple business scenarios need to be validated. The manual stub approach quickly starts to trip over its own weight, so the process of mocking and massaging test data and environments can drastically slow down delivery.”
The argument here is that a virtual service environment means each development/test team can work in a simulated environment that behaves just like the real thing.
In simple terms, service virtualisation is a capability that allows testers to remove constraints from the software development lifecycle process.
It allows developers and testers to test an application on a virtual infrastructure that has been configured to imitate a real production environment.
“Service virtualisation enables testing teams to change the variables to prepare for different scenarios as well. What it doesn’t do is require large upfront capital in terms of infrastructure investment to create an adequate test environment to simulate the real enterprise on which the application will run. It also doesn’t force those testing the app to prioritise or compromise in terms of the three critical criteria in application development and testing: cost, quality or schedule,” added Mittal.