SlideShare a Scribd company logo
1 of 33
Software quality assurance days
XXI International Conference of
Software Quality Assurance
sqadays.com
Moscow. May 26–27 , 2017
Denis Markovtsev
Inflectra Corporation. Moscow, Russia
Automated UI testing in uncontrollably improving
environment
2Automated UI testing in uncontrollably improving environment
tools
for developers, testers and
planners
3Automated UI testing in uncontrollably improving environment
solution for
automated UI testing
Desktop. Web. Mobile.
4Automated UI testing in uncontrollably improving environment
5Automated UI testing in uncontrollably improving environment
Real problem – share experience
6Automated UI testing in uncontrollably improving environment
Real problem
Demo example
Why?
7Automated UI testing in uncontrollably improving environment
Outlook plugin for Office 365
8Automated UI testing in uncontrollably improving environment
Works in
desktop Outlook
and
9Automated UI testing in uncontrollably improving environment
Why test UI?
Is it unavoidable?
10Automated UI testing in uncontrollably improving environment
Environment
changes
11Automated UI testing in uncontrollably improving environment
Plugin
load error
12Automated UI testing in uncontrollably improving environment
Plugin display issues
13Automated UI testing in uncontrollably improving environment
Environment City Client Type Result
Browser New York paid works
Browser Hong Kong trial not working
Outlook Moscow trial works
Outlook London paid not working
Depends on client type and
geographical location
14Automated UI testing in uncontrollably improving environment
Matrix controls us
15Automated UI testing in uncontrollably improving environment
Environment is constantly
improving
and
we can not control it
16Automated UI testing in uncontrollably improving environment
Speed of reaction is important
17Automated UI testing in uncontrollably improving environment
Automated UI tests
are required
18Automated UI testing in uncontrollably improving environment
19Automated UI testing in uncontrollably improving environment
Outlook plugin - web application,
even on desktop
20Automated UI testing in uncontrollably improving environment
//span[@class='badge ng-binding']
21Automated UI testing in uncontrollably improving environment
Locators
Desktop: embedded IE XPATH
Browser: xpath_to_frame XPATH
22Automated UI testing in uncontrollably improving environment
Same tests for
Outlook and browsers
23Automated UI testing in uncontrollably improving environment
Email upload
Email client launch
Authorization
Email opening
Plugin activation
Test
Finalization
24Automated UI testing in uncontrollably improving environment
Microsoft Active Accessibility
UI Automation
Managed
Java Access Bridge
25Automated UI testing in uncontrollably improving environment
Few details
26Automated UI testing in uncontrollably improving environment
SeS('Mail_Folders')
.DoClickNode(userName + ";Inbox");
JavaScript
Object
Locators
Properties
Actions
27Automated UI testing in uncontrollably improving environment
“No programming”
28Automated UI testing in uncontrollably improving environment
Testing project results
29Automated UI testing in uncontrollably improving environment
Other projects
30Automated UI testing in uncontrollably improving environment
Regression
test coverage
31Automated UI testing in uncontrollably improving environment
Monitoring
32Automated UI testing in uncontrollably improving environment
Single tool
One language
Unified approach
Reporting
33Automated UI testing in uncontrollably improving environment
Get Rapise
https://www.inflectra.com/SQADAYS21.aspx
GitHub
https://github.com/Inflectra/office365-outlook-
plugin-ui-testing
Email
denis@inflectra.com

More Related Content

What's hot

Automating Test Maintenance
Automating Test MaintenanceAutomating Test Maintenance
Automating Test MaintenanceInflectra
 
TaraVault Overview Presentation (2021)
TaraVault Overview Presentation (2021)TaraVault Overview Presentation (2021)
TaraVault Overview Presentation (2021)Inflectra
 
What Can The Spira API Do For You?
 What Can The Spira API Do For You? What Can The Spira API Do For You?
What Can The Spira API Do For You?Inflectra
 
Spira Test Overview Presentation
Spira Test Overview PresentationSpira Test Overview Presentation
Spira Test Overview PresentationAdam Sandman
 
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...Inflectra
 
Testing a Complex ERP Application Using a Data-Driven Framework
Testing a Complex ERP Application Using a Data-Driven FrameworkTesting a Complex ERP Application Using a Data-Driven Framework
Testing a Complex ERP Application Using a Data-Driven FrameworkAdam Sandman
 
Inflectra 2017 Zürich User Summit
Inflectra 2017 Zürich User SummitInflectra 2017 Zürich User Summit
Inflectra 2017 Zürich User SummitAdam Sandman
 
