SlideShare a Scribd company logo
1 of 28
USER INTERFACE
TESTING
DAVID TZEMACH
WWW.DTVISIONTECH.COM
JAN 13 2016
OVERVIEW
• THE MAIN IDEA IS TO ENSURE THAT THE GUI IS DEVELOPED BASED ON THE WRITTEN SPECIFICATIONS.
• A GREAT UI THAT CODED AND TESTED EFFICIENTLY WILL ALLOW THE END USER TO PERFORM A HIGHLY
COMPLEX OPERATIONS WITHOUT A COMPLEX SET OF TASKS.
• THE MAIN GOAL OF GUI TESTS, IS TO HELP THE USER TO PERFORM IS TASKS IN THE EASIEST WAY AND
MOST IMPORTANTLY IN A WAY THAT SAVES IS TIME.
• THE GRAPHICAL USER INTERFACES (GUI) IS THE MAIN PLATFORM THAT WE USE TO MANIPULATE A GIVEN
APPLICATION.
THE CHALLENGE IN USER
INTERFACE TESTING
THE USER INTERFACE COMPLEXITY
THE SOFTWARE INDUSTRY CAN PRODUCE A VERY COMPLEX GUI (THAT CONTAINS
INFINITE SCENARIOS AND COMBINATIONS) FOR THE END CLIENTS. THEREFORE, IT’S
SIMPLE FACT THAT THE TESTING COMPLEXITY IS CUT BASED ON THIS PARAMETER (GUI
COMPLEXITY = MORE TESTS).
MULTIPLE PLATFORMS
NOT LIKE 30 YEARS, TODAY APPLICATIONS BECOME RELEVANT TO ALMOST EVERY DEVICE AND
SOFTWARE PLATFORMS, THE MORE PLATFORMS WE NEED TO SUPPORT THE MORE TESTING IS
NEEDED, JUST FOR EXAMPLE, THINK ABOUT AN APPLICATION THAT SHOULD BE COMPATIBLE WITH
THE FOLLOWING PLATFORMS:
HARDWARE PLATFORMS:
MOBILE PHONES. COMPUTERS, TABLETS, ETC.
SOFTWARE PLATFORMS:
WEB BROWSERS (FIREFOX, IE, CHROME…).
PHONES OS (ANDROID, WINOS, MACOS…).
DIFFERENT OS SYSTEMS (WIN/LINUX OS….)
HOW MUCH TESTING IS ENOUGH?
JUST LIKE ANY OTHER TESTING TYPES, YOU CAN SAY THAT YOU MAKE
ENOUGH TESTING ONLY WHEN ALL THE RISKS YOU ANALYZED AT THE
BEGINNING OF THE TESTING PROCESS ARE REMOVED.
AUTOMATION
YES OR NO?
WHY TO AUTOMATE…?
• GUI TESTING IS ONE OF THE MOST TIME CONSUMING TASKS IN THE SOFTWARE
INDUSTRY, AUTOMATION WILL REDUCE THIS TIME ON ANY REGRESSION CYCLE.
• AUTOMATION WILL SAVE YOU TIME AND MONEY.
• GUI TESTS MAY INVOLVE AN INFINITE TESTING SCENARIOS, AUTOMATION CAN
COVER AT LEAST 90% FROM THEM.
• THE SAME TESTS CAN BE EXECUTED DAILY.
WHY NOT TO AUTOMATE…?
• DEPENDS ON THE GUI COMPLEXITY, WRITING AUTOMATION TEST CASES COULD
TAKE AN INFINITE AMOUNT OF TIME.
• AUTOMATION CAN COVER MAJOR ASPECTS OF THE TESTED GUI, BUT FEW GUI
CASES CANNOT BE AUTOMATED.
• GUI IS ONE OF THOSE COMPONENTS THAT COULD BE CHANGED MULTIPLE TIMES,
AS A RESULT WE NEED TO INVEST MAJOR TIME TO MAINTAIN THE WRITTEN
AUTOMATION
RECOMMENDATIONS
FOR USER INTERFACE TESTING
DO NOT IGNORE THE HUMAN EYE
AUTOMATION IS THE BEST WAY TO TEST THE USER INTERFACE, BUT
THAT DOESN'T MEAN THAT YOU CAN IGNORE THE PERSPECTIVE,
VISION AND SENSE OF THE MANUAL TESTER.
AUTOMATE YOUR TESTS!
GUI TESTING IS PERFECT FOR AUTOMATION THAT ARE A KEY PART
FROM ANY REGRESSION CYCLE. THEREFORE, TRY TO AUTOMATE AS
MANY TEST CASES AVAILABLE.
TEST EFFICIENCY INSTEAD OF UNREALISTIC COVERAGE
THE FACT IS THAT GUI TESTS MAY LEAD TO AN INFINITE TESTING
MATRIX THAT YOU JUST CANNOT COVER, THE SOLUTION IS TO RUN
YOUR TESTS BASED ON AN EFFICIENT DESIGN THAT INVOLVE RISK
ANALYSIS AND PRIORITIZATION.
SEPARATION OF GUI OBJECTS
THE GRAPHICAL USER INTERFACE IS BUILT FROM A SET OF OBJECTS, WHEN DESIGNING YOUR TESTS
YOU SHOULD CONSIDER EVERY OBJECT AS “STAND ALONE” AND ASK YOURSELF FEW QUESTIONS:
• WHAT ARE THE OUTPUTS WE NEED TO GET WHEN USING THIS OBJECT?
• IS THERE ANY INTEGRATIONS WITH OTHER OBJECTS?
• WHAT ARE THE ATTRIBUTES OF THIS OBJECT?
• AVAILABLE INPUTS (IF SUPPORTED)?
• WHY WE NEED IT?
MAKE SURE THAT THE UI IS USABLE
THE UI IS THE MAIN CONSOLE THAT THE USER WILL USE WHILE
WORKING WITH THE SOFTWARE, YOUR TESTS MUST INVOLVE
ADDITIONAL LAYER THAT GUARANTEE THAT THE UI WILL BE USABLE
WHEN IT’S BEEN USED BY THE CLIENT.
FOLLOW THE INDUSTRY STANDARDS
EVERY UI MUST BE TESTED BASED ON A FEW BASIC STANDARDS THAT WE
USE IN THE SOFTWARE INDUSTRY, EXAMPLES:
• EVERY FIELD THAT USED TO FIND VALUES SHOULD BE CALLED “SEARCH” AND NOT “FIND”.
• KEYBOARD BUTTON “F1” SHOULD POINT TO USER HELP GUIDE ON WINDOWS PLATFORMS.
• IN WINDOWS OS THE “OK” BUTTON WILL BE ON THE LEFT OF THE “CANCEL” BUTTON (THE
OPPOSITE BEHAVIOR FROM MACOS).
CHECKLISTS AND GUIDELINES
FOR UI TESTING
You can find the full list at :
http://www.dtvisiontech.com/2014/05/qa-graphical-user-interface-testing.html
GENERAL TESTS
• IS THERE A DEFAULT OBJECT THAT HIGHLIGHTED WHEN THE USER STARTS THE APPLICATION?
• THE APPLICATION NAME SHOULD BE DISPLAYED ON THE APPLICATION MAIN FORM.
• THE “HELP” MENU SHOULD BE AVAILABLE IN THE MAIN SCREEN NAVIGATION BAR.
• IN MOST CASES GUI FORMS SHOULD HAVE THE MINIMIZE/MAXIMIZE OPTIONS.
• WEB APPLICATIONS SHOULD BE TESTED WITH DIFFERENT RESOLUTIONS
• CLOSING THE APPLICATION SHOULDN’T OCCUR WITHOUT AN APPROVAL NOTIFICATION THAT
ALLOWS THE USER TO “APPROVE” OR “DECLINE” THE OPERATION.
OBJECT COLOR
• IF FIELDS BECOME “GRAYED-OUT”, DO WE DISPLAY THE CORRECT COLOR?
• FORM TITLE AND DESCRIPTION DISPLAYED IN THE CORRECT COLOR?
• WHEN FIELD IN FOCUS, DO WE MARK IT WITH DIFFERENT COLOR?
• IS THE LOADING SCREEN DISPLAYED WITH THE CORRECT COLOR?
• ARE THE HYPERLINK COLORS ARE IN THE EXPECTED COLOR?
• FORM BACKGROUND COLOR IS THE CORRECT ONE?
• LOADING PROCESS BAR IN THE CORRECT COLOR?
• ARE THE BUTTONS ARE IN THE RIGHT COLOR?
OBJECTS SYNTAX
• IS THE TEXT IN ALL OBJECTS ARE WRITTEN WITH THE CORRECT FONT?
• IS THE TEXT IN ALL OBJECTS ARE WRITTEN WITH THE CORRECT SIZE?
• IS THE FIRST CHAR (IF RELEVANT) IN A WORD SET AS CAPITAL?
• ARE ALL THE SCREEN TEXTS ARE ALIGNED CORRECTLY?
CHECKLISTS AND GUIDELINES
FOR SPECIFIC OBJECTS
You can find the full list at :
http://www.dtvisiontech.com/2014/05/qa-graphical-user-interface-testing.html
RADIO BUTTONS
• EVERY BUTTON SHOULD EXECUTE A SPECIFIC FUNCTIONALITY.
• BY DEFAULT AT LEAST ONE BUTTON SHOULD BE SELECTED.
• EVERY BUTTON SHOULD BE AVAILABLE FOR SELECTION BOTH BY USING THE
MOUSE AND KEYBOARD.
VALIDATION FIELDS
• DO THE SRS DOC, SPECIFIED THAT THE AUTHENTICATION SUPPORT SPECIAL CHARACTERS?
• DO THE SRS DOC, SPECIFIED THAT THE AUTHENTICATION SUPPORT NEGATIVE VALUES?
• CHECK IF THE VALIDATION FIELDS SHOULD SUPPORT A SPECIFIC FORMAT OF VALUES.
• DO THE VALIDATION FIELDS ARE “CASE SENSITIVE”?
• IN ANY CASE OF INVALID AUTHENTICATION, THE USER SHOULD BE NOTIFIED THAT THE PROCESS
FAILED WITH AN APPROPRIATE NOTIFICATION.
DROP DOWN LISTS / LIST BOXES /COMBO BOX
• DROP DOWN VALUES MUST BE PRESENTED WITH ORDER, IN 90%, THE ORDER DETERMINED ALPHABETICALLY.
• NOT LIKE THE FIRST TWO OBJECTS, IN COMBO BOX, USER SHOULD HAVE THE OPTION TO INSERT TEXT.
• WHEN USER SELECT A VALUE, THIS VALUE SHOULD BE DISPLAYED ON THE MAIN DROP DOWN FIELD.
• IF THE LIST CONTAINS MULTIPLE VALUES, THE LIST SHOULD BE SCROLLABLE.
• DROP DOWN OBJECTS DOESN’T NEED TO SET WITH DEFAULT VALUES.
• WHEN THE DROP DOWN IN FOCUS THE KEYBOARD COMBINATION OF CTRL-F4 SHOULD OPEN THE LIST OF VALUES.
PUSH BUTTONS
• CONTINUING THE PREVIOUS BULLET, THE “SPACE” KEY SHOULD DO THE SAME ACTION.
• EVERY BUTTON SHOULD HAVE THE OPTION TO TRIGGER WITH AN APPROPRIATE KEYBOARD
SHORTCUT (YOU MUST MAKE SURE THAT DUPLICATE SHORTCUTS ARE NOT EXISTING).
• ESC SHOULD ACTIVE THE “CANCEL” BUTTON (IF AVAILABLE IN FORM).
• MAKE SURE THAT ALL BUTTONS ARE SIMILAR IN SIZE, SHAPE AND SIZE.
TEXT BOX
• THE TEXT BOX MUST SUPPORT COPY/PASTE OF SYNTAX FROM DIFFERENT LOCATIONS.
• DOUBLE CLICK ON THE TEXT SHOULD HIGHLIGHT THE ENTIRE SYNTAX.
• ENTER SYNTAX IN THE TEXT BOX WITH SPACE AT THE BEGINNING.
• ENTER SYNTAX IN THE TEXT BOX WITH SPACE AT THE END.
• USER HAS THE OPTION TO ENTER TEXT INTO THE BOX.
• DO WE SUPPORT UPPER AND LOWER CASE?
DATE AND TIME FIELDS
• CAN YOU CHANGE THE DATE/TIME (INSERT DAY IN THE YEAR LOCATION, INSERT YEAR IN THE
MONTH LOCATION...) ORDER AND APPROVE THE CHANGE?
• CHANGE TIME ZONES IN SPECIFIC COMPONENTS TO SEE HOW THE APPLICATION CAN HANDLE
DIFFERENT DATE FORMATS.
• APPLICATIONS MUST BE TESTED WITH OS “TIME ZONE” CHANGES, DIFFERENT COMPONENTS
THAT INTEGRATED WITH DIFFERENT TIME ZONES MAY LEAD TO FAILURES IN THE DATA
SYNCHRONIZATION.
FOR ADDITIONAL KB’S PLEASE
VISIT MY BLOG
WWW.DTVISIONTECH.COM

