SlideShare a Scribd company logo
COMPARISON OF
GOLANG TESTING
FRAMEWORKS
Dushyant Bhalgami
Software Architect
@autoMate_
OUTLINE
BDD Testing Frameworks
 Ginkgo + Gomega
 Comparison with Cucumber
Test Execution
Performance
 Test Scenario
 Performance Statistics
Unit Testing Framework
 ‘testing’ + ‘testify’
 Comparison with JUnit
REST API Testing
Frameworks
 Frisby
 Comparison with RESTAssured
UNIT TESTING – “testing + testify”
 What is Unit Testing?
 Unit testing is a software development process in which the smallest testable parts
of an application, called units, are individually and independently scrutinized for
proper operation.
 Unit Testing covered by GoLang’s ‘testing’ package
 ‘testing’ package’s few features
 Benchmarking
 Code Coverage
 Parallel Execution
 ‘testify’ extension complements ‘testing’ package by providing
support for
 Assertion
 Mocking
“testing + testify” v/s “JUnit”
 JUnit is famous unit testing framework for Java
 Improvement Areas for GoLang’s ‘testing’ package:
 Test Fixtures
 Parameterized Test
 Data Provider
BDD TESTING – “Ginkgo + Gomega”
 What is BDD?
 Behavior-driven development (BDD) is a software development methodology in which an
application is specified and designed by describing how its behavior should appear to an
outside observer.
 GoLang’s BDD Testing Frameworks:
 Ginkgo
 GoConvey
 GoDog
 GoSpec
 GoSpecify
 Ginkgo + Gomega:
 Ginkgo is BDD style GoLang testing framework
 Gomega is matcher/assertion library
“Ginkgo + Gomega” v/s “Cucumber”
 Features of Ginkgo
 Test Fixtures
 Parallel Specs
 Asynchronous Tests
 Table Driven Tests
 ‘Cucumber’ is well-known BDD Testing Framework, having bindings
for Ruby, Java, JavaScript etc.
 Improvement Areas for ‘Ginkgo’:
 Feature Files
 Integration with Selenium for Web Testing
 Performance
REST API TESTING – “Frisby”
 What is REST API Testing?
 API testing is in many respects like testing software at the user-interface level,
only instead of testing by means of standard user inputs and outputs, you use
software to send calls to the API, get output, and validate it.
 GoLang’s REST API Testing Frameworks:
 Frisby
 RestIt
 Frisby
 It’s a REST API Testing framework, inspired by Frisby.js
 Simple to Implement Tests
“Frisby” v/s “RESTAssured”
 Features of Frisby
 Covers all basic HTTP methods, like Get, Post, Put, Patch, Delete
 Provides Assertions
 JSON & XML Parsers
 ‘RESTAssured’ is well-known REST API Testing Framework for
Java
 Improvement Areas for ‘Frisby’:
 BDD style
 Continuous Integration
 Data Provider / Table Driven Tests
TEST SCENARIO
 Very Basic Test Scenario, which will define type of ‘Triangle’
based on dimension of sides of triangle
Side3 = ‘z’
x == y == z
“Equilateral”
x == y || y == z || x == z
“Isosceles”
x != y != z
“Scalene”
PERFORMANCE STATISTICS
UNIT Testing BDD Testing REST API Testing
Go (Testing +
Testify)
JUnit Ginkgo Cucumber Frisby RESTAssured
Run_1# 0.008* 0.031 1.49 0.511 0.056 2.18
Run_2 0.009 0.026 1.36 0.531 0.056 2.14
Run_3 0.011 0.026 1.38 0.521 0.057 2.11
Run_4 0.009 0.028 1.38 0.532 0.056 2.04
Run_5 0.009 0.026 1.36 0.534 0.056 2.18
Run_6 0.009 0.028 1.39 0.532 0.057 2.07
Run_7 0.009 0.026 1.37 0.552 0.054 2.07
Run_8 0.009 0.026 1.39 0.507 0.053 2.07
Run_9 0.009 0.026 1.35 0.536 0.055 2.09
Run_10 0.009 0.026 1.39 0.518 0.056 2.1
Average
Execution Time
0.0091 0.0269 1.386 0.5274 0.0556 2.105
* All Times are in Seconds
# Each Run consisting execution of 100 TestCases per
framework
dushyantbhalgami@gmail.com @autoMate_
https://in.linkedin.com/in/dushyantbhalgami

