Monday, December 16, 2019

Top Software Testing Trends to Watch Out For in 2020

The software testing landscape continues to evolve. We have seen the continuation of developing trends and the emergence of new trends in 2019. This year, our team of automation experts has cast a few predictions on the latest trends in the software testing industry. Check them out!

To see the recap on 2019 software testing trends, read our article here.




1. Artificial Intelligence and Machine Learning in Testing

Intelligent automation will continue to be on the software testing radar in 2020, according to a variety of reports. 

Applications of artificial intelligence and machine learning (AI/ML) have been leveraged in software test automation before. AI makes testing smarter. Teams can leverage AI/ML to optimize their automation strategies, adapt faster, and operate more effectively. 

In 2019, quality assurance (QA) teams have applied AI/ML in predicting test quality, prioritizing test cases, classifying defects, detecting test objects, interacting with applications under tests (AUT), and so on. It is expected that AI will be omnipresent in every sphere of innovative technology. Investments in this area are expected to fall around $6-to-7 billion in North America alone. By 2025, it is forecast to reach nearly $200 billion. We will expect to see applications of AI in more testing areas — most of which will be relevant to reports and analytics:
  • Log analytics: Identify unique test cases that need manual and automated testing
  • Test suite optimization: Detect and eliminate redundant, unnecessary test cases
  • Ensure test requirements coverage: Extracting keywords from the Requirements Traceability Matrix (RTM)
  • Predictive analytics: Forecast key parameters and specifics of end-users’ behaviors and identify application areas to focus on
  • Defect analytics: Identify application area and defects that ties to business risks 
The other pillar on which intelligent automation rests is machine learning. ML is expected to reach another level of maturity in 2020. According to the Capgemini World Quality report, 38% of organizations have planned to implement ML projects in 2019. Industry experts predict that this number will rise in the next year.


What does this mean for organizations?

Even though there is a rising demand in prospects of AI/ML application in software testing, experts still regard AI/ML in testing is still in its infancy stage. However, we are very much likely able to see maturity coming.

As AI is making new demands in testing and QA teams, Agile teams must start adopting AI-related skillsets—which include onboarding data science, statistics, mathematics. These new skillsets will not replace, but a complement to the core domain skills in automated testing and software development engineering testing (S-DET).

Also, business acumen is another essential skill to adopt. Successful testers need to have a combination of pure AI skills and non-traditional skills. Indeed, last year, new roles have been introduced such as AI QA analyst and test data scientist.

As for automation tool developers, they should focus on building tools that are practical. Companies are running PoCs and reassessing options to make the best use of AI and considering budgets. A good AI-assisted tool has to fulfill both the business cost-efficiency and the technical aspects such as reading production logs, generating test scenarios, or responding to production activities.


2. Test Automation in Agile teams 

Test automation is undoubtedly no longer a foreign idea in quality assurance. Indeed, 44% of IT organizations expect to automate 50% or more of all testing in 2019. We predict that more adoption of automated testing will continue to be on the rise next year.

As more businesses adopt the latest Agile and DevOps processes to fulfill the demand for Quality at Speed, test automation has become an indispensable component. Test automation continues to lead by helping teams perform repetitive tasks, detect bugs faster and more precisely, provide continuous feedback loops, ensure test coverage. Therefore, organizations that implement automated testing in their QA processes can save a significant amount of costs, time, and human resources.

Test automation in 2020 is expected to be championed especially by millennial entrepreneurs, leveraging the combination of open-source and commercial tools.


What does this mean for QA practitioners?

Test automation, however, will not eliminate manual testing. In fact, robust QA teams must appropriately combine manual and automated testing to achieve the most in ensuring software quality. The role of automated testing is undeniable—but some testing types such as exploratory or usability testing still need to be manually carried out.

QA practitioners, in addition, have to develop a smart, common, and end-to-end environment. There has been an increasing need to automated from build through deployment. Test automation is no longer regarded as a functional but as a full-cycle requirement. 

This process is easier said than done. That’s why many organizations have not been able to squeeze the most out of automated testing and received the desired return on investment. The Capgemini World Quality Report suggests that instead of looking at automation as a capability, QA teams should think of it as a broad, smart, and connected platform.


