New Technologies - ML, Python, Data Science, Devops : What is in store for Testing Community?
There were days when people used to go in bullock carts, then came bicycles, two / four wheelers, followed by aircrafts etc, there were also times when people used to commute in buses, now we have metro and bullet train is in the making
Contrast above with software testing, soon we may hear the following - there were times when test engineers used to do manual testing (i won't say it will be completely eliminated, but very few technologies and very very few companies may still adapt this testing technique in the future), then we shifted to automation based UI / API testing plus a select few performance test suites (one's that would really help find the bottlenecks).
World is now moving towards Analytics, Machine Learning, Devops
- What is in store for a tester w.r.t these techniques?
- How can a tester (like me and you) learn these new skill sets and yet contribute to the organization in a better way
Python
It is a scripting language, but is being adapted heavily in solving complex analytical problems. Python's easy to use syntax / semantics and libraries it supports makes it a must learn skill set for any tester.
Where can a tester use it? - We write automated tests / perf / security tests, use python as a scripting language
Data Science
Data science enables users to get best search results from a list of millions of results for a specific search keyword (one of the many use cases)
Where can a tester use it?
- When we run large performance test suites, amount of logs generated is enormous, to parse this data takes time, we can use a language like R and get meaningful data, saves time while analysing and creating detailed reports
- Understanding production logs gives a lot of insights, what time a particular feature is being used, peak traffic (higher response times) etc. Tester can also contribute as they would not only improve the product quality but also enhance the regression test scenarios
Devops
Devops as you may know reduces the build and release cycle time. This is where a tester can contribute easily. How? Read on :
- Many of us write automated scripts and integrate to CI CD, we are at one end of the spectrum, we can also delve into setting up the CI CD Job, Add plugins for reporting etc and contribute to the other end of the spectrum too.
- Collaborate with Development, Test, Dev Ops to form a workflow, that on a click of a button deploy, run smoke tests, accept or release a build to next environment and send automatic test reports. This saves huge amount of regression effort manually and gives confidence to stakeholders early in the cycle
Machine Learning (ML)
Suggestions to users in a E-Commerce site / Chat bots answering your queries etc are some of the many use cases that ML has championed. How can a tester use ML?
- This is a vague idea but here is what i feel. Can we build models that tries different exploratory, functional, boundary value, equivalence partitioning etc techniques on a set of a similair applications and come up with all the test scenarios. This reduces writing test cases completely (we can still edit them to customize to our needs) and also get a list of many test scenarios that might have been missed when a individual writes them
The upcoming days are a tough time for the manual testers... A nice info and the booming technologies..
Yes... In future of IT industry there will be very less of manual testing and manual testers.. testers has to learn new technologies to adopt this task.
Interesting collective thoughts