Transcript
This transcript was autogenerated. To make changes, submit a PR.
Hello, friends.
Hope you are all doing great and having a great time in this conference.
My name is Jit.
I'm working as a test architect with about 15 years of experience spanning
across various industry types, like right from manufacturing and then banking,
financing, retail, telecom, crm, whatnot.
And in fact I got a, opportunity to work with various clients across the
globe, right from, my first project is in Tokyo, Japan, and then I worked in
Singapore for about four years, and then India, then Europe, few countries in
Europe, and then last 10 years in USA.
Okay, before getting into the topic, I would like to thank Con 42 for giving
me this opportunity and helping me to bring out my ideas in front of you.
So today's my topic is building a resilient test automation, a universal
framework for service access.
So it's a revolutionary approach to tackle software testing challenges and
enhance efficiency across the enterprise.
Okay, so before getting into the topic, I would like to show you what are the
challenges currently the software testing is facing and how I'm going to address it.
Okay, so this is software testing as a whole.
It consists of 30 to 35% of the project cost.
So any software or any app on your phone, it undergo a rigorous testing.
So to have a bug free product into the market, there goes in lot of
testing effort, which is almost 30 to 35% of the project cost.
But still there are a lot of challenges there and there is lot of
improvements and transformation needed.
And more importantly, even the AI right now is not anywhere near
to replace a software testing.
Yes, it can replace the development programming, but it's not anywhere
near to replace the software testing.
Okay.
Now, let's see, what are the major challenges?
So one is a tool fragmentation any organization will have
thousands of tools in their stack, hundreds of tools in their stack.
And every tool, it, it has its own advantages, disadvantages it needs a lot
of effort and a lot of strategy to bring out a proper tool to, help with the test
automation and then maintenance overhead.
So as we bring in so many tools in the market variety, it needs regular
maintenance, not just that software testing or test automation is all
about writing a piece of code to test the another piece of code, right?
So as the application grows.
Even the testing code also will grow into tons and tons of lines of code, which in
reality becomes unmanageable code, right?
Because the.
Software testers are not professional developers and professional
developers will not have that testing.
Real creativity.
See, testing is a creativity job, right?
So to bring the best things in place and achieve a, applicable
solution is like highly impossible.
And that insufficient coverage.
Yes.
Most of the times, the software automation test script would be
under maintenance and it'll not be available for us to achieve the.
Optimum coverage.
So every time it'll be like targeted functionality, targeted screens,
specific screens will be automated, and then resource constraints.
So looking at these levels of complexity, handling hundreds of
tools maintaining tons of lines of code and last minute hiccups.
So a resource should be highly skillful.
Highly knackle and he has to have a huge strategy.
So generally, organizations struggle with maintaining automation
across diverse tools and mostly achieve pass partial discovery.
So as of today, test automation ease a loss making business.
Yes.
So now what is my solution?
What is my solution is targeting to achieve?
If you all heard about the buzzwords in the market right now in the test
automation market, script plus automation is the mostly heard buzzword, right?
But my solution, it's beyond script plus it's instant automation.
So even script plus automation also requires to configure the objects,
create the flows, maintain the tons of flows in the application, right?
So all these I achieve, using a tool agnostic architecture.
So in respect of the tool, application or the domain, the
architecture remains always same.
And this architecture is flexible enough to cater to various testing
domains like functional testing, database testing, API, testing, whatnot.
And the soul and heart of my applica.
My framework is virtual application modeling.
So in general, most of the automation efforts goes in UI automation.
So here we bring in virtual application modeling that
will help save tons of effort.
So I'll show you how we achieve it, and then unified approach.
As I told you the core framework remains same, and it is.
Not going to change.
And even the, the plug and play of the peripheral tools around this architecture.
So it's all unified, so it's like a breeze for anybody to just jump
in and achieve the automation.
So to, to sum it up, it's a UUF my, it's my framework.
Universal automation framework transcends traditional script plus solutions by
delivering gen new instant automation through groundbreaking innovation.
So far you would not have heard about in instant automation,
and this is it for you.
Okay, so let's look at the know my architecture.
As I told, my architecture will have a tool agnostic OB object repository.
So right now there are many open source tools which will help you to
create a standalone object repository.
So using this object repository, my framework will generate
a virtual application.
You might be a little wondering what is this application, virtual
application, what is its name?
Generally manual testers write their testing.
Assuming there is some application and there are some fields.
All, it's all their imagination, right?
And they write in a kind of whiteboard, just write some text out there
and, embed the test data there.
So for anybody to use the test steps or test data, it is highly impossible
unless they manually copy the data and use it in for the scripts.
But here the virtual application, what does the virtual application does is
so going forward, the manual testers write their test case, looking at
the application next to their screen.
And also they can use this virtual application to enter the data validation
points and then sequences, right?
So this captures all of that.
And we have a concept called routines.
So when a manual tester starts written manual test case, there will
be a lot of repeated steps, right?
So every time we did not do it manually.
We have a routine.
So just.
Create a routine and pick that pull that flow from a routine.
So that means we are automating the manual test generation process as well.
So now let's say we have developed some test cases.
We have entered the test data in the virtual application
instead the plane text boxes.
So now what our framework does, ease.
So based on the data given in the virtual application, it'll generate a keyword
driven data sheet, so to its name.
This keyword driven data sheet drives the testing test automation tool.
So we have a test automation tool.
We have a generic framework, which is very common component across
all automation frameworks and which hardly takes any time to develop.
So this generic framework is driven by the keyword data sheet.
That means as I write the manual test case, my data for automation
and my framework are ready.
All I just need to need is to trigger the test and in fact, we have a
generic reporting structure as well where it saves all the data un until
the leaf level and it's up to us to plug in any third party reporting
tool and get the level of details.
We want, okay, so this is all about my application.
Now you understand, right?
What does instant automation means?
Going forward, I need not touch my automation data or automation
framework, automation tool, or anything.
I just have to update my manual test case and my automation ready.
So forget about what kind of tool you are using.
You just pick any tool in the market.
Every tool in the market is compatible with keyboard driven framework.
Yeah, that's overall my architecture and how it is going to help so
these are the efficiency gains.
We see, we saw on an average of 78% of maintenance reduction because in fact
there is no maintenance at all because we are not writing any line of code or
to say, 10% of line of code compared to traditional automation because we
have to generate the generic framework.
But still this maintenance, the 20 22% of the maintenance is also contributed
to the manual test case update.
Which is already included in the manual testing cost, but
still we want to put it here.
And then our development is 65% faster and we increase the coverage 82%.
So what this coverage means, like in general when you have to execute test
run a test for my production release.
At least, 30 or 40% of my test cases would be under maintenance.
But here, since there is a least maintenance effort, maximum test
cases could be executed for my releases and then cost savings.
So we have taken a lower point of 40%.
But in fact, it is more why?
Because there is no maintenance cost at all.
So as you see, it's already reduced.
So all that we need is to maintain the framework and its robust robustness.
So organizations implementing uf reports significant implements across key metrics.
So cost benefit equation as we see in traditional approach.
You have to maintain a big suite of tools and the licensing
costs across multiple platforms.
And the major time ma major cost expenditure is on the resources training.
And then their management.
And then significant ongoing maintenance costs because we will be using all
our energy resources, everything on the maintenance and then T effort.
Yes.
Why we have to do the redundant effort when the tool can take care of it.
So now you have approach.
So we substantially reduce the tool dependencies and
associate licensing cost because.
We use tool for very less amount of time.
Basically the number of licenses would be reduced because we are
reducing the development effort.
And streamline skill requirements and then centralized efficient centralized
maintenance and maximize resource sharing because our core framework
is going to be standard, right?
My resources can work any project across.
All that they need to know is little bit of functional, and
any troubleshooting with the automation scripts, they can do it.
So not just that, it also enhances the team collaboration, as we see, it's
a crawl, cross-functional alignment, the common language across all teams.
It boosts productivity, resource sharing as we discussed earlier, and then
knowledge transfer is just a breeze.
So enterprise integration benefits, as we discussed, it's a unified
platform for any tool, any application including API database, whatnot.
And then it's a, it supports multiple stack.
And then instead of having a lead and then architect for every team,
we will have a centralized architect who overall maintains the robustness.
And in fact, I have my own framework.
I can hand it over to you.
If you need, okay.
And real world success scenarios.
We implemented in a finance service form, we reduced 90% of script maintenance.
Yes, as there is no script at all, so there is nothing to maintain.
And then healthcare provider.
We automated fi x more test cases and saved millions to them.
And then retail enterprise increased coverage from 40 to 85% and the
defects are down to 70% because we started using automation in
the unit testing phase itself.
So this is the most interesting part of which I want to stress
out is the future already.
Yes.
As we discussed earlier, programming AI can replace the programming,
but not testing because testing is still a creative job, right?
But by standardizing the testing process, we, and automate many of
the the testing process activities.
For example, creating tests automatically based on usage patterns and migrating.
The script from one tool to the, its later version, or migrating the scripts
from one tool to one technology stack to a different technology stack.
All these areas we can use AI and then predictive analysis,
like anticipating potential failure points before they occur.
So we can use ai to read, analyze our reports.
And then come up with a predictive analysis and then IOT device
integration in general iot device is a huge, tedious task.
Since we are significantly reducing the amount of time invested in developing
the test, we can use that time in invest in developing the instructure,
developing the infrastructure.
That's how we can focus more time on integrations and achieve iot
device testing with multiple device.
One of our project we implemented mobile testing with
50 different mobile questions.
And then security integration testing.
So this is not exactly the security testing.
This is all about the, accessibility and workflow testing.
So where we have a thousands of resources lacks of thousands of
profiles and lacks of scenarios, right?
Yeah, take action.
Implement UAF.
If post this session, if anybody have questions, you can reach out to me.
I'm always happy to help and happy to see you success.
So basically, I can help you in assess your current stage, define, implement
strategy, train team, measure results.
I think hope you got the idea, but in still in any case, if you
need any help reach out to me.
I'm happy to help.
That's all folks.
Thank you very much for listening to me patiently and I hope you're able
to, get some information and you'll be able to appreciate my efforts.
Thank you once again.
Bye.