nocode test automation - bcs - the chartered … test automation an effective and efficient approach...
TRANSCRIPT
NoCode Test Automation An effective and efficient approach to test automation...
Senyo Affram Lead Engineer Fofx Solutions Inc. www.fofxsolutions.com
Who are you?
• Name
• Company
• Product Mix (web, web services, etc.)
• Test/ Test Automation Tools
3
Content
• Overview
• Why Test Automation?
• Record-And-Playback vs. Scripting
• Manual Tester vs. Automated Tester
• Some Test Automation Issues
• What is NoCode Test Automation?
• NoCode Test Automation Framework Design
• An Introduction to RobotFramework/RobotEngine
• Characteristics of NoCode Test Automation
• NoCode Test Automation At SpotOn
4
Overview
• Test Automation Should Not Be Coding Intensive
• Automated Test Scripts Should Be Expressive
• The Automation Framework Should Easily Adapt To Changes
5
Why Test Automation?
• Save Cost/Time
• Increase Test Coverage
• Improve Software Quality
• Increase Competitiveness
• Free Human Resources
6
“Record-and-Playback”
Pro:
• Quick and Easy
Cons:
• Limited to UI
• Environment Specific
• UI Synchronization Issues
• Hard-Coded Values
• Difficult to Maintain
• Difficult to Create Highly Reusable Component
9
Scripting
Pros:
• Reusable Component
• Power to Do More
Cons:
• Programming Skills Required
• Programming Language Specific
• Test Not Easy To Read*
• Maintenance Issue*
• Takes Longer*
• Risk of False Positive*
• The Test Scripts Have to be Tested As Well*
11
The Manual Tester
Pros: • Intelligent • No Testing Limitations • Prepares Test Data/Environment • Reliable • Loves Documentation (Communicates Better) • Experienced • Change Tolerant
Cons: • May Take Time to Test
14
The Automated Tester
15
Web Applications
Web Services
Oracle Databases
Image Files
MySql Databases
Postgres Databases
Excel Files
XML Files
Android Applications
iOS Applications
WATIR
SoapUI
ojdbc.jar
mysql.*jar
Robotium
xmlunit.jar
Appium
Selenium
someimage.*jar
poi.*jar
postgres.*jar
Hybrid Applications
The Automated Test
Pros:
• Runs Fast
• More Repeatable
Cons:
• Not Really Intelligent
• Has Testing Limitation
• Not Always Reliable
• Not Always Document Friendly
• Subject To Change (Migration, Upgrades)
• May Have Bugs*
16
Some Test Automation Issues
• Speed of Test Development
• Technical Skills
• Test Tool Limitation
• Maintenance
• Change Adaptation
• Comprehensive Test Reports
• Intelligence
• Stability
• Extendibility
• Integration
17
What is NoCode Test Automation?
• A test automation solution that requires no coding in order to create test cases.
• The test framework is decoupled from the test case design and creation.
• The test framework provides very generic keywords/functions that are called to created test cases.
• The test framework is broken into a number of loosely coupled layers.
• The test framework is very robust.
• The test cases are very expressive.
• The test reports are easy to read and understand.
18
NoCode Test Automation Framework Design
Selenium API
HTTPClient API
Oracle DB API
MySql DB API
FTP API
SSH API
WATIR API
Http Client Impl
Web Impl
FTP Impl
Database Impl
SSH Impl
Web Keywords
Http Keywords
Db Keywords
FTP Keywords
SSH Keywords
Test Cases
Test Case Layer API Layer Keyword Layer Implementation Layer
19
Yet Another Layer…
Http Client Impl
Web Impl
FTP Impl
Database Impl
SSH Impl
Web Keywords
Http Keywords
Db Keywords
FTP Keywords
SSH Keywords
Test Case Layer API Layer Keyword Layer Implementation Layer
Login Portal
Update Profile
Logout Portal
Check Portal Db
Update Facebook
Business Component Layer
20
Test Cases
The NoCode Tester
21
Web Applications
Web Services
Databases
Mobile Applications
Files
NoCode Test Framework
Introduction To Robotframework Let’s go the site:
http://robotframework.org
23
Introduction To RobotEngine Let’s check it out:
http://www.fofxsolutions.com/robotengine/
24
RobotEngine
• Walkthrough of the Framework (test, test suites, resources, tags, ride…)
• Demonstrate the Various Layers (test, business, implementation, API)
• Quick Test Creation Demo (Update Customer Profile)
25
Characteristics of NoCode Test Automation
• No Coding Required (for test case creation)
• Quick Test Creation
• Increased Ability to Test
• Minimum Test Tool Limitations
• Easy to Maintain
• Adapts Easily to Change
• Meaningful Test Reports
• Intelligent*
• Highly Stable
• Highly Extendable
• Easy to Integrate
26
SpotOn Applications
• Customer Portal*
• Merchant Portal
• Tablet Application for Merchant
• Mobile Application for Customer
• Web Application for Internal Admin
28
Test/Test Automation Challenges - SpotOn
• Not Enough Time to Test
• Not Enough Resources to Test
• Poor Test Case Quality
• Scant Automated Test
• No Regression Test Suite
• Very Short Release Cycles
• Good Number of Production Defects
29
Test/Test Automation Strategy - SpotOn
• Automate as Much As Possible (not just test cases)
• Test Cases Should be of High Quality
• Test Cases Should be Expressive
• Test Cases Should be Categorized
• Test Cases Should be Repeatable
• Test Case Creation Should be Very Quick
• Test Cases Should be Easy to Maintain
• All Automated Tests Should Run Continuously
30
Test/Test Automation Achievements - SpotOn
• Quick Test Case Creation
• Automated Regression Test Suite
• More Test Coverage
• Easy to Maintain Test Cases
• Easy to Read Test Cases
• Improved Overall Software Quality
32