How Machine Learning is Impacting the Way We Test Software


You may have heard the phrase “machine learning” without understanding what it means. Essentially, machine learning refers to computers or software platforms “learning” over a period of time. It has been around almost as long as computers have existed, but today’s machine learning is remarkably different.

In the past, machine learning was largely driven by patterns, trends, formulas and algorithms that were fed into the machine or software in question by programmers. In other words, it was not autonomous or truly “smart,” in the sense that it couldn’t analyze a set of data and learn on its own.

Modern machine learning is different. It is autonomous and has given birth to modern AI, or artificial intelligence. That’s because it relies on big data or cloud platforms, which contain a huge trove of information for the system to analyze.

Programming, computations and algorithms are still involved, but unlike the systems of old, the new machine learning techniques allow the platform to change and evolve over time as it’s fed new information.

In a recent study by the Accenture Institute for High Performance, at least 40 percent of surveyed companies said they already use machine learning to improve sales and marketing performance. This includes market segmentation and cross-channel marketing.

Other examples of machine learning include Google’s self-driving car and the way websites deliver targeted ads to customers.

Self-driving cars constantly analyze the environment around them, including events and actions that are taking place, like pedestrians walking across the road, other vehicles cutting them off and so on. The vehicle’s brain essentially taps into a store of data — collected over a lengthy period — to decide what something means and what to do about it. In the case of the pedestrian or aggressive driver, it knows to slow down and allow them to take the lead as safely as possible.

Sites like Amazon, Netflix and even Facebook use machine learning applications every day. They deliver targeted ads and content to customers through a series of datasets, namely what customers are looking at, what they’ve searched for, and what they’ve bought in the past. In Facebook’s case, the platform knows what kind of content users have liked and are interested in, and how often they engage with others in the community.

Furthermore, machine learning is used for things from autonomy and AI-based systems to software testing and development. Software testing, in particular, is one area where machine learning can do a lot of good. How, and what challenges need to be overcome before it truly reaches its full potential, are what we’re going to discuss next.

How Machine Learning Is Helping Automate the Testing Process

For computer developers, machine learning has evolved considerably.

In the past, programmers and developers had to input code — a language that allows them to speak to computers, if you will — in order to provide instructions. The computer would carry out actions according to whatever language the developer used, be it HTML, JavaScript, C#, Ruby or something else.

Today, coding is still involved and still necessary, but the way developers interact with systems is different, at least when it comes to machine learning. Now, developers act more like trainers, guiding the system and offering tips or advice. The system carries out the thinking and work to achieve various actions.

It may sound crazy to describe a machine or computer as a “thinking” thing, but it’s true. The computer can tap into an endless supply of data to piece together everything it needs to make decisions and carry out various actions.

In most cases, the way in which the system figures out an answer is a mystery. Many AI or autonomy-based machine learning platforms come with pre-built testing profiles that carry out steps on their own. The development team knows what’s happening on a basic level, but may not truly understand what the software is doing behind the scenes to find the answer.

Machine learning is how Facebook determines what stories and content show up in your News Feed. It’s how Google Photos can identify faces in your uploaded images. It’s even how Microsoft has enabled real-time support with Skype Translator.

So, how does this affect testing and development?

The answer is simple. The machine or platform in question is able to not only automate, but influence, the way in which testing takes place. At any given time, it knows what may constitute as a bug, but more importantly what may be causing it — due to past data. It may also be able to make suggestions to remedy the problem in real time or even have the capacity to go fix the problem on its own.

Artificial intelligence has the ability to parse extremely time-consuming tasks and converting the entire development and testing phase into a more convenient experience for developers. Of course, it’s going to take some time to perfect the systems and backbone that can do such a thing, but we inch closer every day.

What Challenges Must Be Overcome Before Heavy Adoption of Machine Learning?

Nothing is perfect, and modern machine learning systems and processes are no exception. There are still quite a few challenges and obstacles that need to be overcome before the technology can be considered ideal for all applications.

To start, you need to conduct a few initial tests — not just to gather necessary information, but to have a control you can use to compare results with. You’ll never know if the machine in question is spitting out the right answers if you don’t fact-check before putting it into motion.

Then, you need to ensure you’re feeding the computer the right data and providing access to the right stores of info. To do so, you need to accurately define what information, data sets and values the system requires in order to perform its duties. For example, you can’t ask the computer for information about your customers and their habits without feeding it specific details about them.

Another challenge is finding a way to convert the data you have or need into a more useable form. That is, machine learning systems aren’t always going to go through the motions and spit out a direct answer. You may need to employ data analysts and scientists to sort through trends and patterns for something you can tangentially use.

Without first overcoming these challenges, there’s no way to get a machine learning system to work for you and your goals. Daunting though it may be, it is entirely possible and worth the investment.

If you’d like to learn more about AI/machine learning be sure to check out TMC and Crossfire Media’s newest conference and expo, Communications 20/20, happening July 18-20 at Caesars Palace in Las Vegas. The event will focus on the next wave of technology and innovations that will transcend the importance of person to person contact, disrupting the future of the entire communications industry. Find out more HERE.

Edited by Alicia Young

Contributing Writer

Related Articles

Coding and Invention Made Fun

By: Special Guest    10/12/2018

SAM is a series of kits that integrates hardware and software with the Internet. Combining wireless building blocks composed of sensors and actors con…

Read More

Facebook Marketplace Now Leverages AI

By: Paula Bernier    10/3/2018

Artificial intelligence is changing the way businesses interact with customers. Facebook's announcement this week is just another example of how this …

Read More

Oct. 17 Webinar to Address Apache Spark Benefits, Tools

By: Paula Bernier    10/2/2018

In the upcoming webinar "Apache Spark: The New Enterprise Backbone for ETL, Batch and Real-time Streaming," industry experts will offer details on clo…

Read More

It's Black and White: Cybercriminals Are Spending 10x More Than Enterprises to Control, Disrupt and Steal

By: Cynthia S. Artin    9/26/2018

In a stunning new report by Carbon Black, "Hacking, Escalating Attacks and The Role of Threat Hunting" the company revealed that 92% of UK companies s…

Read More

6 Challenges of 5G, and the 9 Pillars of Assurance Strategy

By: Special Guest    9/17/2018

To make 5G possible, everything will change. The 5G network will involve new antennas and chipsets, new architectures, new KPIs, new vendors, cloud di…

Read More