The landscape for software testing has never been so broad. Applications today interact with other applications through APIs. And in return they leverage legacy systems, while they grow in complexity from one day to the next in a nonlinear fashion. So what does that mean for analysts, developers, and testers?
The 2016-17 World Quality Report suggests that AI will help. “We believe that the most important solution to overcome increasing QA and Testing Challenges will be the emerging introduction of machine-based intelligence,” the report states.
We have witnessed the mobile and computer revolution — now similarly — artificial intelligence (AI) is revealing its potential; not only by the way we live, but also within the majority of industries,. And software testing is no exception.
Facebook and Google aren’t the only companies applying AI techniques. In this session, we will explore how software testers can leverage AI and how tools may need to evolve. For instance, Helix ALM accelerates the development-to-release process, catches bugs earlier, and supports the transition to new development techniques.
In this webinar, we will also discuss three key elements that will significantly change software development with the evolution of “Artificial Intelligence”.
20. Follow us for news and insights!
Visit www.perforce.com
Editor's Notes
Nico Kruger
Technical Sales and Professional Services Manager, Perforce Software
Nico is a Technical Sales and Professional Services Manager for Helix ALM. He specializes in technical guidance and product development efficiency for global organizations. An expert in software development, he is dedicated to helping customers drive quality product strategy.
Regg Struyk
Managing Director, eLead ALM
Regg is a co-founder of eLead ALM focusing on software solutions for improved product quality and delivery. He grew up in the 80s on the cusp of the technical revolution which has fueled his 25 year passion for software development. Considered a requirements Sherpa with focus on various types of testing, User Behavior, automation and anything next generation.
- Definition of AI: creation of machines that simulate human learning and behavior
- examples: voice-powered personal assistants like Siri, Alexa and Google Home
- smartphone can combine its location with many other pieces of data to make new services available.
- Uber the ride-hailing service is now using a new system that is based on AI and algorithms which estimate fare rates that groups of customers will be willing to pay depending on destination, time of day, and location.
- Aviation was an early adopter of AI. Most pilots have been flying with primitive forms of AI for years with autopilots, FADEC and load-shedding electrical systems all using computer power to make intelligent decisions
Lets have a look at Future Applications
- Now, through AI technology, a convolutional neural network (a class of deep, feed-forward artificial neural networks that has successfully been applied to analyzing visual imagery.) undergirds so-called machine learning. This structure underpins a decision support system that can acquire knowledge, improve skills and develop new strategy without human intervention on a submarine.
- Autonomous cars are rapidly being developed by several large companies. Analysts predict that self driving cars should be mainstream in less than 3 years.
Agile and any hybrid/derivative of the “Agile Manifesto”
The umbrella term of software automation - test automation, DevOPs
Everything Connectivity/ubiquetous
And now it appears that AI is becoming a significant player or at least the potential Uber AI Labs, Apple with Lattice, Google
According to a recent study by the PICCADILLY GROUP , global IT spend is in the trillions - and this technology spend is driven primarily by investments in major regulatory initiatives such as Basel, MiFID and PSD2, as well as digital transformation and product development.
According to Gartner, Global IT spend is projected to grow from $3.5 to $3.8tn over the next three years
Most technology change programmes deliver less than expected and are in fact late, over budget and often difficult to measure the value to the business.
Managing technology delivery is the dominant factor contributing to programme failure or success. the level of administrative focus means that test
managers often take considerably longer to achieve their goals and in many cases fail to do so completely.
Software development and in particular testing must evolve in response to the shift to agile and DevOps and eventually AI. No matter how many testers you employ, it’s simply not possible for manual testing to provide developers immediate feedback on whether any of their constant changes impacted the existing user experience. This is where a multitude of apps can shine. These are not close loop systems and new data is being incorporated on a regular basis. Because of this constant requirement, here are some things to consider:
Scalability - as in manage the growth of testing data, Spreadsheets, inbox analytic from testing tools and some well known Test Management software are not enough to report trends, support quick test reruns or Nth number of test cases anymore, enterprises need more and they need it as quickly as possible.
Silos - each phase of product development is no longer an isolated phase or a security gate to final delivery, but an integral part of the entire lifecycle.
Ideally a single platform with pliable workflow supporting the complete process of an application development (Requirement elicitation, Test Management, Traceability,)
- combining AI with human intelligence
- Intelligence-led delivery is the provision of on-demand information and actionable
insight to improve technology delivery and management. By combining data
analytics with AI and human intelligence, firms can greatly improve delivery
outcomes by using existing datasets to enhance transparency, reduce risk and
improve management efficiency.
- Data analytics is now reaching a mature state with
organisations already reaping the benefits from a variety of big data and other
related initiatives. AI is less mature, but the market is evolving and it is anticipated
that AI will be the driving force of next-generation software technologies covering
machine learning, natural language processing, problem-solving and more.
Automate with AI Bots for mundane & repetitive processes, testers will find themselves in a position to evaluate more complex scenarios
- Technologies around cognitive tools, artificial intelligence and machine learning enable testing teams to test smarter and faster.”
- We know that smart software and machine learning already have become a big part of our daily lives, so it is not surprising that it also will influence QA and testing. Today, social networks use machine learning to mine personal information and select relevant ads to show and Siri is helping us to dictate important messages with its smart speech recognition.
- The first impact of AI on the developer job has been due to improved tools that help developers code better and for quality assurance (QA) experts to test more effectively. This is already helping improve overall software quality, as using machine learning to test software is the natural next step after automation testing. We’re already seeing testers use bots to find software bugs. Meanwhile, an emerging area involves testing tools that can use AI to help testers find flaws in their software and then fix code automatically after finding a bug. As an example, last year the Defense Advanced Research Projects Agency (DARPA) held a major event to develop systems that can automatically and autonomously "detect, evaluate and patch software vulnerabilities" to improve cybersecurity.
- Artificial Intelligence can be easily used everywhere like non functional analytics, creating test data, defect analysis, application testing.
However, there's a lot more that testers do. We have an understanding of the business domain, a set of heuristics for exposing defects.
New problem sets - testing is going to get much harder as we introduce machine learning into applications because we won’t know what the application is supposed to do in all cases. As testers, how will we embrace the challenge of exposing defects in application results that don’t have a right answer?
Contrary to some fears, AI won't necessarily eliminate testing jobs, but it will definitely change how the work gets done.
- In response, enterprise development’s next wave of productivity will be increasingly automated, collaborative and powered by big dat which in turn analyzed using AI
- Traditional QA has a lot of ingrained processes and systems — and historically, that was the right thing to do.
- Now, there’s a lot of pressure on the QA team to re-look at their processes, because quality processes that take long cycles cannot hold up the speed of delivery to the end user — and more importantly, quality cannot be achieved by a siloed team. Quality assurance needs to be pervasive throughout the software value delivery chain.
Traditional quality assurance (QA), focused on validating requirements, bypasses a wealth of information that can be obtained from sources like project documentation, test artifacts, defect logs, test results, production incidents, etc.
- algorithms learn from test assets to provide intelligent insights like application stability, failure patterns, defect hotspots, failure prediction
- Helix ALM has the power to help you create, prioritize, and manage extreme volumes of tasks, issues, defects, feature requests, requirements and test cases
- Completely eliminate silos - Product development phases are no longer isolated. Today, each phase of product development is an integral part of the development lifecycle. Application lifecycle management tools need to support the entire development process. That means gathering requirements, managing tests, and performing traceability.
- Integrated ALM should not replace, but should enhance & automate what you already have in place for software development.
we have creativity
we have drive for innovation
we have natural curiosity
we have unique abilities to learn new skills
we have intuitive/aesthetic FEEL about how things should work/look like