Test Automation and Artificial intelligence
"What is data for AI in test automation and business case of AI in Automation testing"
Now days AI is popular every where and every one wants it in their areas to simplify the process. If you just google out software testing and AI, you will get to know the list of tools coming up in the market under the name of AI for Automation, but just think do we really need separate tool for AI implementation in test automation or can we continue with our existing framework with few new feature addition to the same.
To get answer to above question first we should know what is AI? How it works? what could be possible business case or use case in my domain? Here I am going to discuss about Software testing and AI.
First step toward AI is identifying you possible data as machines learns from Data.let me correct a bit machine learns using quality data. When it comes to data in test automation, we always think of test data and results. Can we store any thing more than test data and results for future reference?
First need to think of every single bit of data to be captured and stored in well designed classified manner. Then it comes to Algorithms required for making decisions or taking actions based on data.
What are your thoughts about data in software testing, which can be used for AI?
Few ideas about data as below (maximum gets generated by scripts itself),
Your actions i.e. functions, start points and ends points for function.
Your flow diagram of your application in terms of your defined actions (i.e. functions).
No of possible scenarios generated by script, possible results and input data sets.
All possible outcomes of those scenarios and screen captures, difference factor calculated for each iteration based on current results and last iteration results.
Possibly capturing object properties during run time to keep it updated so avoid maintenance for minor UI changes.
Efforts saving for scenarios (this will be entered manually), so that this will help in one click ROI calculations.
Finally feeding in your result analysis back to system as data for your reference.
If you think of web service automation, similar kind of data can be captured for it, e.g capture last response, service request.
What can be achieved based on this captured data,
You can have script generating all possible scenarios for you, can cover exploratory and monkey testing as well.
Can help you to identify UI design failures by Automatiom.
One click results of ROI, no manual data collecting for execution stats.
One click automate progress reports of automation for management.
Again as this will driven from data, you will have control over what should and what should not be executed.
Many of you must be thinking about the time system may take to execute, I know many times faster execution is our requirement so for that while implementing these thing we need to develop a interface which will allow us to execute with maximum data capture as well as minimum data capture and analytics. So with just a single switch you should have provision of faster execution with minimum data analysis and data capture.