More Related Content

PPTX
What Is Cucumber?
PPTX
PDF
Test Driven Development
PPTX
TestOps and Shift Left
PDF
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
PDF
How To Write A Test Case In Software Testing | Edureka
PDF
Unleashing Docker with Pipelines in Bitbucket Cloud
What Is Cucumber?
Test Driven Development
TestOps and Shift Left
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
How To Write A Test Case In Software Testing | Edureka
Unleashing Docker with Pipelines in Bitbucket Cloud

What's hot (20)

PDF
Test Driven Development (TDD)
PPTX
Composale DXP with MACH architecture.pptx
PDF
Git 101: Git and GitHub for Beginners
PDF
Introduction To Jira
PPTX
Behavior driven development (bdd)
PPT
Manual testing concepts course 1
PPT
Selenium Automation Framework
PDF
Grafana overview deck - Tech - 2023 May v1.pdf
ODP
Monitoring With Prometheus
PPT
Test Automation Framework Development Introduction
PDF
Git flow Introduction
PDF
Azure DevOps Presentation
PPTX
Terraform Basics
PPTX
Test automation framework
PDF
BDD & Cucumber
PPTX
What is agile?
PDF
Best Practices for Shifting Left Performance and Accessibility Testing
PDF
Keyword Driven Testing
PDF
Best Practices of Infrastructure as Code with Terraform
PDF
What is Shift Left Testing.pdf
Test Driven Development (TDD)
Composale DXP with MACH architecture.pptx
Git 101: Git and GitHub for Beginners
Introduction To Jira
Behavior driven development (bdd)
Manual testing concepts course 1
Selenium Automation Framework
Grafana overview deck - Tech - 2023 May v1.pdf
Monitoring With Prometheus
Test Automation Framework Development Introduction
Git flow Introduction
Azure DevOps Presentation
Terraform Basics
Test automation framework
BDD & Cucumber
What is agile?
Best Practices for Shifting Left Performance and Accessibility Testing
Keyword Driven Testing
Best Practices of Infrastructure as Code with Terraform
What is Shift Left Testing.pdf
Ad

Similar to Comparative Analysis Of GoLang Testing Frameworks (20)

PPTX
Unit testing with Jasmine
PDF
Java Test Automation for REST, Web and Mobile
DOCX
Rajiv Profile
PPTX
Automation test framework with cucumber – BDD
PPT
Behavior Driven Development by Example
PDF
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
PPT
Pragmatic Parallels: Java and JavaScript
PDF
Top api testing tools in 2022
PDF
Certified Software Testing Professional
PPTX
Colorful world-of-visual-automation-testing-latest
PDF
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
PDF
Software Testing Certification
PPTX
Software Testing
PDF
Front end unit testing using jasmine
DOCX
NITIN KUMAR BASWAN_Resume
PPTX
Software testing (2)
PDF
API Testing Impact on Development Process.pdf
PDF
automation framework
PPTX
software testing technique
PPTX
Coding Naked
Unit testing with Jasmine
Java Test Automation for REST, Web and Mobile
Rajiv Profile
Automation test framework with cucumber – BDD
Behavior Driven Development by Example
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
Pragmatic Parallels: Java and JavaScript
Top api testing tools in 2022
Certified Software Testing Professional
Colorful world-of-visual-automation-testing-latest
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Software Testing Certification
Software Testing
Front end unit testing using jasmine
NITIN KUMAR BASWAN_Resume
Software testing (2)
API Testing Impact on Development Process.pdf
automation framework
software testing technique
Coding Naked
Ad

Recently uploaded (20)

PDF
PPT on Performance Review to get promotions
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
DOCX
573137875-Attendance-Management-System-original
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Geodesy 1.pptx...............................................
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
additive manufacturing of ss316l using mig welding
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
Welding lecture in detail for understanding
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
CH1 Production IntroductoryConcepts.pptx
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPT on Performance Review to get promotions
OOP with Java - Java Introduction (Basics)
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
573137875-Attendance-Management-System-original
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Geodesy 1.pptx...............................................
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
additive manufacturing of ss316l using mig welding
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
CYBER-CRIMES AND SECURITY A guide to understanding
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Welding lecture in detail for understanding
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
CH1 Production IntroductoryConcepts.pptx
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026