More Related Content

What's hot

UX Design for Mobile Apps
UX Design for Mobile AppsUX Design for Mobile Apps
UX Design for Mobile Apps
Kamil Zieba
 
Test Case Naming 02
Test Case Naming 02Test Case Naming 02
Test Case Naming 02
SriluBalla
 
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Simplilearn
 

What's hot (20)

Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training Presentation
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutter
 
UX Design for Mobile Apps
UX Design for Mobile AppsUX Design for Mobile Apps
UX Design for Mobile Apps
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Concepts
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project report
 
Ux/ui Design Solution Services
Ux/ui Design Solution ServicesUx/ui Design Solution Services
Ux/ui Design Solution Services
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Introduction to User Experience Design
Introduction to User Experience DesignIntroduction to User Experience Design
Introduction to User Experience Design
 
Elements of User Experience by Jesse James Garrett
Elements of User Experience by Jesse James GarrettElements of User Experience by Jesse James Garrett
Elements of User Experience by Jesse James Garrett
 
Software testing
Software testingSoftware testing
Software testing
 
Chapter 12 user interface design
Chapter 12 user interface designChapter 12 user interface design
Chapter 12 user interface design
 
Selenium with Cucumber
Selenium  with Cucumber Selenium  with Cucumber
Selenium with Cucumber
 
