SlideShare una empresa de Scribd logo
1 de 26
Issued commercial in confidence © Kainos Evolve Limited 2016 – no reproduction without prior consent.
UI Tests Automation
Framework
In Evolve EDM
Mateusz Radkiewicz
12.2016
Electronic Medical Records
• Electronic Documents Management
• Evolve for IPad
Integrated Care Platform
• Unified Healthcare Interface
Healthcare Applications
• iOS and Web
Kainos Evolve
Electronic Medical
Records
Test Automation in Evolve
Integrated Care
Platform
Apps
Evolve Electronic Documents Management
Evolve EDM Testing Process
Sprint 1
System Tests
Cycle 1
Sprint 2 Sprint 3 Sprint ...
• In Sprint Manual Tests
• Daily Automated
Sanity
• Automated Sanity
• Manual Regression
• New Features Manual
Tests
• Performance Tests
System Tests
Cycle 2
System Tests
Cycle ...
Release
Jenkins
Tools and Tech Stack
• Build Server
TestRail
• Test Case
Management
• Suites / Runs
Jira
• Bugtracker
• SCRUM/Kanban
boards
C#, NUnit, GitHub, Visual Studio
1. Build and install Evolve
2. Setup environment and data for tests
3. Execute Pretests
4. Execute Sanity tests, send results to TestRail
5. Send summary e-mail to the team
6. Execute Quarantined tests, send results to TestRail
Nightly Build Pipeline
Test Results Analysis – Summary E-mails
Test Results Analysis – TestRail
Test Results Analysis – Jenkins
Parsed Console Output, Test Results Analyzer
• Rerun failed test on Jenkins
• Reproduce failure manually
• Rerun failed test locally from IDE
Test Failures Debugging
UI Tests Framework Structure
Test
Delegate
Flow
Page
Component
UI Framework
• Counterpart for
manual test case
• Clear, contains
descriptive names
and not store any
test data
• Chained methods
represent related
test steps from
TestRail
Test Class
• Contains test data and
test logic
• Delegate to Test ratio is
1:1
• Is calling several Page
Objects and Flows
• Contains assertions
• On() method for pages
syncronization
Delegate Class
• Representation of a
web page/view
• Methods are operating
on web page elements
• Can use components -
complex elements
reusable on several
pages
• No assertions
• IsLoaded() method
Page Class
• Complex reusable web element
e.g.
• DashboardPanel
• Table
• DropDown
• Checkbox
• Root property
• IsLoaded() method
Component Class
• Common workflow
which is used in many
delegates
• Interacts with many
pages and flows
Flow Class
• Design patterns: Page Objects, Loadable Components
• Self-contained tests, no tests dependencies
• Each test starts at known application state
• Test data cleanup, unique tests data generation
• Possibility to rerun tests several times on the same DB
• Rerun failed test within the same test run
• Quarantine tests category
• Constant maintenance (fixes and enhancements)
Tests Stability
„Upgraded” methods
Dynamic waits
WebElement
reinitialization
Tests Stability – Selenium Wrappers (UiElement,
UiDriver etc.)
• Flexible Jenkins builds (single, categories, environments,
projects)
• TestRail integration
• Screenshots and HTML source capturing on failure
• Automatic failure reruns
• Automatic notification e-mails
• Backend features (HL7, EDC, DB)
• Environments details service
• Multiple applications (Evolve, Admin, Meridio, Iguana, QMS)
Noteworthy Framework Features
Library used: https://testapi.codeplex.com
Smart Visual Verification for specific cases (e.g. Atala
viewer)
Smart Visual Verification for specific cases (e.g. Atala
viewer)
Firefox:
Internet Explorer:
Seamless
Browser
Switching Within
One Test
AutoIT for Handling OS Windows
DEMO
Issued commercial in confidence © Kainos Evolve Limited 2016 – no reproduction without prior consent.
Thank you
Mateusz Radkiewicz

Más contenido relacionado

La actualidad más candente

Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)Mehdi Khalili
 
UI Testing Automation - Alex Kalinovsky - CreamTec LLC
UI Testing Automation - Alex Kalinovsky - CreamTec LLCUI Testing Automation - Alex Kalinovsky - CreamTec LLC
UI Testing Automation - Alex Kalinovsky - CreamTec LLCJim Lane
 
