IT applications are increasingly constituted of complex business processes and are becoming more intricate and inter-connected. This aspect, combined with the pressure to reduce IT spend, is forcing enterprises to look for alternate ways to manage their growing portfolio of requirements; such as streamlining the quality processes, increasing the degree of test automation etc. In this context, I would like to briefly touch upon a few of the software testing trends for 2011 that I believe will make a significant impact on the testing scene.
What is a Trend?
I present an interesting definition of a “Trend” picked up from “Faith Popcorn’s BrainReserve”:
“Trends are not fads. Trends endure. Trends evolve. They represent underlying forces, first causes, basic human needs, attitudes, aspirations. They help us navigate the world, understand what’s happening and why, and prepare for what is yet to come.”
Key trends for 2011
Testing on the Cloud: To minimize test environment expenditures and gain better control of their IT resources, companies are beginning to take advantage of a delivery model known as ‘cloud computing’. In cloud computing, applications and information are provisioned on-demand, as a shared resource.
Cloud architecture can be set up as a “public” cloud – with services dynamically delivered from a third-party provider hosted outside of the firewall; “private” cloud – where a cloud-like architecture can be set up over the company’s private network (inside the firewall); or a hybrid model utilizing a combination of internal and external providers.
Traditionally, IT would have had to purchase additional server capacity and deploy it in their test environment, requiring added staff and extra maintenance expenses. Using the cloud architecture, IT managers are now able to quickly replicate their application test environment on the cloud and have the capacity they need “on-demand”. Companies are still cautious about moving all of their mission-critical applications to the cloud.
Agile Testing: Agile development methodology took the IT world by storm when it first emerged nearly 10 years ago. Organizations turned from waterfall and other traditional development methodologies to agile, hoping to improve business responsiveness, make their applications more adaptable to changing market conditions and enhance the quality of their IT systems. But these organizations are finding their own, unique forms of agile. Many organizations find success in taking the best of traditional methodologies and applying them to their agile projects, creating a unique hybrid model that works for them.
Agile Testing does not emphasize rigidly defined testing procedures, but rather focuses on testing iteratively against newly developed code. Quality is achieved from an end customer’s perspective. Agile brings the development and testing functions closer together, but it does not automatically turn developers into good testers, or make testers more familiar with the development process.
Organizations need to take a closer look at the skill sets required by the testing team to effectively support agile methods. Agile testers need to be more versatile than traditional testers. On the one hand, they must be more technical, more familiar with development practices, and comfortable with using non-traditional test automation tools to validate Graphical User Interface (GUI)-less applications. On the other hand, they need to be close to the business to understand the requirements, work with end-users throughout the project, react quickly to change and tie application quality directly to business value.
Right Information at the Right Time: As James Whittaker, an international speaker once pointed out: “Information is at the core of everything we do as software testers. The better our information about what the software is supposed to be doing and how it is doing it, the better our testing can actually be. I find it unacceptable that testers get so little information and none of it is specifically designed to make it easier to do our jobs. I am happy to say that this is changing… rapidly…. and that in the near term, we will certainly be gifted with the right information at the right time.” This is definitely one of the trends that will change perceptions in 2011.
Skilled Testing resources: Organizations are constantly on the lookout for better skill-sets and test profiles that can add real value to improving the quality of software. In the past, the development team would typically test the systems they developed. Today, the profile of a tester is changing rapidly and organizations prefer testers who bring both strong technical skills and the relevant domain and business knowledge to the table. In addition to being knowledgeable about automation technologies, testers today are able to understand the purpose of business solutions & requirements and contribute intelligently to improving the quality of the system. They are also able to provide actionable analysis to the development community, for faster resolution of defects. Testing is increasingly seen as being closer to the business and considered a very progressive career path with multiple roles and responsibilities.
Analytics / BI (Business intelligence) Testing: In today’s fast paced business environment, it is almost always an unstated fact that the success of any BI (Business intelligence)/ Data Warehouse solution lies in its ability to not only analyze vast quantities of data over time but also to provide stakeholders and end-users meaningful options that are based on real-time data. This requirement mandates an extremely efficient system that can extract, transform, cleanse and load data from the source systems on a 24/7 basis without impacting the performance, scalability or causing system downtime.
One of the key elements contributing to the success of a BI (Business intelligence)/Data Warehouse solution is the ability of the test team to plan, design and execute a set of effective tests that will help identify multiple issues related to data inconsistency, data quality, data security, failures in the extract, transform and load (ETL) process, performance related issues, accuracy of business flows and fitness for use from an end user perspective.
The primary focus of testing is usually on the ETL processes. This includes, validating the loading of all required rows, correct execution of all transformations and successful completion of the cleansing operation. The team also typically thoroughly tests SQL queries, stored procedures or queries that produce aggregate or summary tables. Keeping in tune with emerging trends, it is also important for the test team to design and execute a set of tests that are customer experience -centric.
Reusability of testing assets: Organizations are investing time in quality solutions where they reuse 45-60% of their testing assets, leading to increased testing efficiency, high level of test case automation and shorter testing cycles.
Test automation solutions: Organizations are investing on resources to implement test automation solutions to increase time to market, save money, improve accuracy, increase test/requirement coverage and improved team morale.
Many of the trends outlined in this paper are fast being seen as business-as-usual practices today. However, these trends are still evolving and lean towards bringing in measurable gains to the business community, so the budgets for IT testing are justified.
Did you like this? Share it: