SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Understanding Plug-in Test Suites
 from an Integration Perspective
         Michaela Greiler, Arie van Deursen
        Software Engineering Research Group
            Delft University of Technology
Understanding Plug-in Test Suites
Need more Information?




  Which Information?
Code Dependencies
   which plug-ins are using each other




 Service Relations
which plug-ins are using services each other



Extension Relations
 which plug-ins are extending each other
Interviewed 25 Eclipse practitioners



                                  Understanding
                                    test cases




                                 Understanding
                                   test suites
Interviewed 25 Eclipse practitioners
                                            Understanding
                                              test cases




  Coding standards, naming conventions.


  Explanation and Motivation.


  “Tests are also like other parts of code. Sometimes people give bad
  names to their methods and variables. Then it is hard to understand.”
Interviewed 25 Eclipse practitioners
                                Understanding
                                  test suites




“What one specific test does, that’s quite
easy to understand. What’s difficult is to see
where the blank spots on the map are.”
Interviewed 25 Eclipse practitioners
                                     Understanding
                                       test suites




  Challenges keeping an Overview:

  “It is difficult. You have to read it all. If you skip
  one test, you do not know one part of the system.”

  Test Organization and Structure.

  Nested Test Suites.
Interviewed 25 Eclipse practitioners
                                    Understanding
                                      test suites




  “We realized: either we work on a particular point, and
  we run only one test case, or we run all of them.

  We worry very often about not being able to run the test
  suite in a more fine-grained way..”
Which plug-ins are
                             How are the plug-in
tested by which test-
                            extensions and services
     component?
                                    tested?



                          How are the plug-ins
                          extending each other?
 Which extensions are
 used during the tests?
Manual Inspection!
Look at…

     … extension relations

       Only Static


           …code
Understanding Plug-in Test Suites
 from an Integration Perspective
5 Architectural View


                                                        Extension        Service
   Plug-in         Test-Suite          Extension
                                                       Usage View      Usage View
Modularization   Modularization      Initialization
    View             View                 View

Plug-in Level    Test Case Level   Extension Level    Method Level    Method Level

                    Plug-in A         Plug-in A         Plug-in A       Plug-in A
  Plug-in A
                   is tested by         loads            invokes          invokes
    uses
                    test case t      extension e      method m of     method m of
  Plug-in B
                   of Plug-in B      of Plug-in B     extension e        service s
                                                       in plug-in B    in plug-in B
Ingredients: Data Behind

                   Static Data & Dynamic Trace Data

        plugin.xml & schema                          Test suite
              manifest                               class files
              class files




     Fact Extraction                             Instrumentation
           Facts                                        Traces


                              Reconstruction




                                  VIEWS


                                          Recipe: Reconstructing The Views
Recipe: Reconstructing the Extension Usage View


STATIC: plug-in.xml, schema, .class                        DYNAMIC: Method Calls
       Fact Extraction                                      Instrumentation
              Facts                                                Traces

                                      Reconstruction
                            Extension Method Set: Heuristic
                             (all methods of an extension)

                                  Inspect the Trace File




                             Extension Usage View
                             which “extension methods” are
                                        invoked
ETSE: Eclipse Test Suite Explorer
Empirical Evaluation
Case Study Set-Up


                                             Connector
     27 plug-ins       5 main plug-ins    3 main plug-ins
11 test-components    2 test components  1 test component
   2 test suites        4 test suites      2 test suites
    200,000 LOCs         100,000 LOCs        8,500 LOCs
30,000 LOCs tests    14,000 lines tests 3,400 lines tests
ETSE: Eclipse Test Suite Explorer
Static




                        Dynamic



 Which plug-ins are
tested by which test-
     component?
Dynamic & Static




            System Level
                              How are the plug-in
                           extension-relations tested?
How are the plug-ins
extending each other?
Plug-in Level
                                Dynamic & Static


                             How are the plug-in
                          extension-relations tested?
How are the plug-ins
extending each other?
When and how have
                         the extensions been
                                used?
Which extensions are
used during the tests?
ETSE: Eclipse Test Suite Explorer
Want to use ETSE in your project?



                 Contactus!
                m.s.greiler@tudelft.nl
             arie.vandeursen@tudelft.nl


                      Update site:
http://swerl.tudelft.nl/etse/ETSE_UpdateSite/site.xml

Weitere ähnliche Inhalte

Was ist angesagt?

Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Deepak Singhvi
 
Unit Testing And Mocking
Unit Testing And MockingUnit Testing And Mocking
Unit Testing And MockingJoe Wilson
 
NUnit Features Presentation
NUnit Features PresentationNUnit Features Presentation
NUnit Features PresentationShir Brass
 
What is JUnit? | Edureka
What is JUnit? | EdurekaWhat is JUnit? | Edureka
What is JUnit? | EdurekaEdureka!
 
Unit Test Presentation
Unit Test PresentationUnit Test Presentation
Unit Test PresentationSayedur Rahman
 
Beginners - Get Started With Unit Testing in .NET
Beginners - Get Started With Unit Testing in .NETBeginners - Get Started With Unit Testing in .NET
Beginners - Get Started With Unit Testing in .NETBaskar K
 
Unit Tests And Automated Testing
Unit Tests And Automated TestingUnit Tests And Automated Testing
Unit Tests And Automated TestingLee Englestone
 
Unit testing with Junit
Unit testing with JunitUnit testing with Junit
Unit testing with JunitValerio Maggio
 
.Net Unit Testing with Visual Studio 2010
.Net Unit Testing with Visual Studio 2010.Net Unit Testing with Visual Studio 2010
.Net Unit Testing with Visual Studio 2010kgayda
 
Test driven development in .Net - 2010 + Eclipse
Test driven development in .Net - 2010 + EclipseTest driven development in .Net - 2010 + Eclipse
Test driven development in .Net - 2010 + EclipseUTC Fire & Security
 
Intro To Unit and integration Testing
Intro To Unit and integration TestingIntro To Unit and integration Testing
Intro To Unit and integration TestingPaul Churchward
 

Was ist angesagt? (20)

Unit testing
Unit testingUnit testing
Unit testing
 
Unit testing with JUnit
Unit testing with JUnitUnit testing with JUnit
Unit testing with JUnit
 
Workshop unit test
Workshop   unit testWorkshop   unit test
Workshop unit test
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Unit Testing And Mocking
Unit Testing And MockingUnit Testing And Mocking
Unit Testing And Mocking
 
NUnit Features Presentation
NUnit Features PresentationNUnit Features Presentation
NUnit Features Presentation
 
Testing In Java
Testing In JavaTesting In Java
Testing In Java
 
What is JUnit? | Edureka
What is JUnit? | EdurekaWhat is JUnit? | Edureka
What is JUnit? | Edureka
 
Unit Test Presentation
Unit Test PresentationUnit Test Presentation
Unit Test Presentation
 
Beginners - Get Started With Unit Testing in .NET
Beginners - Get Started With Unit Testing in .NETBeginners - Get Started With Unit Testing in .NET
Beginners - Get Started With Unit Testing in .NET
 
Introduction to JUnit
Introduction to JUnitIntroduction to JUnit
Introduction to JUnit
 
Unit Tests And Automated Testing
Unit Tests And Automated TestingUnit Tests And Automated Testing
Unit Tests And Automated Testing
 
Unit testing
Unit testingUnit testing
Unit testing
 