User interface design
User interface designUser interface design
User interface design
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Test Case Naming 02
Test Case Naming 02Test Case Naming 02
Test Case Naming 02
 
What is a User Experience?
What is a User Experience? What is a User Experience?
What is a User Experience?
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
 

Viewers also liked

Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
Nishant Worah
 

Viewers also liked (20)

UI Testing Best Practices - An Expected Journey
UI Testing Best Practices - An Expected JourneyUI Testing Best Practices - An Expected Journey
UI Testing Best Practices - An Expected Journey
 
Testing the User Interface - Coded UI Tests with Visual Studio 2010
Testing the User Interface - Coded UI Tests with Visual Studio 2010Testing the User Interface - Coded UI Tests with Visual Studio 2010
Testing the User Interface - Coded UI Tests with Visual Studio 2010
 
Agile scrum roles
Agile scrum rolesAgile scrum roles
Agile scrum roles
 
Agile vs. waterfall - The fundamentals differences
Agile vs. waterfall - The fundamentals differencesAgile vs. waterfall - The fundamentals differences
Agile vs. waterfall - The fundamentals differences
 
The evolution of agile development process
The evolution of agile development processThe evolution of agile development process
The evolution of agile development process
 
All you need to know about regression testing | David Tzemach
All you need to know about regression testing | David TzemachAll you need to know about regression testing | David Tzemach
All you need to know about regression testing | David Tzemach
 