What does this mean for test automation solution providers?

Test automation tools developers must continuously update and upgrade tools to fulfill QA teams’ demands. Future test automation solutions must follow some basic criteria, for example: 
  • Easy to adopt and use for end-users at any testing level 
  • Provide smart frameworks, meaning letting issues resolve themselves See Autohealing Smart XPath and Katalon Smart Wait 
  • Ensure full test coverage and quality bugs detection
  • Cross-platform testing for web, API, mobile, and desktop automation
  • Integrate with CI/CD tools and allow Continuous Testing
  • Integrate with intelligent dashboards and analytics for quality insights See Katalon TestOps

3. Big Data Testing 

Big data has served an essential role in a variety of business sectors including technology, healthcare, banking, retail, telecom, media, and so on. There has been more focus placed on using data to segment and optimize decision-making processes.

Big data testing allows industries to deal with huge data volumes and diverse data types. It also helps make better decisions with precise data validations, as well as enhancing market strategizing. Big data testing is no longer a new phenomenon. However, it is expected to grow exponentially as many industries are shifting toward a data-oriented world.

The trend of testing big data has been widely adopted, mainly because of the robust processes that most of the enterprises are following make the most of their marketing strategies. Big data testing is not an uncommon practice and it is expected to become popular in the next year. Therefore, we forecast that the need for testing big data applications will see a new rise in 2020.


4. QAOps: Quality Assurance Sees Changes in DevOps Transformation

If you haven’t heard of the term ‘QAOps’ yet, now’s the time. 

You might have been familiar with ‘DevOps’—a set of software development practices that combines development (Dev) and information technology operations (Ops). The goal of DevOps is to shorten the systems development life cycle (SDLC), while teams can focus on building features, fixing bugs, and pushes frequent updates that are in alignment with business objectives. DevOps abridges the collaboration between developers and business operationalists.

In the same spirit, QAOps helps increase the direct communication flow between testing engineers and developers by integrating software testing into the CI/CD pipeline, rather than having the QA team operate in isolation. In short, QAOps is defined in two key principles:
  1. QA activities should be incorporated into the CI/CD pipeline
  2. QA engineers should work in alignment with developers and be involved throughout the CI/CD process.

Facebook is one of the best examples of QAOps adoption. In 2014, the Facebook team decided to migrate to Facebook Graph API version 2.0 and enforce Login Review across all apps. To ensure a smooth migration process, the team wanted to test out this new version on the 5,000 largest apps. In-house testing did not allow this to be possible, so they chose to apply QAOps through outsourcing. Eventually, the team was able to test across 5,000 apps in one month and managed to address critical problems—which could have been impossible had the process been carried out by the internal team alone. 

QAOps can be applied not only in giant tech companies but also in medium and small teams. This practice can be flexibly scaled down or up to fit any business size. Because more teams are gearing toward DevOps, we will expect to see QAOps as a growing trend in 2020. 


5. IoT Testing

The rise of testing Internet of Things (IoT) devices was already prominent in 2019. The number of IoT devices all around the world will reach 20.5 billion by 2020, according to Gartner. 

IoT testing means testing the IoT devices for security assurance, ease of use, trustworthiness, compatibility of device versions and protocols, versatility of programming items, monitoring connection delay, scalability, data integrity evaluation, device authenticity, so on and so forth. IoT testing engineers often face an overwhelming amount of work in this area, especially with monitoring communication protocols and operating systems and multiple combinations of different elements of an IoT system. Therefore, QA teams should expand their knowledge and enhance their skills in usability, security, and performance IoT testing. 

Another challenge that IoT testers will face in the upcoming years lies in strategies. Although IoT devices and applications have been growing exponentially, 34% of respondents said their products have IoT functionality, but their team still does not have a proper testing strategy, according to the World Quality Report.


6. Demands for Cybersecurity and Risk Compliance

The digital revolution brings about increasing security threats. CIOs and CTOs from almost every enterprise across all sectors continue to acknowledge the importance of security testing of their software, applications, network, systems. Software developing teams even work with their partners to make their products more resilient to threats, taking the cybersecurity shield to the next level.

