In the past few months, I have been reading a
lot of contradicting articles on the AI, ones have apprehension that machines trump humanity in their
usefulness, others promising that technology is here to work for us and not against us.
Both extremities have their own valid lines of argument, backed by numbers and
statistics and a whole lot of technobabble, ones you’ll find very difficult to
counteract. But as I found myself piecing together both sides of the argument,
a question pressed on to me, what should I believe?
There are many issues which are related to the
emergence of Artificial Intelligence. I have been in software testing for more
than 10 Years, so its natural for me to discuss the impact of AI on software
testing jobs. I am an optimist and forward-looking
woman, but sometimes it troubles me to envisage that AI is going to replace
Software Tester in the near future. For me like AI, the field of software
testing is extremely broad Artificial Intelligence (AI) is transforming the
nature of almost everything which is connected to human life e.g. employment,
economy, communication, warfare, privacy, security, ethics, healthcare etc.
However, we are yet to see its evolution in long-term, whether it’s leading
humanity towards making this planet a better place to live or a place which is
full of disaster. For AI we are not yet sure whether in the
long-term positive effects will always keep outweighing the negative effects
and if that is not the case then we are in serious trouble. If we look around
us, on the one hand, we seem to embrace the change being brought by technology,
be it smart home, smart healthcare, Industry 4.0 or autonomous cars.
On the other hand, we often found
ourselves protesting against the government in the context of unemployment,
taxes, privacy etc. As AI development is speeding up, more robots or autonomous
systems are being born and replacing the human labour. This is the current
situation; however, in long-term, results seem to get more interesting. Statistics say that 47% of all employment
opportunities will be occupied by machines within the next two decades.
For as long as there has been software, there has been software testing.
Despite the rise of other approaches such as formal verification and model
checking, testing remains the primary means of validation and verification
(V&V) used in the software industry today. The
tester needs to be smarter than
the programmer to find problems in the code.
Software testing is a process that
constitutes a very fundamental aspect in the area of development. Testing is
fundamentally about inputs and expected outputs. Testing combines lots of human
and machine-generated data. Folks in testing often don’t have much exposure to
AI, but that will change quickly, just like everyone else in the world is
waking up to the power of AI. So, Testing is a ripe field for applying AI.
Artificial Intelligence for Software Testing (AIST) is an emerging field
aimed at the development of AI systems to test software, methods to test AI
systems, and ultimately designing software that is capable of self-testing and
The real value of human-powered
testing is the creativity required to either identify problems that are
subjective or discover bugs that software engineers didn’t think of or weren’t
able to predict at the time of implementation.
In my experience, more than 70 percent of testing is repetitive. You’re
often just checking that things work the same way they did yesterday. This work
is solvable by AI and automation. That other 20 percent of a tester’s time
today, the creative, questioning, reasoning part—that is what people should
really be doing, and that rarely happens in today’s fast-moving and agile app teams.
I think in this context Robots means
(AI-powered) automated testing tools or Testbots. In my opinion, Testbots will
definitely reduce the number of testers
but not replace all of them. Testbots will lift experienced testers to higher
levels at which they will control the testbots
and give guidance to them (if needed) to achieve the best results. For mobile applications, TestGrid.io has
already unveiled a testing software that can functionally test mobile
applications without written scripts.
Let us examine the advantages of AI testing in answer to the
shortcomings of manual testing. Manual testing often relies on the tester
role-playing as the end user to ensure correct application behaviour. On the other hand, an AI approach to testing
is built on the solutions to the very problems that are inherent to manual
testing and thrives on change.
Functional and Regression Testing are already automated. UI and
aesthetic testing are harder to automate, and manual tests are a better
solution for that.
human testers working alongside smart machines can certainly test modern
software in a better way that is done
today. Here are four implications that AI has for software testers: