Automation
Framework
What
is test automation and why we use this?
Test automation is the process of to
automate the manual test execution process.
We use automation to speed up the execution
of the test cases. As we know that testing is the important phase of the SDLC
and without this, product does not release and considering all these factors,
we need to speed the execution as well which is not possible through manual
only. So, we figure out those test cases which can be automated most likely
Regression test suite and starts to automate them.
This one time investment in test automation
pays in every product cycle which speeds up the execution also along with the
report. Automation testing can have many benefits over the manual execution
which is mentioned below:
No/Minimal
manual intervention required: Unlike manual
execution, we do not require manual intervention. We can create a scheduler
which will run the test execution by itself along with the reports and
pass/fail screenshots.
Speed
Up the execution: Obviously, automation test
execution speed would be much faster than manual execution. This saves your lot
of time and you can use this in some other productive activities.
Reporting: Reporting is the part where the management is showing there interest.
They want to see the execution status whether in graphs or excel etc... and the
best part of automation is: you can create and manage the any type of reports.
Every
coin has other side as well. We do have in automation also. Some of the cons of
automation mentioned below:
Tool
selection: Tool selection is the most important and
initial step of the automation. You need to decide the tool on various factors
like: licensing cost, resources expertise, tool support response time etc… This
process is really cumbersome which the big hurdle in the automation is.
Skills: Unlike manual test execution, you need technical skills here to
automate the test cases. This could be in any language like: Java, C#, Groovy
etc… which makes automation a big task.
Cost: You have to spend more pennies than manual. Automation resources
are really costlier which you have to hire along with the heavy licensing cost
of the tools.
When
to start and scope of automation?
This is a million dollar question; an
organization has to decide the start to work on automation. This decides on the
various factors mentioned below:
Is
your application/product stable enough? One can
start automation, if your application is stable otherwise there is no use of
automation. Unstable application changes frequently which we can not automate.
In this scenario, manual execution would be best.
Do
you have enough budgets to invest in automation?
Before starting automation, you would require enough budgets to invest. If the
answer is then you can start.
Though automation testing has numerous
benefits over the manual test execution but still we can not replace the manual
completely. We have to pick-up the regression suite of the application or some
core areas of the application which does not changes frequently. Regression
suite runs in almost in each cycle. So, stick your scope in that area
preferably.
What
you can expect from automation?
To facilitate faster cycles through test
reusability and through speeding up test creation and maintenance by separating
test data from logic.
It should give higher return on investment
(ROI) for your efforts.
What
are Automation Testing Frameworks?
After digging the detailed in automation,
now we need to know about the automation frameworks. Frameworks are nothing but
the collection of multiple components which runs as a whole to provide the
result. Automation testing framework consists of many components:
Tool
Data (Input/Expected Output)
Logs
Results
Folder structure
.bat file(if any)
I found a very nice article on the UI
automation. You can refer that for further reading:
No comments:
Post a Comment