Testing for security helps secure not only transactions (be it money or data), but also protection of their end-users. Because cyber threats can take place in any form, at any moment, security testing will continue to be a popular topic in the following year.


Conclusion

These are our compiled list of predictions on the most popular software testing trends in 2020. No matter how the digital transformation is going to turn out in the following year, it is certain that testing engineers, as well as software products enterprises, will continue to witness changes and adjustments. As a result, quality assurance teams, leaders, and practitioners must constantly evolve in order to stay agile in this ever-changing industry.

Friday, December 6, 2019

Software Testing Trends 2019 Recap | Industry Insights

Software Testing Trends 2019 Recap


2019 is almost over. The software testing landscape has seen numerous introductions in new testing approaches and innovations at an exponential rate. It has also witnessed the continuation of technological improvement, evolution, and reinvention. As we are progressing to 2020, let’s take a retrospective look at the top trends in test automation and see how we stand after one year.
Our team at Katalon has reflected on the most popular trends that took place in the software testing industry over the course of one year. We have compiled the five most influential software testing trends in 2019. Check them out!

1. Continuous Testing Gets Even More Popular

Continuous testing persisted in going mainstream. Although this concept was coined back in the early 2010s, it was forecast to become trendy in 2019.
Continuous testing is a software testing method that allows a constant flow of feedback between the developers and testers — throughout the entire software development lifecycle. Its value? A faster, more cost-efficient, and less perilous way to reduce bottlenecks among departments. To enable continuous testing, teams must reach an automation rate of 85% or higher — and we expected to witness this phenomenon in 2019.
Moreover, as more and more software organizations embrace the practice of Agile and DevOps, continuous testing is widely adopted. “Quality at Speed” is no longer a new norm in software delivery. Many practices have been introduced and recommended to attain this desired scenario, including continuous testing. Therefore, this method was predicted to have an enormous impact on achieving both the “quality” and “speed” factors of this puzzle.

2. Artificial Intelligence and Machine Learning in Quality Assurance

The state of 2019 AI/ML in testing

It was expected in 2019 that there would be more artificial intelligence and machine learning (AI/ML) applications in quality assurance such as quality prediction, test case prioritization, defects classification, computer vision, interaction with the application under test, and so on.
Organizations have been scouring for ways to make the best of technological advances so that they can cope with fast-paced releases, frequent changes (see Autohealing SmartXPath), mass operating environments, and everything operates in a state of flux. As a result, more test cases have to be generated, more test scripts have to be written, more test data have to be collected, and more reports have to be evaluated.
With such a vast amount of workload and information to handle, organizations must figure out how to optimize the execution process, process all the data, and provide feedback in not only a fast, but also an accurate fashion.
AI/ML is one of the promising solutions. New algorithms are developed to help users generate better test cases. Predictive modeling is leveraged to help decide where, what, and when to test. Smart analytics and visualization will help teams understand the big picture of their test scenarios and make decisions faster, better.

Challenges and potentials of AI/ML in software testing

Ranking of specific activities with respect to future plans around AI
However, the maturity of these technologies is still under development. Budget allocations for AI projects seem to have dropped, compared to 2018 (Capgemini World Quality Report 2019-20). Feedback on AI project commitment also decreased in a lot of scenarios. The assumptions are that organizations are still not confident enough to invest in AI. Furthermore, the maintenance cost may be higher than what organizations desire. 
In contrast, adoption levels for ML projects seem promising in 2019, and are used to predict defects and prioritizing which test cases to use. Huge collections of data need to be gathered, the ML mechanisms need to prove that they work — but the anticipation for this technology is, no doubt, growing.
  Artificial Intelligence and Machine Learning projects or plans for the next 12 months.
We’ve been surrounded by a world of AI/ML. These two notions are widely applied to a majority of aspects — including software testing. 
Although these concepts are no longer new, the increasing abundance of available data and technological advancements opens up more opportunities for AI and ML in testing.

3. Intelligent Automation

