Current trends in software testing and cloud-based automation
✍️ How to write this paper — guide, tools & examples ▾
¶ … Software Testing
Class Identification
Date of Submittal
Current Trends in Software Testing
The continued growth of Cloud Computing, Software-as-a-Service (SaaS) and virtualization technologies in conjunction continual improvement in the automating of the Deming's Plan-Do-Check-Act (PDCA) processes are defining the future of software testing and quality assurance. The most rapidly evolving trends in software testing include the defining of PDCA-based automated testing networks and Testing-as-a-Service predicated Cloud Computing-based platforms (Nakagawa, Ferrari, Sasaki, Maldonado, 2011). The legacy of software testing and quality assurance defined by Six Sigma methodologies are being automated into Web Services-based and SaaS platforms for quicker deployment and greater accuracy of results (Jones, Parast, Adams, 2010). Software-as-a-Service (SaaS) shows potential to reduce software testing cycles and improve quality to a level not seen in previous testing and quality management approaches (Watson, DeYong, 2010). The intent of this analysis is to analyze the current trends in software testing and how they impact overall development of enterprise software.
The Integration of PDCA Modeling As A Foundation of Testing-as-a-Service
The transition form manually-based testing and quality assurance methodologies to those that are automated continues to dominate the trends occurring in this area. Relying increasingly on Cloud-based and SaaS platforms is giving development teams increasingly greater flexibility in anticipating and responding to market and organizational changes over time (Watson, DeYong, 2010). The PDCA cycle that is automated as part of a software testing lifecycle approach has been able to align and create greater levels of collaboration as well across departments and divisions of companies. This is one of the more powerful catalysts driving the trend of SaaS-based software testing and quality assurance. The need for coordinating across a broad range of product and service divisions, continually strengthened by new insight and intelligence, is proving to be highly effective in driving up the quality level of software (Nakagawa, Ferrari, Sasaki, Maldonado, 2011). Collaboration across departments is critical during the planning phase of any software testing project to ensure that engineering, development, quality assurance, product management, planning and services are all kept informed as to the direction and progress of software quality management. Software testing becomes the fuel or catalyst that keeps a software project continually moving forward from development to launch and eventual use. Software testing and quality assurance in software development is not often seen as the unifying factor in ensuring cross-functional team performance however (Yang, Onita, Zhang, Dhaliwal, 2010). The continued development of software testing on the SaaS platform however is making greater levels of collaboration and shared ownership of software quality possible, on a global scale (Watson, DeYong, 2010).
To ensure software testing continually improves and strengthens the level of collaboration and shared ownership, metrics and Key Performance Indicators (KPIs) are being developed in best-in-class companies to mesa sure shared performance (Jones, Parast, Adams, 2010). Metrics and KPIs are used for effectively managing the entire breadth of the development cycle, with specific focus on measuring the effectiveness and speed of collaboration across functional departments. The focus on how to create the greatest level of shared accountability in software testing and quality assurance is also an evolving best practice, enabling the Cloud-based architectures (Nakagawa, Ferrari, Sasaki, Maldonado, 2011). Software quality assurance and testing methodologies have metrics and KPIs that are highly dependent on the code alone, not measuring the impact of each code base from specific departments and development groups. What's evolving is a shared accountability model of performance, where the aggregate quality score is defined and the specific code level quality assessed, with specific focus on the areas of software quality stability, reliability and performance over a wide variety of use scenarios (Watson, DeYong, 2010). The use of analytics as part of the software testing and quality assurance process is discussed in the next section of this report. The role of analytics serving as a foundation for measuring software productivity has long been a best practice, and the integration of real-time data in the form of SaaS-based platform analytics is emerging and growing fast due to its low cost to capture and rapid use to analyze and correct the direction of software projects over time. The real time role of analytics in software testing is next evaluated in this paper.
The Real-Time Role of Analytics in Software Testing
In conjunction with the trend of Cloud Computing platforms being used as the foundation for testing services, creating the emerging area of Testing-as-a-Service applications and platforms, there is the additional benefit of analytics being more easily tracked and managed with digital platforms. The use of Cloud Computing and SaaS-based platforms is further accelerating the development of real-time analytics, dashboards, KPIs and metrics, making the quantification of shared software quality performance measurable and quantifiable (Jones, Parast, Adams, 2010). SaaS-based architectures allow software testing to also become more measurable over longer periods of time suing a common data set. Using longitudinal analysis and Six Sigma approaches to measuring variation in data, development teams are able to gain greater insights into how their software development methodologies are impacting overall software quality (Mattiello-Francisco, Martins, Cavalli, Yano, 2012). The reliance on these application development approaches and the integration to Cloud-based Testing-as-a-Service initiatives are also making the shared accountability and responsibility metrics so critical to overall program success more visible across an organization as well. Not only is the real-time development of these metrics changing software quality, the change management initiatives attributable to having so much data available is also forcing significant change in company cultures.
Of the many methodologies used for capturing, analyzing and continually improving the quality of software, one of the more promising is a comprising series of tests and suite of metrics called TESTQUAL (Yang, Onita, Zhang, Dhaliwal, 2010). The goal of TESTQUAL is to measure the functionality, reliability, usability, efficiency, maintainability and portability of software quality assurance and testing programs (Yang, Onita, Zhang, Dhaliwal, 2010). TESTQUAL has shown initial positive results in streamlining PDCA-based methodologies that have been automated to take into account globally-based software development projects and programs. This approach to also has shown significant potential in streamlining and simplifying dozens of metrics and KPIs into a single manageable set as well. The use of PDCA cycle-based measurements in the many variations of Agile development approaches have also shown significant performance value over time as well. Testing-as-a-Service platforms all today include some form of analytics and KPI measurement, with each promising to deliver insights to shorten development timeframes. He use of SERVQUAL however has been instrumental in initial tests to increase the cycle times of large-scale enterprise software using Agile development methodologies to further guide development (Yang, Onita, Zhang, Dhaliwal, 2010). The future of analytics in software testing and quality assurance will certainly continue to accelerate with Agile-based development methodologies and their benefits being quantified, and failure analysis used for measuring points of failure throughout the development process. Only by quantifying each phase of the software development process can overall quality be improved and the speed of development itself increased.
Conclusion
Software testing has rapidly progressed from manually-based and script-based approaches to ascertaining quality, to today being focused on how to make the most of Cloud Computing and SaaS-based platforms to automate and quantify the process. The use of SaaS-based applications and the inclusion of Testing-as-a-Service into many quality testing programs is the leading edge of software quality. Aside from the ability to quickly deploy these applications, the use of analytics and measurements to evaluate software quality is also a primary concern. All of these factors however are combining to create an entirely new level of intelligence and insight into software testing and quality assurance. Metrics and KPIs that measure relative contribution to software quality are now becoming more pervasive as a result. In addition the focus on shared accountability, analytics are today being used to measure overall points of failure in the development process so improvements can be rapidly made over time.
Create your account
Always verify citation format against your institution’s current style guide requirements.