SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
TESTAR	
  
Test	
  Automa.on	
  at	
  the	
  useR	
  Interface	
  level	
  
estT *
Tanja E.J. Vos
UNIVERSIDAD POLITECNICA DE VALENCIA
DEPARTMENTO DE SISTEMAS INFORMÁTICOS Y COMPUTACIÓN
Centro PROS
Tes$ng	
  at	
  the	
  UI	
  Level	
  
•  UI	
  is	
  where	
  all	
  func$onality	
  comes	
  together	
  
–  Integra$on	
  /	
  System	
  Tes$ng	
  
•  Most	
  applica$ons	
  have	
  UIs	
  
–  Computers,	
  tables,	
  smartphones….	
  
•  Faults	
  that	
  arise	
  at	
  UI	
  level	
  are	
  important	
  
–  These	
  are	
  what	
  your	
  client	
  finds	
  -­‐>	
  test	
  from	
  their	
  perspec$ve!	
  
•  No	
  need	
  for	
  source	
  code	
  
–  But	
  if	
  we	
  have	
  it	
  even	
  beJer	
  ;-­‐)	
  
State	
  of	
  the	
  art	
  in	
  UI	
  tes$ng	
  
•  Capture	
  Replay	
  
–  The	
  tool	
  captures	
  user	
  interac$on	
  with	
  the	
  UI	
  and	
  records	
  a	
  script	
  that	
  
can	
  be	
  automa$cally	
  replayed	
  during	
  regression	
  tes$ng	
  
–  UI	
  change	
  (at	
  development	
  $me	
  &	
  at	
  run	
  $me)	
  
–  Automated	
  regression	
  tests	
  break	
  
–  Huge	
  maintenance	
  problem	
  
	
  
•  Visual	
  Tes$ng	
  
	
  
•  Model-­‐based	
  Tes$ng	
  
State	
  of	
  the	
  art	
  in	
  UI	
  tes$ng	
  
•  Capture	
  Replay	
  
•  Visual	
  tes.ng	
  
–  Based	
  on	
  image	
  recogni$on	
  
–  Easy	
  to	
  understand,	
  no	
  programming	
  skills	
  needed	
  
–  Solves	
  most	
  of	
  maintenance	
  problem	
  
–  Introduces	
  addi$onal	
  problems:	
  
•  Performance	
  of	
  image	
  processing	
  	
  
•  False	
  posi$ves	
  and	
  false	
  nega$ves	
  
–  the	
  ambiguity	
  associated	
  with	
  image	
  locators	
  	
  
–  imprecision	
  of	
  image	
  recogni$on	
  feeds	
  into	
  oracles	
  
	
  
•  Model-­‐based	
  Tes$ng	
  
State	
  of	
  the	
  art	
  in	
  UI	
  tes$ng	
  
•  Capture	
  Replay	
  
•  Visual	
  tes$ng	
  
	
  
•  Model-­‐based	
  tes.ng	
  -­‐-­‐	
  TESTAR	
  	
  
–  Based	
  on	
  automa$cally	
  inferred	
  tree	
  model	
  of	
  the	
  UI	
  
–  Tests	
  sequences	
  are	
  derived	
  automa$cally	
  from	
  the	
  model	
  
–  Executed	
  sequences	
  can	
  be	
  replayed	
  
–  If	
  UI	
  changes	
  so	
  does	
  the	
  model/tests	
  -­‐>	
  no	
  maintenance	
  of	
  the	
  tests	
  
–  Programming	
  skills	
  are	
  needed	
  to	
  define	
  powerful	
  oracles	
  
•  It	
  needs	
  to	
  be	
  inves$gated	
  if	
  this	
  is	
  really	
  problem….	
  
type: TButton
...
rect: [15, 25, 65, 55]
hasFocus: true
enabled: false
title: "Button"
Window
Button Text SliderMenu
MI MI MI MI
type: TMenuItem
...
title: "File"
ABC
type: TButton
...
rect: [15, 25, 65, 55]
hasFocus: true
enabled: false
title: "Button"
MI MI MI MI
type: TMenuItem
...
title: "File"
ABC
estT *
START
SUT
SCAN GUI + OBTAIN
WIDGET TREE
DESIRED
LENGTH?
Domain Experts
DERIVE SET OF
USER ACTIONS
SELECT
PROMISING
ACTION
EXECUTE
ACTION
DETERMINE
SEQUENCE
FITNESS
No
Yes
Action
Definitions
Oracle
STOP SUT
SUT
OPTIONAL
INSTRUMENTATION
LEARN
PROMISING
ACTIONS
promising
Actions
Replayable
Erroneous Sequences
ORACLE
FOUND
POSSIBLE
FAULT
Yes
No
estT *
TESTAR	
  tool	
  
READY	
  
7	
  
Set	
  path	
  the	
  SUT	
  
estT *
TESTAR	
  tool	
  
SET	
  
8	
  
Filter:	
  
	
  
1)	
  undesirable	
  ac$ons,	
  	
  
i.e.	
  closing	
  the	
  applica$on	
  	
  
al	
  the	
  $me	
  
	
  
	
  
2)	
  Undesirable	
  processes,	
  for	
  
example	
  help	
  panes	
  in	
  
acrobat,	
  etc…….	
  
estT *
9	
  
GO!	
  
Automated	
  random	
  tes$ng	
  at	
  the	
  UI	
  level	
  
Oracles	
  for	
  free	
  
•  What	
  can	
  we	
  easily	
  detect?	
  
•  Crashes	
  
	
  
	
  
	
  
	
  
	
  
•  Program	
  freezes	
  
Cheap	
  Oracles	
  
•  Cri$cal	
  message	
  boxes	
  
	
  
	
  
•  Suspicious	
  stdout	
  /	
  stderr	
  
	
  
	
  
	
  
•  Solu$on:	
  Regular	
  Expressions:	
  
.*NullPointerExcep$on	
  
	
  	
  	
  	
  	
  .*|[Ee]rror|[Pp]roblem	
  
More	
  sophis$ca$on	
  needs	
  work	
  
•  Ac$ons	
  
–  Ac$on	
  detec$on	
  
–  Ac$on	
  selec$on	
  
–  Some$mes	
  a	
  trial/error	
  process	
  
•  Random	
  selec$on	
  =	
  like	
  a	
  child,	
  just	
  much	
  faster	
  
•  Prin$ng,	
  file	
  copying	
  /	
  moving	
  /	
  dele$ng	
  
•  Starts	
  other	
  Processes	
  
•  Sandboxing,	
  rights	
  management,	
  dedicated	
  user	
  accounts,	
  disallow	
  ac$ons	
  
•  Oracles	
  that	
  need	
  programming	
  
Already	
  some	
  empirical	
  evidence	
  	
  
that	
  it	
  works!	
  
•  Lab	
  experiments	
  on	
  real	
  Microsog	
  applica$ons	
  have	
  shown	
  
that	
  the	
  technique	
  is	
  scalable,	
  effec$ve	
  and	
  efficient	
  
•  Using	
  the	
  tool	
  in	
  prac$cal	
  classes	
  for	
  last	
  year	
  computer	
  
science	
  students	
  has	
  shown	
  that	
  it	
  is	
  not	
  hard	
  to	
  learn	
  to	
  
operate	
  the	
  tool	
  
•  3	
  industrial	
  case	
  studies	
  have	
  shown	
  that	
  real	
  errors	
  can	
  be	
  
found	
  in	
  an	
  efficient	
  way	
  
•  Tanja	
  E.	
  J.	
  Vos	
  
•  email:	
  tvos@pros.upv.es	
  
•  skype:	
  tanja_vos	
  
•  web:	
  hJp://www.pros.upv.es/testar	
  
•  telephone:	
  +34	
  690	
  917	
  971	
  	
  
	
  
Do	
  you	
  want	
  to	
  try?	
  

Weitere ähnliche Inhalte

Ähnlich wie Testar

AbarnaJoseBattan_Resume
AbarnaJoseBattan_ResumeAbarnaJoseBattan_Resume
AbarnaJoseBattan_ResumeAparna Battan
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introductionTaymoor Nazmy
 
SVCC 2011 - 0 - 60: QA Automation @ Box
SVCC 2011 - 0 - 60: QA Automation @ BoxSVCC 2011 - 0 - 60: QA Automation @ Box
SVCC 2011 - 0 - 60: QA Automation @ BoxPeter White
 
Building an Open Source AppSec Pipeline
Building an Open Source AppSec PipelineBuilding an Open Source AppSec Pipeline
Building an Open Source AppSec PipelineMatt Tesauro
 
Software Engineering an Introduction
Software Engineering an IntroductionSoftware Engineering an Introduction
Software Engineering an IntroductionAjit Nayak
 
Browser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsBrowser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsLuís Bastião Silva
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lessonSadaaki Emura
 
Software Defects and SW Reliability Assessment
Software Defects and SW Reliability AssessmentSoftware Defects and SW Reliability Assessment
Software Defects and SW Reliability AssessmentKristine Hejna
 
Innovative Test Automation Solution
Innovative Test Automation SolutionInnovative Test Automation Solution
Innovative Test Automation SolutionAlan Lee White
 
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and TacticalTLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and TacticalAnna Royzman
 
App Assessments Reloaded
App Assessments ReloadedApp Assessments Reloaded
App Assessments ReloadedErnest Mueller
 
Making Netflix Machine Learning Algorithms Reliable
Making Netflix Machine Learning Algorithms ReliableMaking Netflix Machine Learning Algorithms Reliable
Making Netflix Machine Learning Algorithms ReliableJustin Basilico
 
Dependable Systems -Software Dependability (15/16)
Dependable Systems -Software Dependability (15/16)Dependable Systems -Software Dependability (15/16)
Dependable Systems -Software Dependability (15/16)Peter Tröger
 
Introduction to UI Automation Framework
Introduction to UI Automation FrameworkIntroduction to UI Automation Framework
Introduction to UI Automation FrameworkPriya Rajagopal
 
TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012Ashish Bhasin
 

Ähnlich wie Testar (20)

AbarnaJoseBattan_Resume
AbarnaJoseBattan_ResumeAbarnaJoseBattan_Resume
AbarnaJoseBattan_Resume
 
DITEC - Software Engineering
DITEC - Software EngineeringDITEC - Software Engineering
DITEC - Software Engineering
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introduction
 
SVCC 2011 - 0 - 60: QA Automation @ Box
SVCC 2011 - 0 - 60: QA Automation @ BoxSVCC 2011 - 0 - 60: QA Automation @ Box
SVCC 2011 - 0 - 60: QA Automation @ Box
 
RESUME_Priyadarshini T R
RESUME_Priyadarshini T RRESUME_Priyadarshini T R
RESUME_Priyadarshini T R
 
1 sdlc model
1 sdlc model1 sdlc model
1 sdlc model
 
Building an Open Source AppSec Pipeline
Building an Open Source AppSec PipelineBuilding an Open Source AppSec Pipeline
Building an Open Source AppSec Pipeline
 
Software Engineering an Introduction
Software Engineering an IntroductionSoftware Engineering an Introduction
Software Engineering an Introduction
 
Browser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsBrowser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.js
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lesson
 
Software Defects and SW Reliability Assessment
Software Defects and SW Reliability AssessmentSoftware Defects and SW Reliability Assessment
Software Defects and SW Reliability Assessment
 
Innovative Test Automation Solution
Innovative Test Automation SolutionInnovative Test Automation Solution
Innovative Test Automation Solution
 
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and TacticalTLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
 
App Assessments Reloaded
App Assessments ReloadedApp Assessments Reloaded
App Assessments Reloaded
 
Making Netflix Machine Learning Algorithms Reliable
Making Netflix Machine Learning Algorithms ReliableMaking Netflix Machine Learning Algorithms Reliable
Making Netflix Machine Learning Algorithms Reliable
 
Dependable Systems -Software Dependability (15/16)
Dependable Systems -Software Dependability (15/16)Dependable Systems -Software Dependability (15/16)
Dependable Systems -Software Dependability (15/16)
 
Unit ii
Unit   iiUnit   ii
Unit ii
 
Ooad
OoadOoad
Ooad
 
Introduction to UI Automation Framework
Introduction to UI Automation FrameworkIntroduction to UI Automation Framework
Introduction to UI Automation Framework
 
TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012
 

Mehr von Tanja Vos

Impress project: Goals and Achievements @ cseet2020
Impress project: Goals and Achievements @ cseet2020Impress project: Goals and Achievements @ cseet2020
Impress project: Goals and Achievements @ cseet2020Tanja Vos
 
FormalZ @ cseet2020
FormalZ @ cseet2020FormalZ @ cseet2020
FormalZ @ cseet2020Tanja Vos
 
Software Testing Innovation Alliance
Software Testing Innovation AllianceSoftware Testing Innovation Alliance
Software Testing Innovation AllianceTanja Vos
 
Testar2014 presentation
Testar2014 presentationTestar2014 presentation
Testar2014 presentationTanja Vos
 
Esem2014 presentation
Esem2014 presentationEsem2014 presentation
Esem2014 presentationTanja Vos
 
TAROT summerschool slides 2013 - Italy
TAROT summerschool slides 2013 - ItalyTAROT summerschool slides 2013 - Italy
TAROT summerschool slides 2013 - ItalyTanja Vos
 

Mehr von Tanja Vos (7)

Impress project: Goals and Achievements @ cseet2020
Impress project: Goals and Achievements @ cseet2020Impress project: Goals and Achievements @ cseet2020
Impress project: Goals and Achievements @ cseet2020
 
FormalZ @ cseet2020
FormalZ @ cseet2020FormalZ @ cseet2020
FormalZ @ cseet2020
 
A-TEST2017
A-TEST2017A-TEST2017
A-TEST2017
 
Software Testing Innovation Alliance
Software Testing Innovation AllianceSoftware Testing Innovation Alliance
Software Testing Innovation Alliance
 
Testar2014 presentation
Testar2014 presentationTestar2014 presentation
Testar2014 presentation
 
Esem2014 presentation
Esem2014 presentationEsem2014 presentation
Esem2014 presentation
 
TAROT summerschool slides 2013 - Italy
TAROT summerschool slides 2013 - ItalyTAROT summerschool slides 2013 - Italy
TAROT summerschool slides 2013 - Italy
 

Kürzlich hochgeladen

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 

Kürzlich hochgeladen (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 

Testar

  • 1. TESTAR   Test  Automa.on  at  the  useR  Interface  level   estT * Tanja E.J. Vos UNIVERSIDAD POLITECNICA DE VALENCIA DEPARTMENTO DE SISTEMAS INFORMÁTICOS Y COMPUTACIÓN Centro PROS
  • 2. Tes$ng  at  the  UI  Level   •  UI  is  where  all  func$onality  comes  together   –  Integra$on  /  System  Tes$ng   •  Most  applica$ons  have  UIs   –  Computers,  tables,  smartphones….   •  Faults  that  arise  at  UI  level  are  important   –  These  are  what  your  client  finds  -­‐>  test  from  their  perspec$ve!   •  No  need  for  source  code   –  But  if  we  have  it  even  beJer  ;-­‐)  
  • 3. State  of  the  art  in  UI  tes$ng   •  Capture  Replay   –  The  tool  captures  user  interac$on  with  the  UI  and  records  a  script  that   can  be  automa$cally  replayed  during  regression  tes$ng   –  UI  change  (at  development  $me  &  at  run  $me)   –  Automated  regression  tests  break   –  Huge  maintenance  problem     •  Visual  Tes$ng     •  Model-­‐based  Tes$ng  
  • 4. State  of  the  art  in  UI  tes$ng   •  Capture  Replay   •  Visual  tes.ng   –  Based  on  image  recogni$on   –  Easy  to  understand,  no  programming  skills  needed   –  Solves  most  of  maintenance  problem   –  Introduces  addi$onal  problems:   •  Performance  of  image  processing     •  False  posi$ves  and  false  nega$ves   –  the  ambiguity  associated  with  image  locators     –  imprecision  of  image  recogni$on  feeds  into  oracles     •  Model-­‐based  Tes$ng  
  • 5. State  of  the  art  in  UI  tes$ng   •  Capture  Replay   •  Visual  tes$ng     •  Model-­‐based  tes.ng  -­‐-­‐  TESTAR     –  Based  on  automa$cally  inferred  tree  model  of  the  UI   –  Tests  sequences  are  derived  automa$cally  from  the  model   –  Executed  sequences  can  be  replayed   –  If  UI  changes  so  does  the  model/tests  -­‐>  no  maintenance  of  the  tests   –  Programming  skills  are  needed  to  define  powerful  oracles   •  It  needs  to  be  inves$gated  if  this  is  really  problem….   type: TButton ... rect: [15, 25, 65, 55] hasFocus: true enabled: false title: "Button" Window Button Text SliderMenu MI MI MI MI type: TMenuItem ... title: "File" ABC type: TButton ... rect: [15, 25, 65, 55] hasFocus: true enabled: false title: "Button" MI MI MI MI type: TMenuItem ... title: "File" ABC estT *
  • 6. START SUT SCAN GUI + OBTAIN WIDGET TREE DESIRED LENGTH? Domain Experts DERIVE SET OF USER ACTIONS SELECT PROMISING ACTION EXECUTE ACTION DETERMINE SEQUENCE FITNESS No Yes Action Definitions Oracle STOP SUT SUT OPTIONAL INSTRUMENTATION LEARN PROMISING ACTIONS promising Actions Replayable Erroneous Sequences ORACLE FOUND POSSIBLE FAULT Yes No estT *
  • 7. TESTAR  tool   READY   7   Set  path  the  SUT   estT *
  • 8. TESTAR  tool   SET   8   Filter:     1)  undesirable  ac$ons,     i.e.  closing  the  applica$on     al  the  $me       2)  Undesirable  processes,  for   example  help  panes  in   acrobat,  etc…….   estT *
  • 9. 9   GO!   Automated  random  tes$ng  at  the  UI  level  
  • 10. Oracles  for  free   •  What  can  we  easily  detect?   •  Crashes             •  Program  freezes  
  • 11. Cheap  Oracles   •  Cri$cal  message  boxes       •  Suspicious  stdout  /  stderr         •  Solu$on:  Regular  Expressions:   .*NullPointerExcep$on            .*|[Ee]rror|[Pp]roblem  
  • 12. More  sophis$ca$on  needs  work   •  Ac$ons   –  Ac$on  detec$on   –  Ac$on  selec$on   –  Some$mes  a  trial/error  process   •  Random  selec$on  =  like  a  child,  just  much  faster   •  Prin$ng,  file  copying  /  moving  /  dele$ng   •  Starts  other  Processes   •  Sandboxing,  rights  management,  dedicated  user  accounts,  disallow  ac$ons   •  Oracles  that  need  programming  
  • 13. Already  some  empirical  evidence     that  it  works!   •  Lab  experiments  on  real  Microsog  applica$ons  have  shown   that  the  technique  is  scalable,  effec$ve  and  efficient   •  Using  the  tool  in  prac$cal  classes  for  last  year  computer   science  students  has  shown  that  it  is  not  hard  to  learn  to   operate  the  tool   •  3  industrial  case  studies  have  shown  that  real  errors  can  be   found  in  an  efficient  way  
  • 14. •  Tanja  E.  J.  Vos   •  email:  tvos@pros.upv.es   •  skype:  tanja_vos   •  web:  hJp://www.pros.upv.es/testar   •  telephone:  +34  690  917  971       Do  you  want  to  try?