SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
TSDETECT
An Open Source Test Smells Detection Tool
Anthony Peruma, Khalid Almalki, Christian D. Newman, Mohamed Wiem Mkaouer, Ali Ouni, Fabio Palomba
2 8 t h A C M J o i n t E u r o p e a n S o f t w a r e E n g i n e e r i n g C o n f e r e n c e a n d S y m p o s i u m o n t h e F o u n d a t i o n s o f S o f t w a r e E n g i n e e r i n g ( E S E C / F S E ' 2 0 )
TEST SMELLS
Test code, like production code, is subject to smells
Formally introduced in 2001 with 11 smell types
Inclusion of additional smell types, analysis of their
evolution and longevity, and elimination patterns
Tools to detect specific smell types
Studies on traditional Java applications
01
EXISTING TOOLS
◸ TestQ by Breugelmans et al. -- visually explore and quantify test smells
◸ TeCRevis by Koochakzadeh et al. -- visualization of redundant tests
◸ T-Rex by Neukirchen et al. -- violations of TTCN-3
◸ TestHound by Greiler et al. -- smells related to test fixtures
◸ Reichhart et al. -- detection of test smells in Smalltalk
◸ DTDetector by Zang et al. -- detection of dependent tests
◸ Bavota et al. -- detect nine types of test smells
◸ Palomba et al. -- detecting three types of test smells
02
GOAL
The goal of this work is to provide the
community with an open-source,
extensible tool for the detection of
multiple types of unit test smells
03
TSDETECT
04
Open-
Source
Test Smells
Detection
Standalone
Executable
ARCHITECTURE
05
19 DETECTED TEST SMELLS
◸ Assertion Roulette
◸ Conditional Test Logic
◸ Constructor Initialization
◸ Default Test
◸ Duplicate Assert
◸ Eager Test
◸ Empty Test
◸ Exception Handling
◸ General Fixture
◸ Ignored Test
◸ Lazy Test
◸ Magic Number Test
◸ Mystery Guest
◸ Redundant Print
◸ Redundant Assertion
◸ Resource Optimism
◸ Sensitive Equality
◸ Sleepy Test
◸ Unknown Test
06
EVALUATION
◸ F-Scores ranging from
87.8% to 100%
◸ Manual Evaluation:
◹ 20 infected instances
per smell
◹ 65 annotated files
◹ 39 graduate and
undergraduate
students
07
APPLICABILITY
08
Practitioners Researchers Educators
THANKS!
h t t p s : / / t e s t s m e l l s . g i t h u b . i o
tsDetect: An Open Source Test Smells Detection Tool

Contenu connexe

Plus de University of Hawai‘i at Mānoa

Plus de University of Hawai‘i at Mānoa (14)

Understanding Digits in Identifier Names: An Exploratory Study
Understanding Digits in Identifier Names: An Exploratory StudyUnderstanding Digits in Identifier Names: An Exploratory Study
Understanding Digits in Identifier Names: An Exploratory Study
 
How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics i...
How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics i...How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics i...
How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics i...
 
IDEAL: An Open-Source Identifier Name Appraisal Tool
IDEAL: An Open-Source Identifier Name Appraisal ToolIDEAL: An Open-Source Identifier Name Appraisal Tool
IDEAL: An Open-Source Identifier Name Appraisal Tool
 
Using Grammar Patterns to Interpret Test Method Name Evolution
Using Grammar Patterns to Interpret Test Method Name EvolutionUsing Grammar Patterns to Interpret Test Method Name Evolution
Using Grammar Patterns to Interpret Test Method Name Evolution
 
On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Explorator...
On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Explorator...On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Explorator...
On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Explorator...
 
Contextualizing Rename Decisions using Refactorings and Commit Messages
Contextualizing Rename Decisions using Refactorings and Commit MessagesContextualizing Rename Decisions using Refactorings and Commit Messages
Contextualizing Rename Decisions using Refactorings and Commit Messages
 
An Exploratory Study on the Refactoring of Unit Test Files in Android Applica...
An Exploratory Study on the Refactoring of Unit Test Files in Android Applica...An Exploratory Study on the Refactoring of Unit Test Files in Android Applica...
An Exploratory Study on the Refactoring of Unit Test Files in Android Applica...
 
On the Distribution of Test Smells in Open Source Android Applications: An Ex...
On the Distribution of Test Smells in Open Source Android Applications: An Ex...On the Distribution of Test Smells in Open Source Android Applications: An Ex...
On the Distribution of Test Smells in Open Source Android Applications: An Ex...
 
A Preliminary Study of Android Refactorings
A Preliminary Study of Android RefactoringsA Preliminary Study of Android Refactorings
A Preliminary Study of Android Refactorings
 
Permission Issues in Open-Source Android Apps: An Exploratory Study
Permission Issues in Open-Source Android Apps: An Exploratory StudyPermission Issues in Open-Source Android Apps: An Exploratory Study
Permission Issues in Open-Source Android Apps: An Exploratory Study
 
A Career In IT
A Career In ITA Career In IT
A Career In IT
 
Web Content Management - Introduction
Web Content Management - IntroductionWeb Content Management - Introduction
Web Content Management - Introduction
 
Introduction to SignalR
Introduction to SignalRIntroduction to SignalR
Introduction to SignalR
 
SharePoint 2013 - Search Driven Publishing
SharePoint 2013 - Search Driven PublishingSharePoint 2013 - Search Driven Publishing
SharePoint 2013 - Search Driven Publishing
 

Dernier

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Dernier (20)

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 

tsDetect: An Open Source Test Smells Detection Tool

  • 1. TSDETECT An Open Source Test Smells Detection Tool Anthony Peruma, Khalid Almalki, Christian D. Newman, Mohamed Wiem Mkaouer, Ali Ouni, Fabio Palomba 2 8 t h A C M J o i n t E u r o p e a n S o f t w a r e E n g i n e e r i n g C o n f e r e n c e a n d S y m p o s i u m o n t h e F o u n d a t i o n s o f S o f t w a r e E n g i n e e r i n g ( E S E C / F S E ' 2 0 )
  • 2. TEST SMELLS Test code, like production code, is subject to smells Formally introduced in 2001 with 11 smell types Inclusion of additional smell types, analysis of their evolution and longevity, and elimination patterns Tools to detect specific smell types Studies on traditional Java applications 01
  • 3. EXISTING TOOLS ◸ TestQ by Breugelmans et al. -- visually explore and quantify test smells ◸ TeCRevis by Koochakzadeh et al. -- visualization of redundant tests ◸ T-Rex by Neukirchen et al. -- violations of TTCN-3 ◸ TestHound by Greiler et al. -- smells related to test fixtures ◸ Reichhart et al. -- detection of test smells in Smalltalk ◸ DTDetector by Zang et al. -- detection of dependent tests ◸ Bavota et al. -- detect nine types of test smells ◸ Palomba et al. -- detecting three types of test smells 02
  • 4. GOAL The goal of this work is to provide the community with an open-source, extensible tool for the detection of multiple types of unit test smells 03
  • 7. 19 DETECTED TEST SMELLS ◸ Assertion Roulette ◸ Conditional Test Logic ◸ Constructor Initialization ◸ Default Test ◸ Duplicate Assert ◸ Eager Test ◸ Empty Test ◸ Exception Handling ◸ General Fixture ◸ Ignored Test ◸ Lazy Test ◸ Magic Number Test ◸ Mystery Guest ◸ Redundant Print ◸ Redundant Assertion ◸ Resource Optimism ◸ Sensitive Equality ◸ Sleepy Test ◸ Unknown Test 06
  • 8. EVALUATION ◸ F-Scores ranging from 87.8% to 100% ◸ Manual Evaluation: ◹ 20 infected instances per smell ◹ 65 annotated files ◹ 39 graduate and undergraduate students 07
  • 10. THANKS! h t t p s : / / t e s t s m e l l s . g i t h u b . i o