SpiraTest Integrating with Jira Webinar
SpiraTest Integrating with Jira WebinarSpiraTest Integrating with Jira Webinar
SpiraTest Integrating with Jira WebinarAdam Sandman
 
Spira Team Overview Presentation
Spira Team Overview PresentationSpira Team Overview Presentation
Spira Team Overview PresentationAdam Sandman
 
Remote Launch Overview Presentation
Remote Launch Overview PresentationRemote Launch Overview Presentation
Remote Launch Overview PresentationAdam Sandman
 
Methodologies 3: Using Spira for Waterfall
Methodologies 3: Using Spira for WaterfallMethodologies 3: Using Spira for Waterfall
Methodologies 3: Using Spira for WaterfallInflectra
 
SpiraTest Overview Presentation (2019)
SpiraTest Overview Presentation (2019)SpiraTest Overview Presentation (2019)
SpiraTest Overview Presentation (2019)Inflectra
 
Using REST and UI Testing to Test Ajax Web Applications
Using REST and UI Testing to Test Ajax Web ApplicationsUsing REST and UI Testing to Test Ajax Web Applications
Using REST and UI Testing to Test Ajax Web ApplicationsAdam Sandman
 
Real Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps PresentationReal Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps PresentationAdam Sandman
 
From One Test To Test Framework With Rapise
From One Test To Test Framework With Rapise From One Test To Test Framework With Rapise
From One Test To Test Framework With Rapise Inflectra
 
Becoming an Inflectra Partner
Becoming an Inflectra PartnerBecoming an Inflectra Partner
Becoming an Inflectra PartnerAdam Sandman
 
Developer 1: Workflows And Code Management
Developer 1: Workflows And Code ManagementDeveloper 1: Workflows And Code Management
Developer 1: Workflows And Code ManagementInflectra
 
Inflectra 2017 Boston, MA, USA User Summit
Inflectra 2017 Boston, MA, USA User SummitInflectra 2017 Boston, MA, USA User Summit
Inflectra 2017 Boston, MA, USA User SummitAdam Sandman
 
SpiraTeam Overview Presentation (2021)
SpiraTeam Overview Presentation (2021)SpiraTeam Overview Presentation (2021)
SpiraTeam Overview Presentation (2021)Inflectra
 
KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)Inflectra
 

What's hot (20)

Automating Test Maintenance
Automating Test MaintenanceAutomating Test Maintenance
Automating Test Maintenance
 
TaraVault Overview Presentation (2021)
TaraVault Overview Presentation (2021)TaraVault Overview Presentation (2021)
TaraVault Overview Presentation (2021)
 
What Can The Spira API Do For You?
 What Can The Spira API Do For You? What Can The Spira API Do For You?
What Can The Spira API Do For You?
 
Spira Test Overview Presentation
Spira Test Overview PresentationSpira Test Overview Presentation
Spira Test Overview Presentation
 
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
 
Testing a Complex ERP Application Using a Data-Driven Framework
Testing a Complex ERP Application Using a Data-Driven FrameworkTesting a Complex ERP Application Using a Data-Driven Framework
Testing a Complex ERP Application Using a Data-Driven Framework
 
Inflectra 2017 Zürich User Summit
Inflectra 2017 Zürich User SummitInflectra 2017 Zürich User Summit
Inflectra 2017 Zürich User Summit
 
SpiraTest Integrating with Jira Webinar
SpiraTest Integrating with Jira WebinarSpiraTest Integrating with Jira Webinar
SpiraTest Integrating with Jira Webinar
 
Spira Team Overview Presentation
Spira Team Overview PresentationSpira Team Overview Presentation
Spira Team Overview Presentation
 
Remote Launch Overview Presentation
Remote Launch Overview PresentationRemote Launch Overview Presentation
Remote Launch Overview Presentation
 
Methodologies 3: Using Spira for Waterfall
Methodologies 3: Using Spira for WaterfallMethodologies 3: Using Spira for Waterfall
Methodologies 3: Using Spira for Waterfall
 
SpiraTest Overview Presentation (2019)
SpiraTest Overview Presentation (2019)SpiraTest Overview Presentation (2019)
SpiraTest Overview Presentation (2019)
 
Using REST and UI Testing to Test Ajax Web Applications
Using REST and UI Testing to Test Ajax Web ApplicationsUsing REST and UI Testing to Test Ajax Web Applications
Using REST and UI Testing to Test Ajax Web Applications
 
Real Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps PresentationReal Testing Scenario Strategy Practical TestOps Presentation
Real Testing Scenario Strategy Practical TestOps Presentation
 
From One Test To Test Framework With Rapise
From One Test To Test Framework With Rapise From One Test To Test Framework With Rapise
From One Test To Test Framework With Rapise
 