Unit Testing (C#)
Unit Testing (C#)Unit Testing (C#)
Unit Testing (C#)
 
Unit testing with Junit
Unit testing with JunitUnit testing with Junit
Unit testing with Junit
 
.Net Unit Testing with Visual Studio 2010
.Net Unit Testing with Visual Studio 2010.Net Unit Testing with Visual Studio 2010
.Net Unit Testing with Visual Studio 2010
 
Test driven development in .Net - 2010 + Eclipse
Test driven development in .Net - 2010 + EclipseTest driven development in .Net - 2010 + Eclipse
Test driven development in .Net - 2010 + Eclipse
 
Intro To Unit and integration Testing
Intro To Unit and integration TestingIntro To Unit and integration Testing
Intro To Unit and integration Testing
 

Andere mochten auch

ICSE 2012: Test Confessions - A study of testing practices for plug-in systems
ICSE 2012:  Test Confessions - A study of testing practices for plug-in systemsICSE 2012:  Test Confessions - A study of testing practices for plug-in systems
ICSE 2012: Test Confessions - A study of testing practices for plug-in systemsMichaela Greiler
 
How to Code Review
How to Code ReviewHow to Code Review
How to Code ReviewGong Haibing
 
Strategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software EvolutionStrategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software EvolutionMichaela Greiler
 
JDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsJDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsWojciech Seliga
 
EclipseCon: Test Confessions - What Eclipsers think and do about testing
EclipseCon: Test Confessions - What Eclipsers think and do about testingEclipseCon: Test Confessions - What Eclipsers think and do about testing
EclipseCon: Test Confessions - What Eclipsers think and do about testingMichaela Greiler
 
Code review process checklist by VINTAGE
Code review process checklist by VINTAGECode review process checklist by VINTAGE
Code review process checklist by VINTAGEDenis Kurylenko
 
Code review in practice
Code review in practiceCode review in practice
Code review in practiceEdorian
 
Code Review
Code ReviewCode Review
Code ReviewTu Hoang
 
Review your code like a Googler
Review your code like a GooglerReview your code like a Googler
Review your code like a GooglerDariusz Łuksza
 
Code Review: Veni, ViDI, Vici (saner15)
Code Review: Veni, ViDI, Vici (saner15)Code Review: Veni, ViDI, Vici (saner15)
Code Review: Veni, ViDI, Vici (saner15)Yuriy Tymchuk
 
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010Atlassian
 
Code Review: An apple a day
Code Review: An apple a dayCode Review: An apple a day
Code Review: An apple a dayKathryn Rotondo
 
On to code review lessons learned at microsoft
On to code review lessons learned at microsoftOn to code review lessons learned at microsoft
On to code review lessons learned at microsoftMichaela Greiler
 
The Impact of Code Review Coverage and Participation on Software Quality
The Impact of Code Review Coverage and Participation on Software QualityThe Impact of Code Review Coverage and Participation on Software Quality
The Impact of Code Review Coverage and Participation on Software QualityShane McIntosh
 
Can we induce change with what we measure?
Can we induce change with what we measure?Can we induce change with what we measure?
Can we induce change with what we measure?Michaela Greiler
 
Simplified Security Code Review Process
Simplified Security Code Review ProcessSimplified Security Code Review Process
Simplified Security Code Review ProcessSherif Koussa
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and WhenPaul Gower
 
Improving Code Quality Through Effective Review Process
Improving Code Quality Through Effective  Review ProcessImproving Code Quality Through Effective  Review Process
Improving Code Quality Through Effective Review ProcessDr. Syed Hassan Amin
 

Andere mochten auch (20)

ICSE 2012: Test Confessions - A study of testing practices for plug-in systems
ICSE 2012:  Test Confessions - A study of testing practices for plug-in systemsICSE 2012:  Test Confessions - A study of testing practices for plug-in systems
ICSE 2012: Test Confessions - A study of testing practices for plug-in systems
 
How to Code Review
How to Code ReviewHow to Code Review
How to Code Review
 
Strategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software EvolutionStrategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software Evolution
 
JDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsJDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile Teams
 
EclipseCon: Test Confessions - What Eclipsers think and do about testing
EclipseCon: Test Confessions - What Eclipsers think and do about testingEclipseCon: Test Confessions - What Eclipsers think and do about testing
EclipseCon: Test Confessions - What Eclipsers think and do about testing
 
Code review process checklist by VINTAGE
Code review process checklist by VINTAGECode review process checklist by VINTAGE
Code review process checklist by VINTAGE
 
Code review in practice
Code review in practiceCode review in practice
Code review in practice
 
Code review drinking game
Code review drinking gameCode review drinking game
Code review drinking game
 
Code Review
Code ReviewCode Review
Code Review
 
Review your code like a Googler
Review your code like a GooglerReview your code like a Googler
Review your code like a Googler
 
Code Review: Veni, ViDI, Vici (saner15)
Code Review: Veni, ViDI, Vici (saner15)Code Review: Veni, ViDI, Vici (saner15)
Code Review: Veni, ViDI, Vici (saner15)
 
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
 
Code Review: An apple a day
Code Review: An apple a dayCode Review: An apple a day
Code Review: An apple a day
 
On to code review lessons learned at microsoft
On to code review lessons learned at microsoftOn to code review lessons learned at microsoft
On to code review lessons learned at microsoft
 
The Impact of Code Review Coverage and Participation on Software Quality
The Impact of Code Review Coverage and Participation on Software QualityThe Impact of Code Review Coverage and Participation on Software Quality
The Impact of Code Review Coverage and Participation on Software Quality
 
Can we induce change with what we measure?
Can we induce change with what we measure?Can we induce change with what we measure?
Can we induce change with what we measure?
 
Simplified Security Code Review Process
Simplified Security Code Review ProcessSimplified Security Code Review Process
Simplified Security Code Review Process
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
Code Review for iOS
Code Review for iOSCode Review for iOS
Code Review for iOS
 
Improving Code Quality Through Effective Review Process
Improving Code Quality Through Effective  Review ProcessImproving Code Quality Through Effective  Review Process
Improving Code Quality Through Effective Review Process
 

Ähnlich wie Understanding Eclipse Plug-in Test Suites @ The Eclipse Testing Day 2011

Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSst. michael
 
Unit testing php-unit - phing - selenium_v2
Unit testing   php-unit - phing - selenium_v2Unit testing   php-unit - phing - selenium_v2
Unit testing php-unit - phing - selenium_v2Tricode (part of Dept)
 
Unit testing
Unit testingUnit testing
Unit testingmedsherb
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Mohamed Taman
 
Software Testing
Software TestingSoftware Testing
Software TestingKiran Kumar
 
Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20koolkampus
 
Tdd Ugialtnet Jan2010
Tdd Ugialtnet Jan2010Tdd Ugialtnet Jan2010
Tdd Ugialtnet Jan2010guestcff805
 
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...52 - The Impact of Test Ownership and Team Structure on the Reliability and E...
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...ESEM 2014
 
JUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkJUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkOnkar Deshpande
 
TestNG - The Next Generation of Unit Testing
TestNG - The Next Generation of Unit TestingTestNG - The Next Generation of Unit Testing
TestNG - The Next Generation of Unit TestingBethmi Gunasekara
 
The Impact of Test Ownership and Team Structure on the Reliability and Effect...
The Impact of Test Ownership and Team Structure on the Reliability and Effect...The Impact of Test Ownership and Team Structure on the Reliability and Effect...
The Impact of Test Ownership and Team Structure on the Reliability and Effect...Kim Herzig
 
Glossary of Testing Terms and Concepts
Glossary of Testing Terms and ConceptsGlossary of Testing Terms and Concepts
Glossary of Testing Terms and Conceptsmqamarhayat
 
Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++Hong Le Van
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented TestingAMITJain879
 
Testing Plug-in Architectures
Testing Plug-in ArchitecturesTesting Plug-in Architectures
Testing Plug-in ArchitecturesArie van Deursen
 

Ähnlich wie Understanding Eclipse Plug-in Test Suites @ The Eclipse Testing Day 2011 (20)

Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESS
 
Unit testing php-unit - phing - selenium_v2
Unit testing   php-unit - phing - selenium_v2Unit testing   php-unit - phing - selenium_v2
Unit testing php-unit - phing - selenium_v2
 
Unit testing
Unit testingUnit testing
Unit testing
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.
 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Java
 
Application Testing
Application TestingApplication Testing
Application Testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Ch23
Ch23Ch23
Ch23
 
Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20
 
Tdd Ugialtnet Jan2010
Tdd Ugialtnet Jan2010Tdd Ugialtnet Jan2010
Tdd Ugialtnet Jan2010
 
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...52 - The Impact of Test Ownership and Team Structure on the Reliability and E...
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...
 
Test ng for testers
Test ng for testersTest ng for testers
Test ng for testers
 
Higher Order Testing
Higher Order TestingHigher Order Testing
Higher Order Testing
 
JUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkJUnit- A Unit Testing Framework
JUnit- A Unit Testing Framework
 
TestNG - The Next Generation of Unit Testing
TestNG - The Next Generation of Unit TestingTestNG - The Next Generation of Unit Testing
TestNG - The Next Generation of Unit Testing
 
The Impact of Test Ownership and Team Structure on the Reliability and Effect...
The Impact of Test Ownership and Team Structure on the Reliability and Effect...The Impact of Test Ownership and Team Structure on the Reliability and Effect...
The Impact of Test Ownership and Team Structure on the Reliability and Effect...
 
Glossary of Testing Terms and Concepts
Glossary of Testing Terms and ConceptsGlossary of Testing Terms and Concepts
Glossary of Testing Terms and Concepts
 
Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Testing Plug-in Architectures
Testing Plug-in ArchitecturesTesting Plug-in Architectures
Testing Plug-in Architectures
 

Kürzlich hochgeladen

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Kürzlich hochgeladen (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Understanding Eclipse Plug-in Test Suites @ The Eclipse Testing Day 2011

  • 1. Understanding Plug-in Test Suites from an Integration Perspective Michaela Greiler, Arie van Deursen Software Engineering Research Group Delft University of Technology
  • 3.
  • 4.
  • 5. Need more Information? Which Information?
  • 6.
  • 7. Code Dependencies which plug-ins are using each other Service Relations which plug-ins are using services each other Extension Relations which plug-ins are extending each other
  • 8.
  • 9. Interviewed 25 Eclipse practitioners Understanding test cases Understanding test suites
  • 10. Interviewed 25 Eclipse practitioners Understanding test cases Coding standards, naming conventions. Explanation and Motivation. “Tests are also like other parts of code. Sometimes people give bad names to their methods and variables. Then it is hard to understand.”
  • 11. Interviewed 25 Eclipse practitioners Understanding test suites “What one specific test does, that’s quite easy to understand. What’s difficult is to see where the blank spots on the map are.”
  • 12. Interviewed 25 Eclipse practitioners Understanding test suites Challenges keeping an Overview: “It is difficult. You have to read it all. If you skip one test, you do not know one part of the system.” Test Organization and Structure. Nested Test Suites.
  • 13. Interviewed 25 Eclipse practitioners Understanding test suites “We realized: either we work on a particular point, and we run only one test case, or we run all of them. We worry very often about not being able to run the test suite in a more fine-grained way..”
  • 14.
  • 15. Which plug-ins are How are the plug-in tested by which test- extensions and services component? tested? How are the plug-ins extending each other? Which extensions are used during the tests?
  • 17. Look at… … extension relations Only Static …code
  • 18. Understanding Plug-in Test Suites from an Integration Perspective
  • 19. 5 Architectural View Extension Service Plug-in Test-Suite Extension Usage View Usage View Modularization Modularization Initialization View View View Plug-in Level Test Case Level Extension Level Method Level Method Level Plug-in A Plug-in A Plug-in A Plug-in A Plug-in A is tested by loads invokes invokes uses test case t extension e method m of method m of Plug-in B of Plug-in B of Plug-in B extension e service s in plug-in B in plug-in B
  • 20. Ingredients: Data Behind Static Data & Dynamic Trace Data plugin.xml & schema Test suite manifest class files class files Fact Extraction Instrumentation Facts Traces Reconstruction VIEWS Recipe: Reconstructing The Views
  • 21. Recipe: Reconstructing the Extension Usage View STATIC: plug-in.xml, schema, .class DYNAMIC: Method Calls Fact Extraction Instrumentation Facts Traces Reconstruction Extension Method Set: Heuristic (all methods of an extension) Inspect the Trace File Extension Usage View which “extension methods” are invoked
  • 22. ETSE: Eclipse Test Suite Explorer
  • 24. Case Study Set-Up Connector 27 plug-ins 5 main plug-ins 3 main plug-ins 11 test-components 2 test components 1 test component 2 test suites 4 test suites 2 test suites 200,000 LOCs 100,000 LOCs 8,500 LOCs 30,000 LOCs tests 14,000 lines tests 3,400 lines tests
  • 25.
  • 26. ETSE: Eclipse Test Suite Explorer
  • 27. Static Dynamic Which plug-ins are tested by which test- component?
  • 28. Dynamic & Static System Level How are the plug-in extension-relations tested? How are the plug-ins extending each other?
  • 29. Plug-in Level Dynamic & Static How are the plug-in extension-relations tested? How are the plug-ins extending each other?
  • 30. When and how have the extensions been used? Which extensions are used during the tests?
  • 31. ETSE: Eclipse Test Suite Explorer
  • 32. Want to use ETSE in your project? Contactus! m.s.greiler@tudelft.nl arie.vandeursen@tudelft.nl Update site: http://swerl.tudelft.nl/etse/ETSE_UpdateSite/site.xml