The next item in this software testing trends list is about applying intelligent automation frameworks, tools, and techniques. 
In early 2019, it was speculated that more organizations would continue to apply automation to software testing projects. 
This is mainly due to the shift toward Agile and DevOps. The increasingly high demand for Quality at Speed requires teams to automate the mundane activities, so that they can focus on strategic planning and evaluating decisions. 
Automation — if applied properly — will allow software development teams to increase test coverage, improve test efficiency, receive faster feedback, reuse test cases, detect bugs early, and more. As a result, teams can ensure a higher quality of the delivered software. 
About 44% of organizations expect to automate 50% or more of all testing in 2019, according to a study on test automation trends. Teams that reach this level of test automation see numerous benefits.

Promising adoption rates of test automation 

The adoption rate of automation saw progress in 2018, and was expected to escalate in 2019. This has been shown to be true. 
Research shows that organizations were positive about the benefits accrued from automation in 2019. More teams have realized the benefits of applying automation to their SDLC, including better control of test activities, more transparency, and more accurate detection of defects. They also reported that automation helped them reduce unpleasant outcomes, such as test costs, test cycle time, and overall security risk.
 Benefits realized through test automation

Challenges with test automation

The other side of the coin is the challenges faced by organizations while adopting automation. 
Almost two-thirds of the respondents in a study found it difficult to automate because their applications change too much with each release. Lack of skills and appropriate resources are also major obstacles of automation.
Main challenges in achieving desired level of test automation in 2019

What’s next for software test automation?

Moving forward, the concept of test automation has been popularized for about 20 years now. However, many dilemmas are still in the picture. 
A key reason why teams have not been able to achieve their desired outcomes of automation is because most automation frameworks were designed to automate only manual tasks. We need an automation framework that:
  • significantly reduces the programming effort, especially for teams that do not have much programming expertise see Katalon Manual View
  • intelligently decides when to perform certain tasks such as execution, without human interference see Katalon Smart Wait 
  • is dynamic enough, such as using cognitive computing techniques to identify test objects and screen elements effectively 
  • prioritizes, identifies, and executes the critical test cases from the automated suite
  • provides its own test data

4. Test Data and IoT Testing

The continuous expansion of the Internet of Things (IoT) has immersed over the past years. According to Gartner, by 2020, the number of IoT devices all over the world will reach 20.4 billion. More IoT devices means more online connection and data exposure — which means, more risks. 
In 2019, IoT was expected to be conducted in testing. IoT testing is the technique of checking IoT devices. These types of testing include:
  • Usability testing: tests the usability of IoT systems
  • Performance testing: tests the performance of the connected devices in an IoT network
  • Compatibility testing: checks the compatibility of devices in IoT systems
  • Security testing: validates user authentication processes and data privacy controls
  • Data integrity testing: validates data integrity
  • Reliability and Scalability testing: sensors simulation using virtualization tools
The rise of IoT systems is closely connected to the growth of applications of AI/ML to help generate test data and data projects. The automation industry also expects to see an increase in usage of cloud-based and containerized test environments, and solutions for the lack of test data.
It is suggested that QA teams need to step up their game if they want to ensure security in IoT systems. Three critical steps that they need to take on include: applying continuous security testing, being strategic on what needs and does not need to be tested to be operationally efficient, and implementing service virtualization as part or their automation strategies.

5. Behavior-Driven Development Reaches New Maturity Stage

Behavior-Driven Development Reaches New Maturity Stage


The final item of the latest trends in software testing is about behavior-driven development (BDD).

As mentioned in the 12th Annual State of Agile report, only 16% of organizations apply BDD methodologies in 2018 — but this number was forecast to increase in the next year. 

A byproduct of increasing test automation is the growing maturity of BDD. As a matter of fact, more teams were expected to flow through the BDD maturity model. This model includes five stages:

  1. Embrace BDD collaboration
  2. Implement BDD tools and frameworks 
  3. Connect systems for development and automation
  4. Standardize continuous integration and systemic collaboration
  5. Report on BDD success

Conclusion


We hope this recap has played a part in giving better insights on the software testing trends of 2019 — so that organizations can reflect to reinforce their strategies. These trends are among the latest trends in the software testing big picture. The quality assurance landscape will continue to evolve. We’re excited to see what’s going to change and what’s going to be introduced in the next year.

Among these trends, which one has worked for your organization? Which is your favorite? Share your thoughts with us.

Original post: Software Testing Trends 2019 Recap | Industry Insights