QA City

   QA City >> Expert Column
Dont Miss Experts

Evolving Landscape of Software Testing

Anuradha Biswas
Anuradha Biswas
Founder and CEO, Prakat Solutions
The Founder and CEO of Prakat Solutions, has been an evangelist for independent testing through h... more>>
Software testing has evolved over the last several decades. The ever increasing sophistication of applications and the underlying technologies have forced the testing community to continue to optimize. While earlier the developers took care of the testing, as the applications required more reliability, a separate test team was setup to ensure that the reliability was a key criterion across all stages of the project. With time, people realized that an independent test team can provide a different perspective and help identify more defects. Today, business scenarios demand greater flexibility and require us to be cognizant of the financial cuts while still ensuring the application quality.

The customer space has also evolved with different customers being at different stages of maturity in the Evolution cycle. Large enterprises have stabilized their development and testing processes are now focusing on optimizing their already evolved and mature practices. They are looking for holistic sustainable testing solutions which cover areas like domains, technology, processes and tools. The mid-sized customers have realized the need to be on par with the best of breed industry benchmarks in testing services and have taken initiatives to put in place mature testing processes by setting up Test Centers of Excellence. The smaller customers, specially the new generation that provides niche software solutions in the Mobile and Internet space, are looking for quicker and cost effective testing solutions which are in sync with their market release timelines. It is important for a testing company today to understand the varied needs of these different customer segments and recommend the right solution after analysis of maturity levels.

Several companies are moving towards server consolidation based on virtualization to optimize costs. Cloud computing is also exceedingly finding adoption in enterprises. However, this situation presents two major challenges. First, how to test applications hosted on the cloud and second, how to leverage the cloud to test effectively.

For applications hosted on the cloud, the features do not change much, but the way they are deployed becomes more distributed. While the cloud helps optimize infrastructure, the flip side is that it has pitfalls like performance and security issues due to too many layers and options in the environment.

Testers require a more holistic approach for testing such issues since the usual approach of looking at them only from a testing or domain point of view may not always work. Their learning efforts should be directed towards gaining in-depth understanding of how cloud technologies are implemented and bottlenecks possible. To be an effective tester in the cloud world, a tester needs to have a combination of excellent testing skills, the ability to use the basic tools when testing and good understanding of the underlying technology and other software products which go into enabling the application on the cloud. The emphasis should be more on understanding the infrastructure and test environment solutions, areas which was not very critical in the non-cloud world.

Let us now discuss how cloud can be leveraged to test effectively. The whole reason for cloud or virtualization becoming a hot topic is that it gives end customers a flexible pay as you go model to reduce their overall spend and also does not hoard too much infrastructure. The same benefits can be extended to testing as a service. The testing services market, both in-house and outsourced is in the range of $80-100 billion now and customers are expecting optimization in their huge testing infrastructure. At Prakat, we are focusing on leveraging the cloud effectively by building frameworks and solutions on top of existing products and tools which will make it easy for customers to use them as required and not invest in them up front. Also, the customers will not have too many skills to learn, thereby reducing re-skilling expenditure.

Another business opportunity that has emerged for testers today is in the mobile applications market. The phenomenal growth of mobile devices has opened up avenues for organizations to integrate them into the mainstream-computing environment. Today’s mobile applications deliver complex functionality on platforms that have limited resources for computing. Yet, unlike the PC-based environment, the mobile environment comprises a plethora of devices with diverse hardware and software configurations and communication intricacies. This diversity in mobile computing environments presents unique challenges in application development, quality assurance, and deployment, calling for unique testing strategies. Many enterprise applications which were deployed as desktop applications earlier are now being ported to mobile devices. These applications are empowering workforces across various functions, especially in sales, supply chain, field support, and on the shop floor.

Mobile applications, although they have limited computing resources, are often built to be as agile and reliable as PC-based applications. In order to meet the challenge, mobile application testing has evolved as a separate stream of testing. We at Prakat are helping organizations mitigate the risk of running production grade mobile applications on different devices, with different OS versions and on different networks.

As the demand for mobile applications continues to increase exponentially, developers, content providers and value added service providers face new challenges:

* Does your mobile application work on the real mobile phones?
* Are your services accessible from all targeted markets?
* Is the performance of the application acceptable on all the networks its deployed on?
* Does the application work while the user is roaming?

Testing of Mobile Applications can be very complex because of the number of environmental changes which can affect the behaviour of the application. Look at a situation where you are doing some stock market transactions on your mobile phone while having coffee at the café across the street from your office over a 3G connection. You walk back to your office and the phone switches over to your corporate Wi-Fi connection. You are still transacting on the application. This is just one of the many conditions where you hope and pray that your application has been well tested and that you will not incur any financial losses based on its malfunction. As mobile applications become a part of our lives we must realize that there is a need to ensure that they perform as expected. Challenges such as these which continually come up will keep the excitement in the testers job alive.

Experts on QA
Swaid Qadir Bhat
Sr System Architect
Virtusa Corporation
Subhash  Motwani
Prasad Rao Pasam
Ayaskanta  Mohanty
Managing Director
TATWA Technologies
Rajesh  Dagar
Software Architect
Connect Icon Pvt Ltd
Yasar  Khuthub
Software QA Manager
Azure IT Solutions
Sunil  Bhat
Project Management
HCL Infosystems Limi
Sharad  Agarwal
Team Lead