Automated Web Testing using JavaScript
Automated Web Testing using JavaScriptAutomated Web Testing using JavaScript
Automated Web Testing using JavaScriptSimon Guest
 
Protractor Tutorial Quality in Agile 2015
Protractor Tutorial Quality in Agile 2015Protractor Tutorial Quality in Agile 2015
Protractor Tutorial Quality in Agile 2015Andrew Eisenberg
 
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...TestingAR Meetup
 
#2 integration + ui tests
#2 integration + ui tests#2 integration + ui tests
#2 integration + ui testseleksdev
 
AngularJS and Protractor
AngularJS and ProtractorAngularJS and Protractor
AngularJS and ProtractorFilipe Falcão
 
Protractor for angularJS
Protractor for angularJSProtractor for angularJS
Protractor for angularJSKrishna Kumar
 
Angular UI Testing with Protractor
Angular UI Testing with ProtractorAngular UI Testing with Protractor
Angular UI Testing with ProtractorAndrew Eisenberg
 
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...Applitools
 
Introduction to Protractor
Introduction to ProtractorIntroduction to Protractor
Introduction to ProtractorFlorian Fesseler
 
An Introduction to AngularJS End to End Testing using Protractor
An Introduction to AngularJS End to End Testing using ProtractorAn Introduction to AngularJS End to End Testing using Protractor
An Introduction to AngularJS End to End Testing using ProtractorCubet Techno Labs
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecturerohitnayak
 
Automation Frame works Instruction Sheet
Automation Frame works Instruction SheetAutomation Frame works Instruction Sheet
Automation Frame works Instruction SheetvodQA
 
Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.pptAna Sarbescu
 
Automated Smoke Tests with Protractor
Automated Smoke Tests with ProtractorAutomated Smoke Tests with Protractor
Automated Smoke Tests with Protractor🌱 Dale Spoonemore
 
Automated UI testing with Selenium
Automated UI testing with SeleniumAutomated UI testing with Selenium
Automated UI testing with SeleniumYuriy Gerasimov
 

La actualidad más candente (20)

Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)
 
UI Testing Automation - Alex Kalinovsky - CreamTec LLC
UI Testing Automation - Alex Kalinovsky - CreamTec LLCUI Testing Automation - Alex Kalinovsky - CreamTec LLC
UI Testing Automation - Alex Kalinovsky - CreamTec LLC
 
Automated Web Testing using JavaScript
Automated Web Testing using JavaScriptAutomated Web Testing using JavaScript
Automated Web Testing using JavaScript
 
Protractor Tutorial Quality in Agile 2015
Protractor Tutorial Quality in Agile 2015Protractor Tutorial Quality in Agile 2015
Protractor Tutorial Quality in Agile 2015
 
Protractor: Tips & Tricks
Protractor: Tips & TricksProtractor: Tips & Tricks
Protractor: Tips & Tricks
 
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...
 
#2 integration + ui tests
#2 integration + ui tests#2 integration + ui tests
#2 integration + ui tests
 
AngularJS and Protractor
AngularJS and ProtractorAngularJS and Protractor
AngularJS and Protractor
 
Protractor for angularJS
Protractor for angularJSProtractor for angularJS
Protractor for angularJS
 
Protractor overview
Protractor overviewProtractor overview
Protractor overview
 
