.
The software testing and Quality Assurance (QA) are arguably the most critical components of a product’s life cycle and the most valuable IT discipline within an enterprise. Today, with the advent of new production methods and technologies such as Cloud computing, automation tools, open source tools and innovative testing methods, the entire spectrum of software testing is undergoing a sea change. According to a report by industry body NASSCOM on the testing industry, globally, the market for software testing outsourcing is expected to grow from $30 billion in 2010 to $50 billion in 2020. A recent market analysis by Pierre Audoin Consultants (PAC) have stated that the market for application testing and quality assurance services continues to grow faster than the overall IT services from 2011 through 2015.
Perhaps, enterprises are now looking up to testing organisations to provide them with the necessary confidence to charge ahead in business initiatives. And to perform these tasks efficiently, software testing itself is introducing a series of innovations and trends. Modern tools and technologies are bridging the gap between the testers, customers and developers by encouraging a ‘team approach’ in testing. “Companies are increasingly realising that the good old structured test cases that run repeatedly on the software do not improve software quality, but is just a defensive approach. Thus, exploratory testing methodologies are becoming very popular since they help generate infinite new test cases and help testers bring a new level of rigor to tests,” said Avaneesh Dubey, Senior Vice President and Head, Suite Test Center, SAP Labs.
Another trend is model-based testing. Some testers are beginning to embody exploratory test intelligence into models that can be used for model-based testing. These include integrating disparate platforms, reducing the time to market with accelerated development methodologies, and delivering superior customer experience by enhancing customer-facing applications. By combining exploratory tests with test-automation-model-based testing is becoming a powerful technique, taking software testing to new levels of productivity and effectiveness.
Automated testing
Proper selection of the tool is the key to the success of automation. Ashok Saxena, Head, India Engineering Centre, Kronos felt that initial cost was not the only factor to select the tool. “One should consider learning, skill availability and maintenance of the automated scripts while selecting the tool. A wrong decision can impact the overall success of automation initiative,” he added. In functional testing commercial tools such as Quick Test Professional (QTP), Test Complete, Silk Test and so on are gaining importance. “However, there are lots of open source tools such as Selenium, which are attaining popularity in testing,” noted Ramakrishnan Sitaraman, Senior Director – Application Optimisation, CSS Corp. “These tools not only reduce cost but also help in adding more and more plug-ins,” he added. With emphasis on automation to improve feedback cycles, organisations are looking at flexible and low cost tools.
That said, there are pitfalls as well. The common pitfall is that these cannot replace human intelligence in design. The setup and configuration of automation tools are also quite expensive and could lead to a disaster if not planned and executed well.
Help from Cloud
A Cloud-based delivery platform enables users to understand service layers, elicit their testing requirements, and consume customised services. Pradeep Chennavajjuala, CEO & Co-Founder Edista Testing Institute, felt that the most important aspects for testing on Cloud include functionality, performance, security and reliability. The platform is also capable of handling complete test management from workload simulation, integration, provisioning, execution and reporting. According to Dhiraj Sinha, Executive Director – Application Testing, Dell Services, adopting Cloud as the test environment — whether for hardware infrastructure or test tool perspective — has certainly gained traction. “Simulating application workload in a more production type infrastructure, trying out Cloud with test workload before moving the production workload are very strong use cases. Similarly, on-demand usage of testing tools delivered over Cloud could reduce overall cost of testing,” he noted.
In spite of these gains, the industry is concerned about the possible security issues on the Cloud. “But with proper checks and controls in place, one can have a successful Cloud –based testing model,” assured Nitin Dang, Country General Manager, Micro Focus, India and SAARC. The value of Cloud-based Peak Load Testing is enormous and hence it offsets all challenges. “Peak-load testing via the Cloud also takes advantage of the ability to run tests virtually on-demand. This avoids testing bottlenecks and prevents long delays as internally managed hardware is acquired and set-up,” Dang added.
Mobile application testing
While hand-held devices become more common in enterprises, businesses are under constant pressure to deliver a smooth experience for apps. As smartphone capabilities further develop, so does the level of expectations for added functionality. Thus, it is crucial that mobile applications should be tested rigorously to ensure a smooth experience for customers. The diversity in mobile computing environments presents unique challenges in developing apps, QA and deployment, which needs higher and a more intricate testing regime. Mobile apps testing require dedicated labs to verify the functionality in different devices and platform. The usage of mobile applications is different.
Traditional applications do not support multiple operating systems, while mobile apps do support them. So apps should be tested to ensure that they run on key platforms and across a multitude of networks. Kalyanasundaram of Cognizant opined, “Quality testing of applications across operating systems, device platforms, and networks is a necessary but daunting task to ensure long-term success in a highly fragmented and competitive global market.”
Usability testing and inter-operatability are also the key components in mobile testing. Also, network and connectivity issues can cause unexpected errors that crash mobile apps, and it is sometimes nightmare for testers and development team to identify the root cause for malfunction. Energy usability is also a key component in mobile app testing. As Tarigopula of HP put it, “We did not bother about the energy consumption of an application when we tested on a PC or a laptop. But now, in mobile, we need to make sure the app is not guzzling energy and are left with a dead mobile before the end of the day.” Other non-functional testing such as usability, security and adaptability is also critical in the case of apps. Silk Mobile, Robotium (automated tool for Android), Sikuli, Frank (for iOS) are some of the popular mobile apps testing tools.
The way forward
Even with new tools and technologies, the testing landscape is facing a lot of challenges. “A major challenge is that software testing is becoming a highly demanding cross-functional area. This certainly is mandating a re-design of the core role of tester,” opined Chennavajjuala of Edista. That calls for re-imagining and re-aligning the complete function of testing, which would, in turn, needs to find out right people, process and technology. Another challenge is the budget. As mobile, Cloud and other technologies add more to the plate, there is a need to ensure that the conventional testing gets automated, and the resulting savings get reoriented to the emerging areas. Getting the right hand is also an issue in testing industry. As Gaurav Kohli, Development Director, Dion Global Solutions put it, “Software testing is a niche skill and we do not have enough educational and training focus on this. The skill is thus largely built while at work. Thus, the availability of skilled and trained resources is a challenge.” Adopting a hybrid model that combines domain expertise of the company and an external technical expertise hired for the purpose will solve the issue to some extent.
But for sure, there is a huge business opportunity for software testing as there is no tolerance for defective software from the end user’s side. There is a growing understanding that quality will become everybody’s responsibility in the future, and more and more organisations start to look at quality more holistically. Rising recognition, significance and acceptance of network-based applications, wireless tools and mobile technologies with high significance for repeatability, reliability, robustness and re-usability have set a newer facet for testing. At the same time, the core of the application has to be maintained. Thus, there is going to be exciting and changing times in the area of testing. As Prasanna Raghavendra, CTO & Co-founder, CloudMunch puts it, “With newer technologies, test cases will be written before development so that once the software comes in, it gets tested automatically.” Also as mobility is being embraced by enterprises, mobility testing and security testing will be in huge demand. However, software testing companies and professionals have to re-invent themselves and innovate new methodologies, tools, frameworks, and business models to seize the opportunity.