What is Automation Testing?
What are the objectives of using automation tools?
What can we achieve using automation tools?
What Test Automation is not?
WHY MAY TESTING TEAMS REJECT THE IMPLEMENTATION OF AUTOMATED TESTS?
Common Types of Automated Testing Tools
2. AGENDA
• WHAT IS AUTOMATION TESTING?
• WHAT ARE THE OBJECTIVES OF USING AUTOMATION TOOLS?
• WHAT CAN WE ACHIEVE USING AUTOMATION TOOLS?
• WHAT TEST AUTOMATION IS NOT?
• WHY MAY TESTING TEAMS REJECT THE IMPLEMENTATION OF AUTOMATED TESTS?
• COMMON TYPES OF AUTOMATED TESTING TOOLS
4. OVERVIEW
AUTOMATED TESTING IS ANOTHER LAYER THAT WE CAN USE BESIDES TO THE TRADITIONAL MANUAL TESTING, AS WE
ALL KNOW, MANUAL TESTING IS PERFORMED BY TESTERS THAT DESIGN AND EXECUTE TESTS ON A SYSTEM MANUALLY
AND WITHOUT ANY USE OF EXTERNAL TOOLS.
AUTOMATED TESTING MEANS THAT ENGINEERS (QA/DEVELOPERS) WILL USE AN AUTOMATION FRAMEWORK/TOOL TO
EXECUTE TESTS THAT THEY USED TO RUN MANUALLY, THIS IS DONE WHEN EACH STEP IN THE TEST SCENARIO IS
SCRIPTED INCLUDING THE TEST DATA AND THE EXPECTED/ACTUAL RESULTS OF THE TEST.
IN MY OPINION, BOTH MANUAL AND AUTOMATION TESTING SHOULD ALWAYS BE COMBINED DURING A TESTING
PROJECT, THE TRUE ART IS TO DETERMINE THE AMOUNT OF EFFORT TO INVEST IN WHICH ONE OF THEM BASED ON THE
PROJECT COMPLEXITY, DEADLINES, AND RISKS.
6. TEST AUTOMATION MAIN OBJECTIVES
THE FOLLOWING LIST WILL SUMMARIZE THE OBJECTIVES THAT WE AIM TO ACHIEVE
WHEN USING AUTOMATION TOOLS:
• INCREASE THE RETURN ON INVESTMENT (ROI) IN THE LONG-TERM.
• IMPROVE THE EFFICIENCY OF THE TESTING TEAM (WE WILL WANT TO REDUCE THE
NUMBER OF TEST CASES THAT WE RUN MANUALLY).
• GENERATE A REUSABLE CODE FOR FUTURE PROJECTS.
• REDUCE THE NUMBER OF MANUAL TESTERS.
• INCREASE THE TEST COVERAGE.
• IMPROVE THE TIME TO MARKET.
8. THERE ARE SOME MAJOR GOALS THAT WE CAN ACHIEVE USING AUTOMATION TOOLS:
• WE WILL GET A FAST FEEDBACK ABOUT THE STATUS OF THE APPLICATION (USING AUTOMATION REPORTS).
• WE CAN CREATE AND EXECUTE TESTS TO VALIDATE APPLICATION REQUIREMENTS AND SPECIFICATIONS.
• MAKE TESTING MORE FUN AND ALLOW THE TESTER TO CONTRIBUTE MORE TO THE QUALITY EFFORT.
• MAKE AN EFFICIENT TEST SCHEDULING (TEST CAN RUN AT NIGHT VIA PREDEFINED SCHEDULE).
• WE WILL BE ABLE TO IMPLEMENT AN AUTOMATED “CONTINUES INTEGRATION” PROCESS.
• WILL HELP THE ENGINEERING TEAM TO ACHIEVE AN EFFICIENT RESOURCE UTILIZATION.
• AFTER THE FIRST IMPLEMENTATION, WE CAN REMOVE THE MANUAL TESTERS FROM THE REGRESSION CYCLES (IN
SIMULATE TEST SCENARIOS THAT WE CANNOT ACHIEVE USING MANUAL TESTS.
• THE BEST SCENARIO, THE ENTIRE REGRESSION CYCLE WILL BE AUTOMATED).
• RUN A LARGE NUMBER OF TEST CASES IN A NARROW PERIOD OF TIME.
• REDUCE THE TIME EFFORT TO BUILD THE TEST ENVIRONMENTS.
• WE WILL BE ABLE TO RUN THE TESTS 24/7.
10. TEST AUTOMATION IS NOT…
USUALLY, USING AUTOMATION TOOLS DURING THE
TESTING EFFORT IS ESSENTIAL NO MATTER WHAT IS THE
SCALE OF THE PROJECT, ONCE SAID, WE STILL NEED TO
REMEMBER THAT AUTOMATION TESTING WILL NOT:
• AUTOMATION IS NOT TESTING! YOU WILL ALWAYS
NEED TO ADD THE EYE OF THE HUMAN TESTER.
• BE EASY TO MAINTAIN AFTER A WHILE.
• REPLACE THE NEED TO PLAN, DESIGN AND WRITE THE
TEST PLAN.
• PAY OFF ON THE FIRST TESTING PROJECT, BUT WILL
REMOVE THE NEED TO PERFORM THE SAME TESTS
AGAIN.
12. MANY COMPANIES ARE STILL USING MANUAL TESTING WITHOUT CARRYING OUT AN AUTOMATED
TESTING PROCESS, LET’S REVIEW THE COMMONEST REASONS THAT MAY EXPLAIN WHY.
JOB SECURITY
IT’S A SIMPLE AND LOGICAL ASSUMPTION, IN MANY CASES, MANUAL TESTERS THAT DO NOT HAVE
EXPERIENCE IN AUTOMATED TOOLS OR CODING WILL REJECT THE IDEA TO USE AUTOMATION
BECAUSE OF THEY AFRAID THAT IT WILL MAKE THEM LESS RELEVANT IN THE FUTURE.
COSTS
ALTHOUGH THERE ARE SOME GREAT FREE TOOLS THAT WE CAN USE TO AUTOMATE ALMOST
EVERYTHING, IN MOST PROJECTS WE WILL BUY A DEDICATED EXPENSIVE TOOL, SOMETIMES,
ORGANIZATIONS WILL REJECT THE INVESTMENT IN AUTOMATION TOOLS DUE TO LACK OF BUDGET.
13. MANY COMPANIES ARE STILL USING MANUAL TESTING WITHOUT CARRYING OUT AN AUTOMATED
TESTING PROCESS, LET’S REVIEW THE COMMONEST REASONS THAT MAY EXPLAIN WHY.
TIME
IMPLEMENTING AUTOMATED PROCESS IS A TIME-CONSUMING TASK, TESTING TEAMS WILL NEED TO
INVESTIGATE WHAT ALTERNATIVES ARE AVAILABLE TO REPLACE THE MANUAL PROCESS, LEARN HOW
TO USE THE SELECTED TOOL, WRITING THE CODE AND MAINTAIN IT.
ALL THESE TASKS WILL TAKE TIME THAT SOMETIMES THE COMPANY CANNOT AFFORD (STARTUPS
AND SMALL COMPANIES ARE A GREAT EXAMPLE), THEREFORE THEY WILL INVEST MORE TIME IN
DEVELOPMENT AND CONTINUE TO TEST MANUALLY UNTIL THE PRODUCT WILL BECOME TOO BIG TO
TEST MANUALLY.
APPLICATION COMPLEXITY
IN SOME RARE CASES, THE APPLICATION BEING TESTED MANUALLY IS JUST TOO COMPLEX FOR
AUTOMATED TESTING.
15. WHAT ARE THE MOST COMMON AUTOMATED TESTING
TOOLS THAT WE CAN USE DURING AUTOMATION PROJECTS?
Test Automated Tool
Unit Testing TestNG, NUnit,xUnit…
Security Testing WireShark, WebInspect, fiddler….
Penetration testing CORE impact, Metasploit, Nessus,
Retina,Sqlmap,Sqlninja,beEF,Hydra, Nagios,Nmap…..
Performance Testing JMeter, LoadRunner, WebLoad, NeoLoad,Qtest,Loadster,Wapt….
Regression Testing TestCafe,QTP,vTest,Winrunner,TestComplete …
Web testing SoapUI,Ranorex, Selenium, Browsershots, IE Tab,
BrowserCam,Watir…
Mobile Testing Frank (iOS), iOS UI Automation (iOS), Robotium
(Android/iOS)…
Cloud Testing SaltStack,Fabric, Chef, Puppet, Juju…