Angular UI Testing with Protractor
Angular UI Testing with ProtractorAngular UI Testing with Protractor
Angular UI Testing with Protractor
 
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
Mastering UI automation at Scale: Key Lessons and Best Practices (By Fernando...
 
Introduction to Protractor
Introduction to ProtractorIntroduction to Protractor
Introduction to Protractor
 
Protractor survival guide
Protractor survival guideProtractor survival guide
Protractor survival guide
 
An Introduction to AngularJS End to End Testing using Protractor
An Introduction to AngularJS End to End Testing using ProtractorAn Introduction to AngularJS End to End Testing using Protractor
An Introduction to AngularJS End to End Testing using Protractor
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecture
 
Automation Frame works Instruction Sheet
Automation Frame works Instruction SheetAutomation Frame works Instruction Sheet
Automation Frame works Instruction Sheet
 
Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.ppt
 
Automated Smoke Tests with Protractor
Automated Smoke Tests with ProtractorAutomated Smoke Tests with Protractor
Automated Smoke Tests with Protractor
 
Automated UI testing with Selenium
Automated UI testing with SeleniumAutomated UI testing with Selenium
Automated UI testing with Selenium
 

Destacado

TGT#12 - Używasz systemów kontroli wersji? No to Git. - Szymon Rękawek
TGT#12 - Używasz systemów kontroli wersji? No to Git. - Szymon RękawekTGT#12 - Używasz systemów kontroli wersji? No to Git. - Szymon Rękawek
TGT#12 - Używasz systemów kontroli wersji? No to Git. - Szymon RękawekTrójmiejska Grupa Testerska
 
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...Trójmiejska Grupa Testerska
 
Jak POPRAWNIE zgłaszać błędy
Jak POPRAWNIE zgłaszać błędyJak POPRAWNIE zgłaszać błędy
Jak POPRAWNIE zgłaszać błędyDamian Szczurek
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...Trójmiejska Grupa Testerska
 
The Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The FutureThe Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The FutureArturo Pelayo
 
Creative Traction Methodology - For Early Stage Startups
Creative Traction Methodology - For Early Stage StartupsCreative Traction Methodology - For Early Stage Startups
Creative Traction Methodology - For Early Stage StartupsTommaso Di Bartolo
 

Destacado (7)

Olga Żądło - Robot Framework
Olga Żądło - Robot FrameworkOlga Żądło - Robot Framework
Olga Żądło - Robot Framework
 
TGT#12 - Używasz systemów kontroli wersji? No to Git. - Szymon Rękawek
TGT#12 - Używasz systemów kontroli wersji? No to Git. - Szymon RękawekTGT#12 - Używasz systemów kontroli wersji? No to Git. - Szymon Rękawek
TGT#12 - Używasz systemów kontroli wersji? No to Git. - Szymon Rękawek
 
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
 
Jak POPRAWNIE zgłaszać błędy
Jak POPRAWNIE zgłaszać błędyJak POPRAWNIE zgłaszać błędy
Jak POPRAWNIE zgłaszać błędy
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
 
The Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The FutureThe Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The Future
 
Creative Traction Methodology - For Early Stage Startups
Creative Traction Methodology - For Early Stage StartupsCreative Traction Methodology - For Early Stage Startups
Creative Traction Methodology - For Early Stage Startups
 

Similar a TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz Radkiewicz

Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsTest Automaton
 
Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US gbaravindkumar
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing ProcessSynerzip
 
Visual Studio 2010 for testers
Visual Studio 2010 for testersVisual Studio 2010 for testers
Visual Studio 2010 for testersArpit Dubey
 
Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testingsthicks14
 
#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation Framework#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation FrameworkAgile Testing Alliance
 
Structured Functional Automated Web Service Testing
Structured Functional Automated Web Service TestingStructured Functional Automated Web Service Testing
Structured Functional Automated Web Service Testingrdekleijn
 
Srinivasa_Jonnalagadda_Resume
Srinivasa_Jonnalagadda_ResumeSrinivasa_Jonnalagadda_Resume
Srinivasa_Jonnalagadda_ResumeSrinivasa Pavan
 
Presentation application server diagnostics
Presentation   application server diagnosticsPresentation   application server diagnostics
Presentation application server diagnosticsxKinAnx
 

Similar a TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz Radkiewicz (20)

Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US
 
33rd degree
33rd degree33rd degree
33rd degree
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
 
Selva_Selenium
Selva_SeleniumSelva_Selenium
Selva_Selenium
 
Visual Studio 2010 for testers
Visual Studio 2010 for testersVisual Studio 2010 for testers
Visual Studio 2010 for testers
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
 
QualiSystems-Brief TestShell
QualiSystems-Brief TestShellQualiSystems-Brief TestShell
QualiSystems-Brief TestShell
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation Framework#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation Framework
 
Structured Functional Automated Web Service Testing
Structured Functional Automated Web Service TestingStructured Functional Automated Web Service Testing
Structured Functional Automated Web Service Testing
 
Srinivasa_Jonnalagadda_Resume
Srinivasa_Jonnalagadda_ResumeSrinivasa_Jonnalagadda_Resume
Srinivasa_Jonnalagadda_Resume
 
Automated Testing in DevOps
Automated Testing in DevOpsAutomated Testing in DevOps
Automated Testing in DevOps
 
Presentation application server diagnostics
Presentation   application server diagnosticsPresentation   application server diagnostics
Presentation application server diagnostics
 
Khushboo_Resume
Khushboo_ResumeKhushboo_Resume
Khushboo_Resume
 
Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 

Más de Trójmiejska Grupa Testerska

TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław SmilginTGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław SmilginTrójmiejska Grupa Testerska
 
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal RabczukTGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal RabczukTrójmiejska Grupa Testerska
 
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper KulikowskiTGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper KulikowskiTrójmiejska Grupa Testerska
 
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub RaniszewskiTGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub RaniszewskiTrójmiejska Grupa Testerska
 
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia SzarlejTGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia SzarlejTrójmiejska Grupa Testerska
 
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin KubeckiTGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin KubeckiTrójmiejska Grupa Testerska
 
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...Trójmiejska Grupa Testerska
 
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...Trójmiejska Grupa Testerska
 
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar MozołaTGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar MozołaTrójmiejska Grupa Testerska
 
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka GarwolińskaTGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka GarwolińskaTrójmiejska Grupa Testerska
 
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)Trójmiejska Grupa Testerska
 
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...Trójmiejska Grupa Testerska
 
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...Trójmiejska Grupa Testerska
 