Becoming an Inflectra Partner
Becoming an Inflectra PartnerBecoming an Inflectra Partner
Becoming an Inflectra Partner
 
Developer 1: Workflows And Code Management
Developer 1: Workflows And Code ManagementDeveloper 1: Workflows And Code Management
Developer 1: Workflows And Code Management
 
Inflectra 2017 Boston, MA, USA User Summit
Inflectra 2017 Boston, MA, USA User SummitInflectra 2017 Boston, MA, USA User Summit
Inflectra 2017 Boston, MA, USA User Summit
 
SpiraTeam Overview Presentation (2021)
SpiraTeam Overview Presentation (2021)SpiraTeam Overview Presentation (2021)
SpiraTeam Overview Presentation (2021)
 
KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)
 

Similar to SQADAYS 21 Moscow 2017

Top Automated UI Testing Tools 2023.pdf
Top Automated UI Testing Tools 2023.pdfTop Automated UI Testing Tools 2023.pdf
Top Automated UI Testing Tools 2023.pdfpcloudy2
 
No More No Repro
No More No ReproNo More No Repro
No More No ReproAnna Russo
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Visual studio Team system 2012
Visual studio Team system 2012Visual studio Team system 2012
Visual studio Team system 2012kunnathust
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps Chetan Gordhan
 
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...Riccardo Coppola
 
Melbourne UG Presentation - UI Flow for Power Automate
Melbourne UG Presentation - UI Flow for Power AutomateMelbourne UG Presentation - UI Flow for Power Automate
Melbourne UG Presentation - UI Flow for Power AutomateAndre Margono
 
Basics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdfBasics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdfpcloudy2
 
A Test Automation Platform Designed for the Future
A Test Automation Platform Designed for the FutureA Test Automation Platform Designed for the Future
A Test Automation Platform Designed for the FutureApplitools
 
Unit Testing Essay
Unit Testing EssayUnit Testing Essay
Unit Testing EssayDani Cox
 
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityTriple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityApplitools
 
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...Anna Russo
 
Top Eight Automation Testing Challenges and How to overcome them.pdf
Top Eight Automation Testing Challenges and How to overcome them.pdfTop Eight Automation Testing Challenges and How to overcome them.pdf
Top Eight Automation Testing Challenges and How to overcome them.pdfpCloudy
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaEdureka!
 
Automated Fixing of Web UI Tests via Iterative Element Matching
Automated Fixing of Web UI Tests via Iterative Element MatchingAutomated Fixing of Web UI Tests via Iterative Element Matching
Automated Fixing of Web UI Tests via Iterative Element MatchingYuanzhangLin
 
Edit Event: Automated Fixing of Web UI Tests via Iterative Element Matching
Edit Event: Automated Fixing of Web UI Tests via Iterative Element MatchingEdit Event: Automated Fixing of Web UI Tests via Iterative Element Matching
Edit Event: Automated Fixing of Web UI Tests via Iterative Element MatchingYuanzhangLin
 

Similar to SQADAYS 21 Moscow 2017 (20)

ShainaResume
ShainaResumeShainaResume
ShainaResume
 
Top Automated UI Testing Tools 2023.pdf
Top Automated UI Testing Tools 2023.pdfTop Automated UI Testing Tools 2023.pdf
Top Automated UI Testing Tools 2023.pdf
 
No More No Repro
No More No ReproNo More No Repro
No More No Repro
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Visual studio Team system 2012
Visual studio Team system 2012Visual studio Team system 2012
Visual studio Team system 2012
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
 
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
 
A perspective on web testing
A perspective on web testingA perspective on web testing
A perspective on web testing
 
A perspective on web testing
A perspective on web testingA perspective on web testing
A perspective on web testing
 
Melbourne UG Presentation - UI Flow for Power Automate
Melbourne UG Presentation - UI Flow for Power AutomateMelbourne UG Presentation - UI Flow for Power Automate
Melbourne UG Presentation - UI Flow for Power Automate
 
Basics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdfBasics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdf
 
A Test Automation Platform Designed for the Future
A Test Automation Platform Designed for the FutureA Test Automation Platform Designed for the Future
A Test Automation Platform Designed for the Future
 
Unit Testing Essay
Unit Testing EssayUnit Testing Essay
Unit Testing Essay
 
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityTriple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
 
TLE2015_SPI_WATS
TLE2015_SPI_WATSTLE2015_SPI_WATS
TLE2015_SPI_WATS
 
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
 