The basics of UNIT testing
The basics of UNIT testing The basics of UNIT testing
The basics of UNIT testing
 
Usability Testing and QA 12 11-15
Usability Testing and QA 12 11-15Usability Testing and QA 12 11-15
Usability Testing and QA 12 11-15
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
 
Introduction to android testing
Introduction to android testingIntroduction to android testing
Introduction to android testing
 
Android testing
Android testingAndroid testing
Android testing
 
Android testing
Android testingAndroid testing
Android testing
 
Non-functional Testing (NFT) Overview
Non-functional Testing (NFT) Overview Non-functional Testing (NFT) Overview
Non-functional Testing (NFT) Overview
 
Extreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachExtreme programming (xp) | David Tzemach
Extreme programming (xp) | David Tzemach
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
 
Non-Functional testing
Non-Functional testingNon-Functional testing
Non-Functional testing
 
School Management System ppt
School Management System pptSchool Management System ppt
School Management System ppt
 
Testing webapps, websites and mobile applications
Testing webapps, websites and mobile applicationsTesting webapps, websites and mobile applications
Testing webapps, websites and mobile applications
 
Usability Best Practices for Adopting Responsive Design
Usability Best Practices for Adopting Responsive DesignUsability Best Practices for Adopting Responsive Design
Usability Best Practices for Adopting Responsive Design
 
Establishing best practices to improve usefulness and usability of web interf...
Establishing best practices to improve usefulness and usability of web interf...Establishing best practices to improve usefulness and usability of web interf...
Establishing best practices to improve usefulness and usability of web interf...
 

Similar to User Interface Testing | Best Practices

Mobile Project Management
Mobile Project ManagementMobile Project Management
Mobile Project Management
Lee Schlenker
 

Similar to User Interface Testing | Best Practices (20)

Using BDD to Solve communication problems
Using BDD to Solve communication problemsUsing BDD to Solve communication problems
Using BDD to Solve communication problems
 
dbmsreal.pptx
dbmsreal.pptxdbmsreal.pptx
dbmsreal.pptx
 
QASymphony and TestPlant: Bringing Together Best-in-Class Test Management and...
QASymphony and TestPlant: Bringing Together Best-in-Class Test Management and...QASymphony and TestPlant: Bringing Together Best-in-Class Test Management and...
QASymphony and TestPlant: Bringing Together Best-in-Class Test Management and...
 