TGT#12 - Testowanie gier – praca czy zabawa? - Piotr Januszko
TGT#12 - Testowanie gier – praca czy zabawa? - Piotr JanuszkoTGT#12 - Testowanie gier – praca czy zabawa? - Piotr Januszko
TGT#12 - Testowanie gier – praca czy zabawa? - Piotr JanuszkoTrójmiejska Grupa Testerska
 
TGT#11 - Zostały Ci jeszcze jakieś włosy? (Testowanie programów równoległych)...
TGT#11 - Zostały Ci jeszcze jakieś włosy? (Testowanie programów równoległych)...TGT#11 - Zostały Ci jeszcze jakieś włosy? (Testowanie programów równoległych)...
TGT#11 - Zostały Ci jeszcze jakieś włosy? (Testowanie programów równoległych)...Trójmiejska Grupa Testerska
 

Más de Trójmiejska Grupa Testerska (20)

Rafal prezentacja testowanie ai
Rafal prezentacja testowanie aiRafal prezentacja testowanie ai
Rafal prezentacja testowanie ai
 
Tgt 23 przemyslaw_pradzynski
Tgt 23 przemyslaw_pradzynskiTgt 23 przemyslaw_pradzynski
Tgt 23 przemyslaw_pradzynski
 
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław SmilginTGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
 
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal RabczukTGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
 
TGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert CharewiczTGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert Charewicz
 
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper KulikowskiTGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
 
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#20 - TGT in Numbers - Mateusz RadkiewiczTGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
 
TGT#19 - 3 seconds or less - Piotr Liss
TGT#19 - 3 seconds or less - Piotr LissTGT#19 - 3 seconds or less - Piotr Liss
TGT#19 - 3 seconds or less - Piotr Liss
 
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub RaniszewskiTGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
 
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia SzarlejTGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
 
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin KubeckiTGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
 
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
 
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
 
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar MozołaTGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
 
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka GarwolińskaTGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
 
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
 
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
 
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
 
TGT#12 - Testowanie gier – praca czy zabawa? - Piotr Januszko
TGT#12 - Testowanie gier – praca czy zabawa? - Piotr JanuszkoTGT#12 - Testowanie gier – praca czy zabawa? - Piotr Januszko
TGT#12 - Testowanie gier – praca czy zabawa? - Piotr Januszko
 