Top Eight Automation Testing Challenges and How to overcome them.pdf
Top Eight Automation Testing Challenges and How to overcome them.pdfTop Eight Automation Testing Challenges and How to overcome them.pdf
Top Eight Automation Testing Challenges and How to overcome them.pdf
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | Edureka
 
Automated Fixing of Web UI Tests via Iterative Element Matching
Automated Fixing of Web UI Tests via Iterative Element MatchingAutomated Fixing of Web UI Tests via Iterative Element Matching
Automated Fixing of Web UI Tests via Iterative Element Matching
 
Edit Event: Automated Fixing of Web UI Tests via Iterative Element Matching
Edit Event: Automated Fixing of Web UI Tests via Iterative Element MatchingEdit Event: Automated Fixing of Web UI Tests via Iterative Element Matching
Edit Event: Automated Fixing of Web UI Tests via Iterative Element Matching
 

More from Adam Sandman

Rapise - Introduction to Powerful New Rapise 6.0
Rapise - Introduction to Powerful New Rapise 6.0Rapise - Introduction to Powerful New Rapise 6.0
Rapise - Introduction to Powerful New Rapise 6.0Adam Sandman
 
Alternatives to the Micro Focus QA Suite
Alternatives to the Micro Focus QA SuiteAlternatives to the Micro Focus QA Suite
Alternatives to the Micro Focus QA SuiteAdam Sandman
 
Codeless Test Automation - Myth or Magic
Codeless Test Automation - Myth or MagicCodeless Test Automation - Myth or Magic
Codeless Test Automation - Myth or MagicAdam Sandman
 
5 Principles to Managing Your Application Lifecycle with SpiraTeam
5 Principles to Managing Your Application Lifecycle with SpiraTeam5 Principles to Managing Your Application Lifecycle with SpiraTeam
5 Principles to Managing Your Application Lifecycle with SpiraTeamAdam Sandman
 
Agile Application Lifecycle Management (ALM) with Inflectra
Agile Application Lifecycle Management (ALM) with InflectraAgile Application Lifecycle Management (ALM) with Inflectra
Agile Application Lifecycle Management (ALM) with InflectraAdam Sandman
 
Ensuring Project Success with SpiraTeam and Rapise from Inflectra pta - short
Ensuring Project Success with SpiraTeam and Rapise from Inflectra   pta - shortEnsuring Project Success with SpiraTeam and Rapise from Inflectra   pta - short
Ensuring Project Success with SpiraTeam and Rapise from Inflectra pta - shortAdam Sandman
 
Inflectra User Summit in Mannheim, Germany
Inflectra User Summit in Mannheim, GermanyInflectra User Summit in Mannheim, Germany
Inflectra User Summit in Mannheim, GermanyAdam Sandman
 
Microsoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics AX- Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics AX- Robotic Process Automation (RPA) with RapiseAdam Sandman
 
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with RapiseAdam Sandman
 
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with RapiseAdam Sandman
 
SpiraTest adds Quality & Test Management to Jira
SpiraTest adds Quality & Test Management to JiraSpiraTest adds Quality & Test Management to Jira
SpiraTest adds Quality & Test Management to JiraAdam Sandman
 
Rapid Web UI Test Automation with Rapise
Rapid Web UI Test Automation with RapiseRapid Web UI Test Automation with Rapise
Rapid Web UI Test Automation with RapiseAdam Sandman
 
Real Testing Scenario Strategy - The Role of Exploratory Testing
Real Testing Scenario Strategy - The Role of Exploratory TestingReal Testing Scenario Strategy - The Role of Exploratory Testing
Real Testing Scenario Strategy - The Role of Exploratory TestingAdam Sandman
 
Real Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For SuccessReal Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For SuccessAdam Sandman
 
Agile in Software Testing - The Government Edition
Agile in Software Testing - The Government EditionAgile in Software Testing - The Government Edition
Agile in Software Testing - The Government EditionAdam Sandman
 
Software Development & Testing Challenges in Finance & Banking
Software Development & Testing Challenges in Finance & BankingSoftware Development & Testing Challenges in Finance & Banking
Software Development & Testing Challenges in Finance & BankingAdam Sandman
 
Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...
Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...
Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...Adam Sandman
 
Inflectra Enterprise Agile Planning Briefing for Gartner 2018
Inflectra Enterprise Agile Planning Briefing for Gartner 2018Inflectra Enterprise Agile Planning Briefing for Gartner 2018
Inflectra Enterprise Agile Planning Briefing for Gartner 2018Adam Sandman
 
Testing & Compliance Challenges for Healthcare in the Cloud
Testing & Compliance Challenges for Healthcare in the CloudTesting & Compliance Challenges for Healthcare in the Cloud
Testing & Compliance Challenges for Healthcare in the CloudAdam Sandman
 
