Outsourcing testing for e-Business
The changing trends of outsourcing and a move towards 'Virtual Test Labs'.
There has been much debate about outsourcing over the last few years, articles in the mainstream computing press have outlined the successes and failures of major outsourcing agreements, alongside articles providing guidelines from the 'experts' for organisations moving towards outsourcing.
However, outsourcing of the software testing function still remains fairly low, in a recent independent survey of over 100 blue-chip organisations commissioned by IS Integration, 94% of respondents still mainly use in-house resources for their testing, but nearly 40% have used external Test Lab facilities at some time.
Looking forward, the survey revealed that Test Labs are high on the agenda for most organisations, with over 73% of those who had never used Test Labs were planning to use them in the near future.
This article explores in more depth the changing trends towards outsourcing, why this change is inevitable, and it introduces the concept of 'Virtual Test Labs' which are more flexible facilities that are likely to become commonplace on the next few years.
The Y2K problem brought home to many companies, and also into the eye of the press, the importance of well-planned and thorough testing. The outsourcing strategies of the 80's and 90’s stressed the focus on core competencies and saw an increase in the outsourcing of non-core functions such as IT.
However. e-business has brought IT back into a more central role within the business strategy, it can no longer be seen solely as a supporting function.
Today the emphasis is on concentrating IT personnel onto the business side of IT, and as such we are now seeing trends towards segregating IT into its separate functions and the outsourcing of non-core, more technical areas, such as desktop support, networks, testing, database support and similar distinct functions.
Test Lab facilities are just one way of providing testing outsourcing, but can also be used effectively internally for some types of organisation. However, the advantages of setting up in-house Test Labs can only really be justified for large companies or organisations focused on delivering a continuous and repetitive software development, for example software houses.
Setting up and running Test Labs can be a costly business, not only because of hardware and software requirements, but also through dedicated teams of testing professionals to support them.
The nearest many organisations may get to providing their own Test Lab facilities are project-specific model-offices, to replicate working environments for testing new software releases and business processes.
Over the past few years we have seen an increase in the number of small and larger consultancies setting-up Test Lab facilities for their clients. However, there are a number of difficulties that need to be overcome - for example, providing an environment that truly replicates those of the client’s technical environment.
For those companies that have already used Test Labs, our survey found that they have seen increased levels of software quality: respondents cited increased auditability / accountability: fewer problems after release; alongside time and cost savings.
e-Business is driving outsourcing
Organisations are already noticing the different approaches necessary for ensuring the quality of e-business applications. The testing function is currently undergoing a major overhaul in the way it is organised and the way it carries out the main testing activities.
The testing of e-business systems demands more on the testers than ever before, not only do you have shorter time-to-market for new releases and new applications, you have greater demands for different types of testing, commercial pressures towards outsourcing and emerging new business environments.
More testing to do
As well as functional, system and integration testing, e-business demands more from:
- Security - to prevent hackers from accessing the systems
- Compatibility - with different browsers, platforms, operating systems, etc.
- Usability / Consumer Testing - how intuitive the system is to use, does it provide the necessary facilities for a secure trading environment
- System continuity / operability - ensuring 24x7 operation, back-up and recovery and fail-over procedures
- Performance - for concurrent business users
- Monitoring - your systems need to be available, integral and secure 24x7, you need to be aware of problems immediately.
Inevitably more and more organisations will be forced into outsourcing parts of all of the testing function. Whether the drivers are:
- Price - well-planned and developed outsourcing agreements will effectively drive down costs
- Size & skills of workforce - the skills required to perform the different types of testing will make too many demands on in-house staff. With the increased focus on more specialist areas testing from e-business projects it is simply not commercially viable to retain all the skills within a team.
- Flexibility & speed of delivery - the shortened time-to-market is demanding more from testing - thorough testing is the only option in such a changing market. Frequent application modifications and upgrades will bring about major peaks and troughs in the demand for testing and will increase the need for automation.
New business environments
Organisations are becoming more disparate and new business models are emerging. In these kind of environments it is impossible to pull together the relevant parties to physically work together. Portals and virtual businesses are good examples, many are developed from different and disparate businesses.
So what does the future hold?
Web-based systems are enabling and demanding change. Enabling via the centralisation of control and accessibility of the systems, but demanding through the increasing types of testing that have to be performed.
Bandwidth is increasingly being phased out as a bottleneck to providing services across the internet. The help of ADSL and other more advanced technologies are now making it much easier to work remotely with web-based software.
What is a 'Virtual Test Lab'?
The advantage of e-business applications is that they are accessible from anywhere with an internet enabled device, you no longer have to be within the confines of an organisation's IT systems.
This, combined with advancements in testing technology, have made it possible to provide the testing from an environment external to the organisation - from within an e-business Test Lab.
However, 'Virtual Test Labs' take this one step further, using internet technology you no longer have to have the test team working within the lab itself - they can be anywhere in the world!
But the Virtual Test Lab is much more than a few home-workers supporting a project remotely; it is a professional and structured testing team with resources connected to a central location via a secure private network, possibly a Virtual Private Network.
The Test Lab is managed centrally - providing services such as teleconferencing, overall management, project planning and time recording - all available to the team online.
What are the advantages of Virtual Test Labs?
A Virtual Test Lab would allow you to switch on and off the Test Lab resources with the specific skills you need whenever you need them, and you would be able to increase and decrease effort rapidly. Using this approach, we could undertake the same number of hours testing regardless of the elapsed time available.
What are the management challenges?
Working in such an environment demands a wide variety of new skills from the management teams, and new business philosophies for the outsourcing organisations.
Project management and planning will be one of the most difficult tasks. Projects will all have varying demand levels, and testers will be working on more than one project.
f managed carefully this will ensure a cost-effective means of providing test resources. But the remoteness of the work will add its own challenges, particularly for switching tasks between people and handing-over projects to different team members.
Providing information to the client is always essential during an outsourcing project. Centralisation of the management function enables clients to only pay for the time they use.
Through time-capturing methods that would facilitate billing in half-hour or even ten minute periods. Clients are able to log onto their secure area of the server, monitor work completed so far, total billing time, etc.
Personnel are one of management's key considerations. Teleworking has increasingly been in the press, with many articles highlighting the different management philosophies necessary.
Looking after your personnel through monitoring their progress, receiving feedback, providing challenging work, ensuring they are motivated are all essential factors, but are made more difficult through the remoteness of this type of work. Managing personal issues such as feelings of isolation, interaction with other team members, etc. are all key to successful Virtual Test Labs.
So what types of project are suitable for Virtual Test Labs?
Most types of testing are applicable. Performance testing has probably been pioneered more than others to date, but hardware requirements are a key consideration - to run a test of 1000 virtual users will require a great deal of processing power; this combined with high-bandwidth requirements means your Virtual Test Lab is probably not going to be your Auntie's front room! However, it could be supported through one or more ISP's, or in many cases via a mobile network.
To perform the entire spectrum of security testing may also be difficult. Remote security monitoring - for hack-ability, back-doors, etc - is required and can be performed through the Virtual Test Lab, but internal security audits of technology and business processes are something that need to be performed on-site.
When can we expect to see and use Virtual Test Labs?
The technology is already here to provide, in limited form, the concept of a virtual Test Lab. However, there are many other changes that need to take place before we see a proliferation.
We estimate that by 2002 we will start to see:
- Cultural changes - forced by disconnected and disparate business environments, people will be working in partnerships without formal structures. Communication will rely heavily on new developments in technology, whether through the next phase of video-conferencing technology or other future developments.
- Internet Development Maturity - processes and methodologies will become more controlled with the next generation of development tools concentrating on the business as opposed to the technology. Tools and supporting technology to enable virtual management through project control and delivery will become wide-spread, we are already seeing a move towards this by the automated testing tool vendors.
So, are you ready for change? The realities of the internet is that it will not only change the general business environment but it will also affect the IT business environment radically over the coming decade.
Just as businesses work closely together to develop commercial propositions, they will work with suppliers in a closer and much more seamless way to develop IT systems to deliver them.
Adam Ripley, IS Integration