TGT#11 - Zostały Ci jeszcze jakieś włosy? (Testowanie programów równoległych)...
TGT#11 - Zostały Ci jeszcze jakieś włosy? (Testowanie programów równoległych)...TGT#11 - Zostały Ci jeszcze jakieś włosy? (Testowanie programów równoległych)...
TGT#11 - Zostały Ci jeszcze jakieś włosy? (Testowanie programów równoległych)...
 

Último

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
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
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
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
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
(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
 
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
 
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.
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
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.
 

Último (20)

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
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...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
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
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
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...
 
(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...
 
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...
 
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 ...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
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...
 

TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz Radkiewicz

  • 1. Issued commercial in confidence © Kainos Evolve Limited 2016 – no reproduction without prior consent. UI Tests Automation Framework In Evolve EDM Mateusz Radkiewicz 12.2016
  • 2. Electronic Medical Records • Electronic Documents Management • Evolve for IPad Integrated Care Platform • Unified Healthcare Interface Healthcare Applications • iOS and Web Kainos Evolve
  • 3. Electronic Medical Records Test Automation in Evolve Integrated Care Platform Apps
  • 5. Evolve EDM Testing Process Sprint 1 System Tests Cycle 1 Sprint 2 Sprint 3 Sprint ... • In Sprint Manual Tests • Daily Automated Sanity • Automated Sanity • Manual Regression • New Features Manual Tests • Performance Tests System Tests Cycle 2 System Tests Cycle ... Release
  • 6. Jenkins Tools and Tech Stack • Build Server TestRail • Test Case Management • Suites / Runs Jira • Bugtracker • SCRUM/Kanban boards C#, NUnit, GitHub, Visual Studio
  • 7. 1. Build and install Evolve 2. Setup environment and data for tests 3. Execute Pretests 4. Execute Sanity tests, send results to TestRail 5. Send summary e-mail to the team 6. Execute Quarantined tests, send results to TestRail Nightly Build Pipeline
  • 8. Test Results Analysis – Summary E-mails
  • 9. Test Results Analysis – TestRail
  • 10. Test Results Analysis – Jenkins Parsed Console Output, Test Results Analyzer
  • 11. • Rerun failed test on Jenkins • Reproduce failure manually • Rerun failed test locally from IDE Test Failures Debugging
  • 12. UI Tests Framework Structure Test Delegate Flow Page Component UI Framework
  • 13. • Counterpart for manual test case • Clear, contains descriptive names and not store any test data • Chained methods represent related test steps from TestRail Test Class
  • 14. • Contains test data and test logic • Delegate to Test ratio is 1:1 • Is calling several Page Objects and Flows • Contains assertions • On() method for pages syncronization Delegate Class
  • 15. • Representation of a web page/view • Methods are operating on web page elements • Can use components - complex elements reusable on several pages • No assertions • IsLoaded() method Page Class
  • 16. • Complex reusable web element e.g. • DashboardPanel • Table • DropDown • Checkbox • Root property • IsLoaded() method Component Class
  • 17. • Common workflow which is used in many delegates • Interacts with many pages and flows Flow Class
  • 18. • Design patterns: Page Objects, Loadable Components • Self-contained tests, no tests dependencies • Each test starts at known application state • Test data cleanup, unique tests data generation • Possibility to rerun tests several times on the same DB • Rerun failed test within the same test run • Quarantine tests category • Constant maintenance (fixes and enhancements) Tests Stability
  • 19. „Upgraded” methods Dynamic waits WebElement reinitialization Tests Stability – Selenium Wrappers (UiElement, UiDriver etc.)
  • 20. • Flexible Jenkins builds (single, categories, environments, projects) • TestRail integration • Screenshots and HTML source capturing on failure • Automatic failure reruns • Automatic notification e-mails • Backend features (HL7, EDC, DB) • Environments details service • Multiple applications (Evolve, Admin, Meridio, Iguana, QMS) Noteworthy Framework Features
  • 21. Library used: https://testapi.codeplex.com Smart Visual Verification for specific cases (e.g. Atala viewer)
  • 22. Smart Visual Verification for specific cases (e.g. Atala viewer)
  • 24. AutoIT for Handling OS Windows
  • 25. DEMO
  • 26. Issued commercial in confidence © Kainos Evolve Limited 2016 – no reproduction without prior consent. Thank you Mateusz Radkiewicz