Testing Microsoft Dynamics NAV with Rapise
Testing Microsoft Dynamics NAV with RapiseTesting Microsoft Dynamics NAV with Rapise
Testing Microsoft Dynamics NAV with RapiseAdam Sandman
 

More from Adam Sandman (20)

Rapise - Introduction to Powerful New Rapise 6.0
Rapise - Introduction to Powerful New Rapise 6.0Rapise - Introduction to Powerful New Rapise 6.0
Rapise - Introduction to Powerful New Rapise 6.0
 
Alternatives to the Micro Focus QA Suite
Alternatives to the Micro Focus QA SuiteAlternatives to the Micro Focus QA Suite
Alternatives to the Micro Focus QA Suite
 
Codeless Test Automation - Myth or Magic
Codeless Test Automation - Myth or MagicCodeless Test Automation - Myth or Magic
Codeless Test Automation - Myth or Magic
 
5 Principles to Managing Your Application Lifecycle with SpiraTeam
5 Principles to Managing Your Application Lifecycle with SpiraTeam5 Principles to Managing Your Application Lifecycle with SpiraTeam
5 Principles to Managing Your Application Lifecycle with SpiraTeam
 
Agile Application Lifecycle Management (ALM) with Inflectra
Agile Application Lifecycle Management (ALM) with InflectraAgile Application Lifecycle Management (ALM) with Inflectra
Agile Application Lifecycle Management (ALM) with Inflectra
 
Ensuring Project Success with SpiraTeam and Rapise from Inflectra pta - short
Ensuring Project Success with SpiraTeam and Rapise from Inflectra   pta - shortEnsuring Project Success with SpiraTeam and Rapise from Inflectra   pta - short
Ensuring Project Success with SpiraTeam and Rapise from Inflectra pta - short
 
Inflectra User Summit in Mannheim, Germany
Inflectra User Summit in Mannheim, GermanyInflectra User Summit in Mannheim, Germany
Inflectra User Summit in Mannheim, Germany
 
Microsoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics AX- Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
 
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
 
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
 
SpiraTest adds Quality & Test Management to Jira
SpiraTest adds Quality & Test Management to JiraSpiraTest adds Quality & Test Management to Jira
SpiraTest adds Quality & Test Management to Jira
 
Rapid Web UI Test Automation with Rapise
Rapid Web UI Test Automation with RapiseRapid Web UI Test Automation with Rapise
Rapid Web UI Test Automation with Rapise
 
Real Testing Scenario Strategy - The Role of Exploratory Testing
Real Testing Scenario Strategy - The Role of Exploratory TestingReal Testing Scenario Strategy - The Role of Exploratory Testing
Real Testing Scenario Strategy - The Role of Exploratory Testing
 
Real Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For SuccessReal Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For Success
 
Agile in Software Testing - The Government Edition
Agile in Software Testing - The Government EditionAgile in Software Testing - The Government Edition
Agile in Software Testing - The Government Edition
 
Software Development & Testing Challenges in Finance & Banking
Software Development & Testing Challenges in Finance & BankingSoftware Development & Testing Challenges in Finance & Banking
Software Development & Testing Challenges in Finance & Banking
 
Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...
Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...
Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...
 
Inflectra Enterprise Agile Planning Briefing for Gartner 2018
Inflectra Enterprise Agile Planning Briefing for Gartner 2018Inflectra Enterprise Agile Planning Briefing for Gartner 2018
Inflectra Enterprise Agile Planning Briefing for Gartner 2018
 
Testing & Compliance Challenges for Healthcare in the Cloud
Testing & Compliance Challenges for Healthcare in the CloudTesting & Compliance Challenges for Healthcare in the Cloud
Testing & Compliance Challenges for Healthcare in the Cloud
 
Testing Microsoft Dynamics NAV with Rapise
Testing Microsoft Dynamics NAV with RapiseTesting Microsoft Dynamics NAV with Rapise
Testing Microsoft Dynamics NAV with Rapise
 

Recently uploaded

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 