Mobile Project Management
Mobile Project ManagementMobile Project Management
Mobile Project Management
 
Agile User Stories | The complete Review
Agile User Stories | The complete ReviewAgile User Stories | The complete Review
Agile User Stories | The complete Review
 
RAD Studio XE5 in Action Tech Preview
RAD Studio XE5 in Action Tech PreviewRAD Studio XE5 in Action Tech Preview
RAD Studio XE5 in Action Tech Preview
 
Software Evaluation
Software EvaluationSoftware Evaluation
Software Evaluation
 
DBMS_final_ppt_grp3.pptx
DBMS_final_ppt_grp3.pptxDBMS_final_ppt_grp3.pptx
DBMS_final_ppt_grp3.pptx
 
OOP -interface and objects.pptx
OOP -interface and objects.pptxOOP -interface and objects.pptx
OOP -interface and objects.pptx
 
UXVision - Tal Florentin - Windows 8 User Experience - Short Version
UXVision - Tal Florentin - Windows 8 User Experience - Short VersionUXVision - Tal Florentin - Windows 8 User Experience - Short Version
UXVision - Tal Florentin - Windows 8 User Experience - Short Version
 
Agile Mobile Testing Workshop
Agile Mobile Testing WorkshopAgile Mobile Testing Workshop
Agile Mobile Testing Workshop
 
Web Analytics Wednesday - Session Replay Tools are Vital
Web Analytics Wednesday - Session Replay Tools are VitalWeb Analytics Wednesday - Session Replay Tools are Vital
Web Analytics Wednesday - Session Replay Tools are Vital
 
Best Mobile UI Practices - FITC Mobile 2010
Best Mobile UI Practices - FITC Mobile 2010Best Mobile UI Practices - FITC Mobile 2010
Best Mobile UI Practices - FITC Mobile 2010
 
Design Theory - Ankur Sharma - Presentation
Design Theory - Ankur Sharma - PresentationDesign Theory - Ankur Sharma - Presentation
Design Theory - Ankur Sharma - Presentation
 
Equipment manual writing may, 2014 final
Equipment manual writing may, 2014 finalEquipment manual writing may, 2014 final
Equipment manual writing may, 2014 final
 
Android design patterns in mobile application development presentation
Android design patterns in mobile application development   presentationAndroid design patterns in mobile application development   presentation
Android design patterns in mobile application development presentation
 
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017
 
2. product usability & testing
2. product usability & testing2. product usability & testing
2. product usability & testing
 
Rubyconf2016 - Solving communication problems in distributed teams with BDD
Rubyconf2016 - Solving communication problems in distributed teams with BDDRubyconf2016 - Solving communication problems in distributed teams with BDD
Rubyconf2016 - Solving communication problems in distributed teams with BDD
 
Xamariners - BDD + Mobile
Xamariners - BDD + MobileXamariners - BDD + Mobile
Xamariners - BDD + Mobile
 

More from David Tzemach

More from David Tzemach (14)

Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automation
 
The new manager role in scrum teams and beyond | SupremeAgile
The new manager role in scrum teams and beyond | SupremeAgileThe new manager role in scrum teams and beyond | SupremeAgile
The new manager role in scrum teams and beyond | SupremeAgile
 
Top Agile Myths & Misconceptions
Top Agile Myths & MisconceptionsTop Agile Myths & Misconceptions
Top Agile Myths & Misconceptions
 
Scrum Master (SM) - Practical Approach
Scrum Master (SM) - Practical ApproachScrum Master (SM) - Practical Approach
Scrum Master (SM) - Practical Approach
 
Expectations of scrum masters - How to choose a true great scrum master?
Expectations of scrum masters - How to choose a true great scrum master?Expectations of scrum masters - How to choose a true great scrum master?
Expectations of scrum masters - How to choose a true great scrum master?
 
Top 10 challenges faced by the scrum master
Top 10 challenges faced by the scrum masterTop 10 challenges faced by the scrum master
Top 10 challenges faced by the scrum master
 
SDLC vs STLC
SDLC vs STLCSDLC vs STLC
SDLC vs STLC
 
What is component testing | David Tzemach
What is component testing | David TzemachWhat is component testing | David Tzemach
What is component testing | David Tzemach
 
What is automation testing | David Tzemach
What is automation testing | David TzemachWhat is automation testing | David Tzemach
What is automation testing | David Tzemach
 
The role of the product owner in scrum team | David Tzemach
The role of the product owner in scrum team | David TzemachThe role of the product owner in scrum team | David Tzemach
The role of the product owner in scrum team | David Tzemach
 