Comparative Analysis Of GoLang Testing Frameworks

  • 1. COMPARISON OF GOLANG TESTING FRAMEWORKS Dushyant Bhalgami Software Architect @autoMate_
  • 2. OUTLINE BDD Testing Frameworks  Ginkgo + Gomega  Comparison with Cucumber Test Execution Performance  Test Scenario  Performance Statistics Unit Testing Framework  ‘testing’ + ‘testify’  Comparison with JUnit REST API Testing Frameworks  Frisby  Comparison with RESTAssured
  • 3. UNIT TESTING – “testing + testify”  What is Unit Testing?  Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation.  Unit Testing covered by GoLang’s ‘testing’ package  ‘testing’ package’s few features  Benchmarking  Code Coverage  Parallel Execution  ‘testify’ extension complements ‘testing’ package by providing support for  Assertion  Mocking
  • 4. “testing + testify” v/s “JUnit”  JUnit is famous unit testing framework for Java  Improvement Areas for GoLang’s ‘testing’ package:  Test Fixtures  Parameterized Test  Data Provider
  • 5. BDD TESTING – “Ginkgo + Gomega”  What is BDD?  Behavior-driven development (BDD) is a software development methodology in which an application is specified and designed by describing how its behavior should appear to an outside observer.  GoLang’s BDD Testing Frameworks:  Ginkgo  GoConvey  GoDog  GoSpec  GoSpecify  Ginkgo + Gomega:  Ginkgo is BDD style GoLang testing framework  Gomega is matcher/assertion library
  • 6. “Ginkgo + Gomega” v/s “Cucumber”  Features of Ginkgo  Test Fixtures  Parallel Specs  Asynchronous Tests  Table Driven Tests  ‘Cucumber’ is well-known BDD Testing Framework, having bindings for Ruby, Java, JavaScript etc.  Improvement Areas for ‘Ginkgo’:  Feature Files  Integration with Selenium for Web Testing  Performance
  • 7. REST API TESTING – “Frisby”  What is REST API Testing?  API testing is in many respects like testing software at the user-interface level, only instead of testing by means of standard user inputs and outputs, you use software to send calls to the API, get output, and validate it.  GoLang’s REST API Testing Frameworks:  Frisby  RestIt  Frisby  It’s a REST API Testing framework, inspired by Frisby.js  Simple to Implement Tests
  • 8. “Frisby” v/s “RESTAssured”  Features of Frisby  Covers all basic HTTP methods, like Get, Post, Put, Patch, Delete  Provides Assertions  JSON & XML Parsers  ‘RESTAssured’ is well-known REST API Testing Framework for Java  Improvement Areas for ‘Frisby’:  BDD style  Continuous Integration  Data Provider / Table Driven Tests
  • 9. TEST SCENARIO  Very Basic Test Scenario, which will define type of ‘Triangle’ based on dimension of sides of triangle Side3 = ‘z’ x == y == z “Equilateral” x == y || y == z || x == z “Isosceles” x != y != z “Scalene”
  • 10. PERFORMANCE STATISTICS UNIT Testing BDD Testing REST API Testing Go (Testing + Testify) JUnit Ginkgo Cucumber Frisby RESTAssured Run_1# 0.008* 0.031 1.49 0.511 0.056 2.18 Run_2 0.009 0.026 1.36 0.531 0.056 2.14 Run_3 0.011 0.026 1.38 0.521 0.057 2.11 Run_4 0.009 0.028 1.38 0.532 0.056 2.04 Run_5 0.009 0.026 1.36 0.534 0.056 2.18 Run_6 0.009 0.028 1.39 0.532 0.057 2.07 Run_7 0.009 0.026 1.37 0.552 0.054 2.07 Run_8 0.009 0.026 1.39 0.507 0.053 2.07 Run_9 0.009 0.026 1.35 0.536 0.055 2.09 Run_10 0.009 0.026 1.39 0.518 0.056 2.1 Average Execution Time 0.0091 0.0269 1.386 0.5274 0.0556 2.105 * All Times are in Seconds # Each Run consisting execution of 100 TestCases per framework