Functionize welcomes Dan Gannon as our new VP of Global Alliance and Channels. Dan is an experienced technology executive with over 30 years of expertise in enterprise software—having journeyed across a wide variety of software products, solutions, and industry verticals. Since 2006, Dan has been focusing on business development and solutions architecture in the software QA marketplace. It has been his passion to create product solutions that address the dynamic requirements of the burgeoning DevOps tool and integrated continuous testing solutions markets.
In this article, we are publishing the results of an interview with Dan in which he conveys his views on the relationship between innovative, effective test automation and conventional manual testing. He also has much to say on the value of test automation, and why it’s important to get past the hype of artificial intelligence to learn how to capture the real value of machine learning applications in software testing.
Why do you find AI test automation so compelling?
Virtually the entire business landscape has changed over the past decade. Today, we find that software truly runs the world. Many of the largest companies are software companies, and nearly all companies have made large software investments. Many of those companies continue to struggle as they seek to adopt technology that streamlines processes and delivers high-quality software. In particular, investments in testing automation have not paid off for many product development companies. Their goals and objectives have not been realized, especially when it comes to development, testing, and pipeline automation.
Many testing solutions companies flippantly and tritely claim to employ AI, but there isn’t much substance to those claims when you dig past the hyperbole. There is much fascination with AI and machine learning, but few providers have the skills and expertise to genuinely innovate using those capabilities, therefore in most cases, it isn’t much more than marketing hype. I am drawn strongly to Functionize because it is one of the few companies that is truly leveraging the power of AI to greatly improve testing automation. In order to truly leverage the transformative opportunity that AI offers, your product vision must go well beyond incremental improvement. Functionize brings revolutionary, not evolutionary change to the quality automation market.
How is Functionize different?
Any legitimate claims by those who tout AI must go beyond the addition of a few AI methods—methods that are often lamentably found to provide no genuine value for automating test efforts. Because the core technology has rapidly matured in recent years, there is real power in the science and application of artificial intelligence in software. But it is only those who are truly investing and innovating in AI/ML that are actually improving testing automation. This requires vision, coupled with the right talent to turn that vision into product reality.
The conclusion I reached based upon both my extensive industry expertise and after extensive research is that Functionize is perhaps the only real testing automation innovator in the marketplace today. Functionize has a clear vision about how to employ machine learning. Tamas Cser, the CEO of Functionize, would attribute much of the success for the company to the collaborative, incremental, confident, and steady pursuit of leveraging machine-learning methods for testing automation. The impressive results across the Functionize customer base give clear evidence that its approach is quite successful. In essence, this success is the result of thorough and careful research into previously intractable software testing challenges.
Functionize is building highly effective solutions that truly exploit machine learning research for major improvement in autonomous testing. I’m very impressed with the ability of the Functionize platform to automatically maintain large test suites with its self-healing apparatus. Also, it is very exciting to see the initial customer success reports concerning the newest Functionize innovation, NLP test automation, which effectively democratizes test creation and maintenance efforts, solving some of the thorniest issues that have plagued test teams.
Tell us about the evolution of software QA over the past few years.
Several key developments have brought radical change. Firstly, users and consumers have many more ways to interact with a product company. Secondly, the rise of technical juggernauts such as Google, Amazon, and Apple has cultivated a very intensive expectation of intuitive, fluid usability—and fanatical user-centric design. Also, lean product development principles are compressing timelines and bringing high levels of scrutiny to all aspects of the software development lifecycle (SDLC).
For many teams, conventional QA simply isn’t evolving fast enough. Much of the industry finds itself in frontier territory. In this brave new world, quality isn’t only about functionality. This means that QA must become much more than merely testing. Quality teams must also envelop usability, security, integration, business process validation, and performance. The relatively few software companies that are already enjoying success have come to appreciate this new reality.
What is lacking in the mission of many QA teams?
Conventional testing solutions were built to serve waterfall project-based QA teams. By contrast, newer testing solutions have been built for DevOps to manage testing of software components. What is desperately needed is a solution that fully addresses the needs of both QA and DevOps. The best solutions are those that test operational test cases against corresponding business use cases. Optimally, this testing should be done in the context of end-to-end verification testing.
Though attention to the quality of software components is very important, it’s also important to test how well a particular application integrates with other applications that are already stable in production. It’s critical to verify that new and existing business processes continue to run as designed. From a QA perspective, the overarching goal should be end-to-end, cross-platform, business process validation. Merely performing DevOps testing won’t go very far in supporting that goal.
What can be done to replace the toss-it-over the wall mentality that is pervasive in the industry?
In many teams, it remains essentially a waterfall process. The reason it remains this way is because developers—as they face ever more complexity—have become dismissive and complacent with respect to integrative testing. So, they figure it’s best to let “someone else” handle the QA. Current test creation processes require way too much effort, or they are too simplistic (path locked record-and-replay). The result is that developers deem them ineffective, and eventually avoid them altogether. Moreover, no one wants to write scripts, effectively writing a program to test a program, during a sprint. Finding a way to be simultaneously efficient, effective, and comprehensive is the core challenge in grappling with most of the currently available QA toolsets.
To what extent is quality a key concern in DevOps—or not?
The common scenario is one in which there is a separate set of specialized QA tools, which means that there is little or no integration. Implementing test automation into a development pipeline can be very challenging. One major challenge is the lack of tools in the industry that can truly automate application testing. This is even more challenging in a CI/CD pipeline, which should detect, categorize, and test a continuous flow of application/system changes. But the primary focus of DevOps is to ensure that the configuration is sound and the component verification gets done, and so they pay no attention to the need for the integration of testing tools.
Not only does Functionize integrate well into a CI/CD pipeline, Functionze’s NLP automation is also a game-changer for raising the quality bar in DevOps. NLP will stimulate developers so that they become much more enthusiastic about shaping testing automation, business use-case validation, and building higher quality products. NLP is sure to become a key enabler and should save time over conventional testing methods. Functionize delivers on the key objective of quality driven DevOps.
What’s the best way to transition from Development to QA?
Though developers are averse to it, many tests should be built and run by the development team. The Functionize platform makes the prospect of moving more testing upstream much more attractive since it has industry-leading strengths in automatic test creation, NLP test creation, Adaptive Event Analysis, and automatic test maintenance. There will always remain a key role for QA. Ideally, the testing team should be doing the explorative, integrative, and regression testing to validate business use cases and verify compatibility with other business applications. As a comprehensive platform, Functionize can help QA be even more effective in this regard.
In closing, what would you say is the one key takeaway about Functionize?
Primarily, it’s the value of a single testing platform. Wouldn’t it be great to simplify and integrate all of the disparate testing tools that you’ve been using—a toolset that must also account for business process validation? Both developers and testers can greatly benefit from a unified platform that makes testing easy, intelligent, and largely automatic. This has become truly possible with Functionize.
Functionize can help you maximize the value of your CI/CD pipeline, helping you to intelligently automate your testing across the entire pipeline. This includes smoke testing, CI/CD tool integration, test orchestration, upstream testing, performance testing, load testing, cross-browser testing, integration testing, and business process validation.
Get in touch with us to learn how Functionize can help your team thrive with its comprehensive, highly autonomous NLP testing platform.