The complete guide for software integration testing | David Tzemach
The complete guide for software integration testing | David TzemachThe complete guide for software integration testing | David Tzemach
The complete guide for software integration testing | David Tzemach
 
The complete guide for negative testing | David Tzemach
The complete guide for negative testing | David TzemachThe complete guide for negative testing | David Tzemach
The complete guide for negative testing | David Tzemach
 
Software testing metrics | David Tzemach
Software testing metrics | David Tzemach Software testing metrics | David Tzemach
Software testing metrics | David Tzemach
 
An introduction to api testing | David Tzemach
An introduction to api testing | David TzemachAn introduction to api testing | David Tzemach
An introduction to api testing | David Tzemach
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

User Interface Testing | Best Practices

  • 2. OVERVIEW • THE MAIN IDEA IS TO ENSURE THAT THE GUI IS DEVELOPED BASED ON THE WRITTEN SPECIFICATIONS. • A GREAT UI THAT CODED AND TESTED EFFICIENTLY WILL ALLOW THE END USER TO PERFORM A HIGHLY COMPLEX OPERATIONS WITHOUT A COMPLEX SET OF TASKS. • THE MAIN GOAL OF GUI TESTS, IS TO HELP THE USER TO PERFORM IS TASKS IN THE EASIEST WAY AND MOST IMPORTANTLY IN A WAY THAT SAVES IS TIME. • THE GRAPHICAL USER INTERFACES (GUI) IS THE MAIN PLATFORM THAT WE USE TO MANIPULATE A GIVEN APPLICATION.
  • 3. THE CHALLENGE IN USER INTERFACE TESTING
  • 4. THE USER INTERFACE COMPLEXITY THE SOFTWARE INDUSTRY CAN PRODUCE A VERY COMPLEX GUI (THAT CONTAINS INFINITE SCENARIOS AND COMBINATIONS) FOR THE END CLIENTS. THEREFORE, IT’S SIMPLE FACT THAT THE TESTING COMPLEXITY IS CUT BASED ON THIS PARAMETER (GUI COMPLEXITY = MORE TESTS).
  • 5. MULTIPLE PLATFORMS NOT LIKE 30 YEARS, TODAY APPLICATIONS BECOME RELEVANT TO ALMOST EVERY DEVICE AND SOFTWARE PLATFORMS, THE MORE PLATFORMS WE NEED TO SUPPORT THE MORE TESTING IS NEEDED, JUST FOR EXAMPLE, THINK ABOUT AN APPLICATION THAT SHOULD BE COMPATIBLE WITH THE FOLLOWING PLATFORMS: HARDWARE PLATFORMS: MOBILE PHONES. COMPUTERS, TABLETS, ETC. SOFTWARE PLATFORMS: WEB BROWSERS (FIREFOX, IE, CHROME…). PHONES OS (ANDROID, WINOS, MACOS…). DIFFERENT OS SYSTEMS (WIN/LINUX OS….)
  • 6. HOW MUCH TESTING IS ENOUGH? JUST LIKE ANY OTHER TESTING TYPES, YOU CAN SAY THAT YOU MAKE ENOUGH TESTING ONLY WHEN ALL THE RISKS YOU ANALYZED AT THE BEGINNING OF THE TESTING PROCESS ARE REMOVED.
  • 8. WHY TO AUTOMATE…? • GUI TESTING IS ONE OF THE MOST TIME CONSUMING TASKS IN THE SOFTWARE INDUSTRY, AUTOMATION WILL REDUCE THIS TIME ON ANY REGRESSION CYCLE. • AUTOMATION WILL SAVE YOU TIME AND MONEY. • GUI TESTS MAY INVOLVE AN INFINITE TESTING SCENARIOS, AUTOMATION CAN COVER AT LEAST 90% FROM THEM. • THE SAME TESTS CAN BE EXECUTED DAILY.
  • 9. WHY NOT TO AUTOMATE…? • DEPENDS ON THE GUI COMPLEXITY, WRITING AUTOMATION TEST CASES COULD TAKE AN INFINITE AMOUNT OF TIME. • AUTOMATION CAN COVER MAJOR ASPECTS OF THE TESTED GUI, BUT FEW GUI CASES CANNOT BE AUTOMATED. • GUI IS ONE OF THOSE COMPONENTS THAT COULD BE CHANGED MULTIPLE TIMES, AS A RESULT WE NEED TO INVEST MAJOR TIME TO MAINTAIN THE WRITTEN AUTOMATION
  • 11. DO NOT IGNORE THE HUMAN EYE AUTOMATION IS THE BEST WAY TO TEST THE USER INTERFACE, BUT THAT DOESN'T MEAN THAT YOU CAN IGNORE THE PERSPECTIVE, VISION AND SENSE OF THE MANUAL TESTER.
  • 12. AUTOMATE YOUR TESTS! GUI TESTING IS PERFECT FOR AUTOMATION THAT ARE A KEY PART FROM ANY REGRESSION CYCLE. THEREFORE, TRY TO AUTOMATE AS MANY TEST CASES AVAILABLE.
  • 13. TEST EFFICIENCY INSTEAD OF UNREALISTIC COVERAGE THE FACT IS THAT GUI TESTS MAY LEAD TO AN INFINITE TESTING MATRIX THAT YOU JUST CANNOT COVER, THE SOLUTION IS TO RUN YOUR TESTS BASED ON AN EFFICIENT DESIGN THAT INVOLVE RISK ANALYSIS AND PRIORITIZATION.
  • 14. SEPARATION OF GUI OBJECTS THE GRAPHICAL USER INTERFACE IS BUILT FROM A SET OF OBJECTS, WHEN DESIGNING YOUR TESTS YOU SHOULD CONSIDER EVERY OBJECT AS “STAND ALONE” AND ASK YOURSELF FEW QUESTIONS: • WHAT ARE THE OUTPUTS WE NEED TO GET WHEN USING THIS OBJECT? • IS THERE ANY INTEGRATIONS WITH OTHER OBJECTS? • WHAT ARE THE ATTRIBUTES OF THIS OBJECT? • AVAILABLE INPUTS (IF SUPPORTED)? • WHY WE NEED IT?
  • 15. MAKE SURE THAT THE UI IS USABLE THE UI IS THE MAIN CONSOLE THAT THE USER WILL USE WHILE WORKING WITH THE SOFTWARE, YOUR TESTS MUST INVOLVE ADDITIONAL LAYER THAT GUARANTEE THAT THE UI WILL BE USABLE WHEN IT’S BEEN USED BY THE CLIENT.
  • 16. FOLLOW THE INDUSTRY STANDARDS EVERY UI MUST BE TESTED BASED ON A FEW BASIC STANDARDS THAT WE USE IN THE SOFTWARE INDUSTRY, EXAMPLES: • EVERY FIELD THAT USED TO FIND VALUES SHOULD BE CALLED “SEARCH” AND NOT “FIND”. • KEYBOARD BUTTON “F1” SHOULD POINT TO USER HELP GUIDE ON WINDOWS PLATFORMS. • IN WINDOWS OS THE “OK” BUTTON WILL BE ON THE LEFT OF THE “CANCEL” BUTTON (THE OPPOSITE BEHAVIOR FROM MACOS).
  • 17. CHECKLISTS AND GUIDELINES FOR UI TESTING You can find the full list at : http://www.dtvisiontech.com/2014/05/qa-graphical-user-interface-testing.html
  • 18. GENERAL TESTS • IS THERE A DEFAULT OBJECT THAT HIGHLIGHTED WHEN THE USER STARTS THE APPLICATION? • THE APPLICATION NAME SHOULD BE DISPLAYED ON THE APPLICATION MAIN FORM. • THE “HELP” MENU SHOULD BE AVAILABLE IN THE MAIN SCREEN NAVIGATION BAR. • IN MOST CASES GUI FORMS SHOULD HAVE THE MINIMIZE/MAXIMIZE OPTIONS. • WEB APPLICATIONS SHOULD BE TESTED WITH DIFFERENT RESOLUTIONS • CLOSING THE APPLICATION SHOULDN’T OCCUR WITHOUT AN APPROVAL NOTIFICATION THAT ALLOWS THE USER TO “APPROVE” OR “DECLINE” THE OPERATION.
  • 19. OBJECT COLOR • IF FIELDS BECOME “GRAYED-OUT”, DO WE DISPLAY THE CORRECT COLOR? • FORM TITLE AND DESCRIPTION DISPLAYED IN THE CORRECT COLOR? • WHEN FIELD IN FOCUS, DO WE MARK IT WITH DIFFERENT COLOR? • IS THE LOADING SCREEN DISPLAYED WITH THE CORRECT COLOR? • ARE THE HYPERLINK COLORS ARE IN THE EXPECTED COLOR? • FORM BACKGROUND COLOR IS THE CORRECT ONE? • LOADING PROCESS BAR IN THE CORRECT COLOR? • ARE THE BUTTONS ARE IN THE RIGHT COLOR?
  • 20. OBJECTS SYNTAX • IS THE TEXT IN ALL OBJECTS ARE WRITTEN WITH THE CORRECT FONT? • IS THE TEXT IN ALL OBJECTS ARE WRITTEN WITH THE CORRECT SIZE? • IS THE FIRST CHAR (IF RELEVANT) IN A WORD SET AS CAPITAL? • ARE ALL THE SCREEN TEXTS ARE ALIGNED CORRECTLY?
  • 21. CHECKLISTS AND GUIDELINES FOR SPECIFIC OBJECTS You can find the full list at : http://www.dtvisiontech.com/2014/05/qa-graphical-user-interface-testing.html
  • 22. RADIO BUTTONS • EVERY BUTTON SHOULD EXECUTE A SPECIFIC FUNCTIONALITY. • BY DEFAULT AT LEAST ONE BUTTON SHOULD BE SELECTED. • EVERY BUTTON SHOULD BE AVAILABLE FOR SELECTION BOTH BY USING THE MOUSE AND KEYBOARD.
  • 23. VALIDATION FIELDS • DO THE SRS DOC, SPECIFIED THAT THE AUTHENTICATION SUPPORT SPECIAL CHARACTERS? • DO THE SRS DOC, SPECIFIED THAT THE AUTHENTICATION SUPPORT NEGATIVE VALUES? • CHECK IF THE VALIDATION FIELDS SHOULD SUPPORT A SPECIFIC FORMAT OF VALUES. • DO THE VALIDATION FIELDS ARE “CASE SENSITIVE”? • IN ANY CASE OF INVALID AUTHENTICATION, THE USER SHOULD BE NOTIFIED THAT THE PROCESS FAILED WITH AN APPROPRIATE NOTIFICATION.
  • 24. DROP DOWN LISTS / LIST BOXES /COMBO BOX • DROP DOWN VALUES MUST BE PRESENTED WITH ORDER, IN 90%, THE ORDER DETERMINED ALPHABETICALLY. • NOT LIKE THE FIRST TWO OBJECTS, IN COMBO BOX, USER SHOULD HAVE THE OPTION TO INSERT TEXT. • WHEN USER SELECT A VALUE, THIS VALUE SHOULD BE DISPLAYED ON THE MAIN DROP DOWN FIELD. • IF THE LIST CONTAINS MULTIPLE VALUES, THE LIST SHOULD BE SCROLLABLE. • DROP DOWN OBJECTS DOESN’T NEED TO SET WITH DEFAULT VALUES. • WHEN THE DROP DOWN IN FOCUS THE KEYBOARD COMBINATION OF CTRL-F4 SHOULD OPEN THE LIST OF VALUES.
  • 25. PUSH BUTTONS • CONTINUING THE PREVIOUS BULLET, THE “SPACE” KEY SHOULD DO THE SAME ACTION. • EVERY BUTTON SHOULD HAVE THE OPTION TO TRIGGER WITH AN APPROPRIATE KEYBOARD SHORTCUT (YOU MUST MAKE SURE THAT DUPLICATE SHORTCUTS ARE NOT EXISTING). • ESC SHOULD ACTIVE THE “CANCEL” BUTTON (IF AVAILABLE IN FORM). • MAKE SURE THAT ALL BUTTONS ARE SIMILAR IN SIZE, SHAPE AND SIZE.
  • 26. TEXT BOX • THE TEXT BOX MUST SUPPORT COPY/PASTE OF SYNTAX FROM DIFFERENT LOCATIONS. • DOUBLE CLICK ON THE TEXT SHOULD HIGHLIGHT THE ENTIRE SYNTAX. • ENTER SYNTAX IN THE TEXT BOX WITH SPACE AT THE BEGINNING. • ENTER SYNTAX IN THE TEXT BOX WITH SPACE AT THE END. • USER HAS THE OPTION TO ENTER TEXT INTO THE BOX. • DO WE SUPPORT UPPER AND LOWER CASE?
  • 27. DATE AND TIME FIELDS • CAN YOU CHANGE THE DATE/TIME (INSERT DAY IN THE YEAR LOCATION, INSERT YEAR IN THE MONTH LOCATION...) ORDER AND APPROVE THE CHANGE? • CHANGE TIME ZONES IN SPECIFIC COMPONENTS TO SEE HOW THE APPLICATION CAN HANDLE DIFFERENT DATE FORMATS. • APPLICATIONS MUST BE TESTED WITH OS “TIME ZONE” CHANGES, DIFFERENT COMPONENTS THAT INTEGRATED WITH DIFFERENT TIME ZONES MAY LEAD TO FAILURES IN THE DATA SYNCHRONIZATION.
  • 28. FOR ADDITIONAL KB’S PLEASE VISIT MY BLOG WWW.DTVISIONTECH.COM