Recently uploaded (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 

SQADAYS 21 Moscow 2017

  • 1. Software quality assurance days XXI International Conference of Software Quality Assurance sqadays.com Moscow. May 26–27 , 2017 Denis Markovtsev Inflectra Corporation. Moscow, Russia Automated UI testing in uncontrollably improving environment
  • 2. 2Automated UI testing in uncontrollably improving environment tools for developers, testers and planners
  • 3. 3Automated UI testing in uncontrollably improving environment solution for automated UI testing Desktop. Web. Mobile.
  • 4. 4Automated UI testing in uncontrollably improving environment
  • 5. 5Automated UI testing in uncontrollably improving environment Real problem – share experience
  • 6. 6Automated UI testing in uncontrollably improving environment Real problem Demo example Why?
  • 7. 7Automated UI testing in uncontrollably improving environment Outlook plugin for Office 365
  • 8. 8Automated UI testing in uncontrollably improving environment Works in desktop Outlook and
  • 9. 9Automated UI testing in uncontrollably improving environment Why test UI? Is it unavoidable?
  • 10. 10Automated UI testing in uncontrollably improving environment Environment changes
  • 11. 11Automated UI testing in uncontrollably improving environment Plugin load error
  • 12. 12Automated UI testing in uncontrollably improving environment Plugin display issues
  • 13. 13Automated UI testing in uncontrollably improving environment Environment City Client Type Result Browser New York paid works Browser Hong Kong trial not working Outlook Moscow trial works Outlook London paid not working Depends on client type and geographical location
  • 14. 14Automated UI testing in uncontrollably improving environment Matrix controls us
  • 15. 15Automated UI testing in uncontrollably improving environment Environment is constantly improving and we can not control it
  • 16. 16Automated UI testing in uncontrollably improving environment Speed of reaction is important
  • 17. 17Automated UI testing in uncontrollably improving environment Automated UI tests are required
  • 18. 18Automated UI testing in uncontrollably improving environment
  • 19. 19Automated UI testing in uncontrollably improving environment Outlook plugin - web application, even on desktop
  • 20. 20Automated UI testing in uncontrollably improving environment //span[@class='badge ng-binding']
  • 21. 21Automated UI testing in uncontrollably improving environment Locators Desktop: embedded IE XPATH Browser: xpath_to_frame XPATH
  • 22. 22Automated UI testing in uncontrollably improving environment Same tests for Outlook and browsers
  • 23. 23Automated UI testing in uncontrollably improving environment Email upload Email client launch Authorization Email opening Plugin activation Test Finalization
  • 24. 24Automated UI testing in uncontrollably improving environment Microsoft Active Accessibility UI Automation Managed Java Access Bridge
  • 25. 25Automated UI testing in uncontrollably improving environment Few details
  • 26. 26Automated UI testing in uncontrollably improving environment SeS('Mail_Folders') .DoClickNode(userName + ";Inbox"); JavaScript Object Locators Properties Actions
  • 27. 27Automated UI testing in uncontrollably improving environment “No programming”
  • 28. 28Automated UI testing in uncontrollably improving environment Testing project results
  • 29. 29Automated UI testing in uncontrollably improving environment Other projects
  • 30. 30Automated UI testing in uncontrollably improving environment Regression test coverage
  • 31. 31Automated UI testing in uncontrollably improving environment Monitoring
  • 32. 32Automated UI testing in uncontrollably improving environment Single tool One language Unified approach Reporting
  • 33. 33Automated UI testing in uncontrollably improving environment Get Rapise https://www.inflectra.com/SQADAYS21.aspx GitHub https://github.com/Inflectra/office365-outlook- plugin-ui-testing Email denis@inflectra.com

Editor's Notes

  1. Good afternoon. Thank you for coming. My name is Denis. It happened that more than 15 years I am working on tools for developers and testers. At different times it were compilers, and IDEs, tools for load and functional UI testing.
  2. Now I work at Inflectra. Inflectra is one of leading vendors of ALM and functional testing solutions..
  3. At present moment I am focused on UI test automation. At Inflectra we develop Rapise – it is an IDE and execution environment for automated testing of web, desktop and mobile applications. The product has success on international markets, but until today was not presented in Russia. We think that it is time to close the gap and see the outcome.
  4. Demonstrating the tool is informative but a bit boring. For this purpose people invented webinars which you can listen relaxing in a comfortable chair.
  5. Therefore I’ll talk about a real problem that Rapise helped to solve. Experience that I want to share today is pretty universal and you can use it in other projects applying other tools, even free ones. We frequently help clients to solve complex tasks in testing process setup. As a rule our clients are not online stores or vendors of mass market software solutions. In many cases they are big companies using software to support their internal business processes. These are solutions for financial sector, ERP, healthcare, e.g. blood banks. As a rule such clients are pretty closed and do not hurry up to give access to their systems. And they have high standards for software quality. Frequently they ask for help because their software solutions are complex, implemented using different technologies, frameworks, programming languages and custom components. Therefore our work resembles remote surgery operations. It is really complex for several reasons.- Not always we can work with and see a live system. - We even do not know what metrics were achieved by a client in a testing project. In many cases it is a binary function: client satisfied, not satisfied. - Almost always we sign NDA which forbids us to disclose information about client and it’s application for demo purposes. Thus today I’ll speak about a real problem, but using a demo example which we prepared specially for this conference. This will enable you not only learn information but also put hands on demo example yourself. Our example consists of public application, testing tool and test sources. All of these can be downloaded, installed and executed.
  6. We frequently help clients to solve complex tasks in testing process setup. As a rule our clients are not online stores or vendors of mass market software solutions. In many cases they are big companies using software to support their internal business processes. These are solutions for financial sector, ERP, healthcare, e.g. blood banks. As a rule such clients are pretty closed and do not hurry up to give access to their systems. And they have high standards for software quality. Frequently they ask for help because their software solutions are complex, implemented using different technologies, frameworks, programming languages and custom components. Therefore our work resembles remote surgery operations. It is really complex for several reasons.- Not always we can work with and see a live system. - We even do not know what metrics were achieved by a client in a testing project. In many cases it is a binary function: client satisfied, not satisfied. - Almost always we sign NDA which forbids us to disclose information about client and it’s application for demo purposes. Thus today I’ll speak about a real problem, but using a demo example which we prepared specially for this conference. This will enable you not only learn information but also put hands on demo example yourself. Our example consists of public application, testing tool and test sources. All of these can be downloaded, installed and executed.
  7. Let’s return to the problem. We will test Outlook plugin for Office 365. Outlook is a mail client from Micrsoft, Office 365 is a cloud based version of Microsoft Office. The plugin is named TextMiner, it scans email body for signatures and automatically extracts information about name, address, job title, company name, etc.
  8. Outlook plugin is a web application that can work in a browser and in desktop version of Outlook on Windows and Mac.
  9. Why develop automated UI tests in this case? We are familiar with the test pyramid and know that this type of testing is the most complex and expensive. Is there a way to save resources? Is there an alternative? One can test backend with unit tests. Integration tests can throw email body into backend using CURL. This is simple. The question is what to do with the frontend, with user interface? Though user interface is pretty simple there is one “But”.
  10. The plugin works in external environment which may change any time. What worked a minute ago may just stop working. Consequences of unexpected and unpredicted updates from Microsoft side can be different. Let’s list a few of them.
  11. Developer’s nightmare – receive a bug report looking like: “nothing works”. The reason of this can be changed API or authorization and license checking mechanism.
  12. Plugin may be displayed incorrectly. Such situation may occur when default frame size is changed or because of issues with mailbox data access.
  13. Moreover such problems may depend on type of a client and it’s geographical location. Reasons of such behavior are hidden in cloud nature of such a service as Office 365. Different accounts are attached to different versions/builds of the application. Probably updates are applied to trial accounts first and in selected regions. For example users from Europe may experience issues with plugin loading and at the same time clients from North America may be just fine. Also accounts created at different times may be attached to different builds of Office 365 server side components.
  14. So we have conditions when we do not control situation 100%. We are in the cloud and it makes decisions for us. In the case of desktop applications we at least have an opportunity to follow update schedule of the operating system and timely check our application for compatibility on Virtual Machines with specific configuration. In a cloud we do not have an opportunity to control version of the software we are working with. Such situation is not always the case. For example, in commercial cloud systems supporting manufacturing and sales where software failure leads to tangible financial losses, vendors warn about updates beforehand and give a chance to adapt. Unfortunately Office 365 is not the case. Modern tendency to issue releases frequently makes situation even worse. Though all developers know situation when fixing a bug in one module leads to appearance of others in other parts of the system. Because other modules accounted for incorrect behavior of the module in hand.
  15. It is a paradox. Office 365 team makes a better system with each update, but it leads to problems for plugin vendors.
  16. Speed of reaction and ability to extinguish the fire is very important in such a case. And it is very desirable to detect a problem before users.
  17. Thus a minimal set of automated UI tests is required. It must check operability of the plugin in desktop versions of Outlook and different browsers. Also the test coverage must be executed constantly in monitoring mode, for different types of accounts (paid, trial), in different geographical zones, to detect problems as early as possible and react appropriately. The question to experts from the auditory. Would you develop automated UI tests in such a case? If not, what is the alternative? If yes, what tools would you use? [interactive session goes here, approximately 3-5 minutes]
  18. Our client decided to use Rapise. I will not show the source code of the tests and the tool in details. We just do not have time for this. At the end of the talk I’ll show how to get Rapise for free and download tests. To run the tests you will need Office 365 account (you can easily get a trial one) and install TextMiner into it.
  19. So, let’s proceed to the test coverage. I remind you that plugin is a web application, even in desktop version of Outlook it is loaded into embedded browser.
  20. Therefore UI element locator does not depend on the container. In all cases it is the same XPATH for a given element.
  21. To get UI element on desktop one needs to attach to embedded browser in Outlook (it is Internet Explorer on Windows), and then use XPATH locator. For a regular browser use XPATH of the frame, where the plugin is loaded, and then XPATH of the element. This enabled the customer to build the test system in such a way that test recorded for browser is suitable to run on desktop without any changes.
  22. This way the customer saved time and resources required for development and support of tests. Additional economy was achieved with ability to record user actions, locators are calculated automatically in this case (though some postprocessing may be required).
  23. Just a few auxiliary functions were implemented separately for desktop and browsers. For example, navigation to a particular email in a mailbox. Email loading into the system was implemented using SOAP client built into Rapise.
  24. One of solved tasks was automation of Outlook for Windows. That part of it one use to open an email in a mailbox and launch the plugin. Windows offers several technologies to automate testing of desktop applications. It is Microsoft Active Accessibility. Technology available on Windows since the end of last century. It was invented to help people with disabilities to use computer. - UI Automation – successor of MSAA, but developed with the idea of automated testing in mind. Maximum freedom is achieved when testing .NET (managed) applications. In this case it is possible to inject into application process and get access to all UI objects and classes. Java Access Bridge – component from Oracle, that makes possible Java testing on Windows. Rapise supports all of the listed technologies. So we had a choice. Outlook is not a Java or .NET application, so the choice was obvious – use UI Automation.
  25. Now a few details for those who want to try the demo framework or figure out how the tool is implemented.
  26. Rapise works with objects. Objects have locators, properties and actions. Locators are used for automatic search for elements in an application. Properties and actions allow a tester to ignore low level details and get necessary information about an object. For example, it’s coordinates, text, screenshot. Or interact with an object: expand a node in a tree, choose an item in a list, push a button or enter a text. This approach is implemented for all types of applications: desktop, mobile and web. In the slide heading you see the code generated by Rapise during test recording. The only thing done manually is parameterization of email address. Here ‘Mail_Folders’ – object identifier, locator is bound to it and stored separately. Type of the object is Tree so it has DoClickNode action – it makes possible to click on a specific node in a tree given node path..
  27. Frequently clients ask that they could use non-programmers for creation and modification of tests. It happens for several reasons. It can be people coming from manual testing. Or analytics, managers, who are experts in a domain (e.g. launching atmospheric probes) but do not write code. In such cases the team may consist of testers-programmers who deal with locators, user action emulation (for them software is mostly a set of forms and elements) and people who implement test cases and work at a higher level of abstraction. For testers of second type Rapise offers capability to create tests using spreadsheets. Examples of such spreadsheets you see on the screen. The first example is calling a scenario (MyLogin) implemented by a programmer. The second example is filling a form (registering a new book in a library).
  28. It is always interesting to learn from testing project results. Was it possible to reach goals or use gained experience in other projects? So, most significant results from the real project. Not prioritized by importance.
  29. Analogous to described approach was applied to other applications. A client tested ERP system Dynamics AX. It is a desktop application. Big set of building blocks. One of the blocks was embedded browser – Chromium Embedded Framework. We managed to attach to it as a real Chrome browser and testers worked with its contents as web application, using XPATH.
  30. Additional benefit. The test coverage, created by the customer, is used for regression testing. This way testers got kudos from developers.
  31. I think it is the main result. With the help of developed test coverage it became possible to monitor plugin operability. It was fruitful and allowed to catch a series of issues related to updates from Microsoft side. Also the customer caught some patterns in external environment behavior. It enabled customer support service to better interact with users. Example of a pattern – temporary glitches – sometimes plugin activation button just disappear and users can not launch it.
  32. The test coverage is implemented using single tool. All code of the tests is written in JavaScript. The language which is widespread and well-known. Unified approach is used to work with UI elements on desktop and in browsers.. Configured constant execution of tests, gathering and analysis of telemetry, report building. Such test coverage is easy to support and enhance. Even if tester team is replaced In general there are a lot of ways to reach the final goal. In this testing project our customer could apply other tools. The difference is how fast and qualitatively they could achieve desired result. We consider that Rapise did well in the project. Additional argument played for Rapise was that it is a part of a product family including tools for test planning and remote execution, bug and requirements management. This brought additional benefits to the project. Anyway which tool to use – is your choice.
  33. Thank you for attention. As I promised here is the link to the page where you can get Rapise for free. The link will be active for two weeks. And link to GitHub repository with demo framework source code. If you want to write me directly – use the email.We still have time for questions and answers. Please go ahead.