SlideShare a Scribd company logo
TOOLS FOR SOFTWARE TESTING
CS415 Advanced Software Engineering
A Presentation by Group 5
Mohammed Moishin - S11119760
Darren Chand - S11122084
Mohammed Jamsid - S11120422
Shaneel Sukul - S11108872
INTRODUCTION
CS415 Software Engineering
1
• Unit testing involves individually testing unit of code separately to make sure that it works on its
own, independent of the other units.
• Test Driven Development (TDD) is an evolutionary approach to development which combines
test-first development where you write a test before you write just enough production code to
fulfill that test and refactoring.
• Agile development requires solutions and requirements that evolve through the collaborative
effort of self-organizing teams with their end users.
• Agile testing follows the principle of agile development.
DISCUSSION FLOW
CS415 Advanced Software Engineering
2
2. Background
3. Criteria used to select the testing tool
4.How to Use
5. Examples and Observations
6. Summary
1. Brief history
BRIEF HISTORY
CS415 Advanced Software Engineering
3
• Software testing began in 1950’s.
• 1960’s – 1970 correctness proof method was developed.
• Next method was developed in late 1970’s which tried to find errors in the system that
was not yet discovered.
• In 1980’s defect prevention was included in the process of software testing.
• In 1990’s early test design was developed.
• In 2000’s Business Technology Optimization (BTO) was developed.
BACKGROUND
CS415 Advanced Software Engineering
4
CS415 Advanced Software Engineering
5
WHY WE NEED SUCH TOOLS
• To point out the defects and errors that were made during the development phases.
• It makes sure of the Customer’s reliability and their satisfaction in the application.
• For an effective performance of software application or product.
• To ensure that the application should not result into any failures because it can be very
expensive late stages of development.
• Improves accuracy.
CS415 Advanced Software Engineering
6
• There were many tools available for our purpose.
• We had to select a tool that fitted our criterion best.
CS415 Advanced Software Engineering
7
OUR SELECTION CRITERIA
1. The tool should be affordable/free to use.
2. The tool should be easy to use.
3. Experiment with various software automation tools.
4. The tool should allow users to perform meaningful load and performance tests to
accurately measure system performance.
5. The tool should support testing with a variety of user interfaces and create simple to
manage, east-to-modify tests.
CS415 Advanced Software Engineering
8
Software Testing
Tool
PHPUnit Codeception Atoum Behat
Brief Description It is a testing framework for
writing Unit Tests for PHP
apps. Unit tests take small
portions of code called
units and test them one by
one.
Multifeatured testing
framework for PHP.
Codeception enables to
write Unit Tests as well as
Functional and Acceptance
tests
Is an intuitive and modern PHP
testing framework that allows
unit tests.
Behaviour-driven PHpP testing
framework. Behat uses the
StoryBDD subtype of behaviour
driven development
Pros • It is basic and basic is
often simpler to start.
(for first timers)
• Best known tool for
Unit Testing.
• It is mature and very
popular.(good
documentation, lots of
tutorials and threads on
it)
• It is more than basic,
features available for
different types of testing.
• Provides support for
different other testing
framework.
• Its test cases are written
in PHP.
• Atoum is feature rich
tool.
• Is very extensible
• Integrates well with
many web servers.
• Community support is
phenomenal.
• Test cases are human
friendly.
• Behat is feature rich tool.
• Test cases and
maintenance of tests in
Behat is easier.
Cons • Not better for API
testing or acceptance
testing because of
higher level different
than Unit testing.
• Is very limited.
• Does not have much
documentation and
resources compared to
PHPUnit.
• Not much simpler and
easier to configure than
PHPUnit.
• Doesn’t have proper
abstraction for most
areas of operation.
• Not recommended for
small projects.
• Higher memory usage.
• API testing needs more
tools to integrate with.
• Due to more layers
involved
CS415 Advanced Software Engineering
9
Criterion PHPUnit Codeception Atoum Behat Max Points
Cost 9 9 8 7 10
Ease-of-use 10 9 9 9 10
Integration
with Lumen
9 9 7 8 10
Collaboration 8 9 7 8 10
Details on
changes
9 8 9 9 10
Total Point 45 44 40 41 50
CS415 Advanced Software Engineering
10
The PHP Testing Framework
• Created by Sebastian Bergmann and its development is hosted on Github
• Is a unit testing framework for the PHP language.
• It is an instance of the xUnit architecture for unit testing frameworks that originated with Sunit and became
popular with Junit.
• Is used for our backend.
CS415 Advanced Software Engineering
11
Software Testing
Tool
Brief Description Jasmine is a Behaviour
Driven Development
testing framework for
JavaScript. It does not
rely on browsers, DOM,
or any JavaScript
framework
Appium is an open source
test automation
framework for use with
native, hybrid, and mobile
web apps. It drives iOS
and Android apps using
the WebDriver protocol
Jest provides you with
multiple layers on top of
Jasmine.
Selenium automates browsers.
That's it! Primarily, it is for
automating web applications
for testing purposes.
Pros • Can be used for TDD
• Open source
• Great community
• Easy to setup
• Simple
• No dependencies, not
even DOM
• Webdriverio support
• Open source
• Support for various
framework
• Open source
• Parallel test running
• Bundled with JSDOM to
enable DOM testing
• Testing react native
apps.
• Automates browsers
• Remote control
• Easy set up
• Functional testing
• Easy to scale
• Recommended for large
projects
Cons • Cant run against the
‘real’ DOM.
• No reliance on its real
application or DOM.
• Doesn’t support image
comparison
• Too many unexpected
errors
• Longer time to
configure
• Less tooling and library
support
• Difficult to use across
board for larger projects
• Just facilitates internet
based applications
• Challenging to check
image based software
• Doesn’t supply any built-in
IDE
Intergration • Karma • Reac.js
• Karma
• No integrations yet • Selendroid
• Buddy
• Nemo.js
12
CS415 Advanced Software Engineering
13
Criterion Jasmine Appium Jest Selenium Max Points
Cost 9 8 8 7 10
Ease-of-use 9 9 8 7 10
Test-driven-
development
8 8 5 9 10
Customer
Usage
7 3 6 10 10
Git based 8 5 9 7 10
Total Points 41 32 36 40 50
CHOSEN TESTING TOOLS
CS415 Advanced Software Engineering
14
Jasmine Framework
• The developers at Pivotal Labs for Jasmine previously developed a similar unit testing framework called
JsUnit before active development of Jasmine.
• It’s a Behavior Driven Development Framework for testing JavaScript code.
• It does not depend on any other framework.
• It does not require DOM and has a clean, obvious syntax so that you can easily write tests.
• Will be used for our frontend.
HOW TO USE
CS415 Advanced Software Engineering
15
Jasmine Framework
Jasmine is a framework for writing code that tests your code. It does that primarily through the
following three functions: “describe”, “it” and “expect”:
• describe() defines a suite of tests (or “specs”)
• it() defines a test or “spec”, and it lives inside a suite. This is what defines the expected behavior
of the code you are testing.
• expect() defines the expected result of a test and lives inside of it().
CS415 Advanced Software Engineering
16
PHPUnit Testing
Defining & Running Tests
Testing JSON APIs
• Create test case.
• Run your tests.
• Lumen provides API’s.
• Test to make a post request to /user.
EXAMPLE AND RELEVANCE TO CS415
CS415 Advanced Software Engineering
17
SUMMARY
CS415 Advanced Software Engineering
18
• The importance of automated software tools.
• Why the chosen testing tools were the right choice for our group.
• Next step from here.
“
”
CS415 Advanced Software Engineering
19
Ad

More Related Content

What's hot (20)

Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Simplilearn
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
didev
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Saqib Raza
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
Pavan Kumar
 
SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4
Mohammad Faizan
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
Softheme
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
Return on Intelligence
 
JUnit Presentation
JUnit PresentationJUnit Presentation
JUnit Presentation
priya_trivedi
 
Software testing
Software testingSoftware testing
Software testing
Madhumita Chatterjee
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using Selenium
Weifeng Zhang
 
Regression Test Automation Framework
Regression Test Automation Framework Regression Test Automation Framework
Regression Test Automation Framework
Infosys
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
Santosh Maranabasari
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
Agile Testing Alliance
 
Selenium- A Software Testing Tool
Selenium- A Software Testing ToolSelenium- A Software Testing Tool
Selenium- A Software Testing Tool
Zeba Tahseen
 
Software Testing
Software TestingSoftware Testing
Software Testing
Ecaterina Moraru (Valica)
 
Seminar on Software Testing
Seminar on Software TestingSeminar on Software Testing
Seminar on Software Testing
Beat Fluri
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automation
Srikanth Vuriti
 
Software Quality Assurance
Software Quality Assurance Software Quality Assurance
Software Quality Assurance
ShashankBajpai24
 
e2e testing with cypress
e2e testing with cypresse2e testing with cypress
e2e testing with cypress
Tomasz Bak
 
Test Automation
Test AutomationTest Automation
Test Automation
nikos batsios
 
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Simplilearn
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
didev
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Saqib Raza
 
SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4
Mohammad Faizan
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
Softheme
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using Selenium
Weifeng Zhang
 
Regression Test Automation Framework
Regression Test Automation Framework Regression Test Automation Framework
Regression Test Automation Framework
Infosys
 
Selenium- A Software Testing Tool
Selenium- A Software Testing ToolSelenium- A Software Testing Tool
Selenium- A Software Testing Tool
Zeba Tahseen
 
Seminar on Software Testing
Seminar on Software TestingSeminar on Software Testing
Seminar on Software Testing
Beat Fluri
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automation
Srikanth Vuriti
 
Software Quality Assurance
Software Quality Assurance Software Quality Assurance
Software Quality Assurance
ShashankBajpai24
 
e2e testing with cypress
e2e testing with cypresse2e testing with cypress
e2e testing with cypress
Tomasz Bak
 

Similar to Tools for Software Testing (20)

4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-54&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
hemasubbu08
 
Selenium
SeleniumSelenium
Selenium
abiramimaya
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
Sauce Labs
 
Learn Selenium - Online Guide
Learn Selenium - Online GuideLearn Selenium - Online Guide
Learn Selenium - Online Guide
bigspire
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Sergey Aganezov
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
Mihai-Cristian Fratila
 
Accelerating tests with Cypress for a leaderboard platform
Accelerating tests with Cypress for a leaderboard platformAccelerating tests with Cypress for a leaderboard platform
Accelerating tests with Cypress for a leaderboard platform
Knoldus Inc.
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
QA or the Highway
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
BabuDevanandam
 
Testing Angular
Testing AngularTesting Angular
Testing Angular
Lilia Sfaxi
 
When & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsWhen & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile Applications
TechnologyAssociationOregon
 
Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)
Andrey Oleynik
 
Jenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALMJenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALM
Intland Software GmbH
 
Red7 Automating UAT Web Testing
Red7 Automating UAT Web TestingRed7 Automating UAT Web Testing
Red7 Automating UAT Web Testing
Robert Grupe, CSSLP CISSP PE PMP
 
Software testing
Software testingSoftware testing
Software testing
KarnatiChandramoules
 
Automated Testing Using Selenium
Automated Testing Using SeleniumAutomated Testing Using Selenium
Automated Testing Using Selenium
TechWell
 
Unit Testing in JavaScript
Unit Testing in JavaScriptUnit Testing in JavaScript
Unit Testing in JavaScript
Rob Scaduto
 
Selenium training in chennai
Selenium training in chennaiSelenium training in chennai
Selenium training in chennai
Thecreating Experts
 
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Minh Quân Đoàn
 
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-54&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
hemasubbu08
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
Sauce Labs
 
Learn Selenium - Online Guide
Learn Selenium - Online GuideLearn Selenium - Online Guide
Learn Selenium - Online Guide
bigspire
 
Accelerating tests with Cypress for a leaderboard platform
Accelerating tests with Cypress for a leaderboard platformAccelerating tests with Cypress for a leaderboard platform
Accelerating tests with Cypress for a leaderboard platform
Knoldus Inc.
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
QA or the Highway
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
BabuDevanandam
 
When & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsWhen & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile Applications
TechnologyAssociationOregon
 
Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)
Andrey Oleynik
 
Jenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALMJenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALM
Intland Software GmbH
 
Automated Testing Using Selenium
Automated Testing Using SeleniumAutomated Testing Using Selenium
Automated Testing Using Selenium
TechWell
 
Unit Testing in JavaScript
Unit Testing in JavaScriptUnit Testing in JavaScript
Unit Testing in JavaScript
Rob Scaduto
 
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Minh Quân Đoàn
 
Ad

Recently uploaded (20)

Solar-wind hybrid engery a system sustainable power
Solar-wind  hybrid engery a system sustainable powerSolar-wind  hybrid engery a system sustainable power
Solar-wind hybrid engery a system sustainable power
bhoomigowda12345
 
Tools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google CertificateTools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google Certificate
VICTOR MAESTRE RAMIREZ
 
How I solved production issues with OpenTelemetry
How I solved production issues with OpenTelemetryHow I solved production issues with OpenTelemetry
How I solved production issues with OpenTelemetry
Cees Bos
 
Beyond the code. Complexity - 2025.05 - SwiftCraft
Beyond the code. Complexity - 2025.05 - SwiftCraftBeyond the code. Complexity - 2025.05 - SwiftCraft
Beyond the code. Complexity - 2025.05 - SwiftCraft
Dmitrii Ivanov
 
Orion Context Broker introduction 20250509
Orion Context Broker introduction 20250509Orion Context Broker introduction 20250509
Orion Context Broker introduction 20250509
Fermin Galan
 
Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...
Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...
Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...
OnePlan Solutions
 
From Vibe Coding to Vibe Testing - Complete PowerPoint Presentation
From Vibe Coding to Vibe Testing - Complete PowerPoint PresentationFrom Vibe Coding to Vibe Testing - Complete PowerPoint Presentation
From Vibe Coding to Vibe Testing - Complete PowerPoint Presentation
Shay Ginsbourg
 
AI in Business Software: Smarter Systems or Hidden Risks?
AI in Business Software: Smarter Systems or Hidden Risks?AI in Business Software: Smarter Systems or Hidden Risks?
AI in Business Software: Smarter Systems or Hidden Risks?
Amara Nielson
 
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptxThe-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
james brownuae
 
Top Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdf
Top Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdfTop Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdf
Top Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdf
evrigsolution
 
Programs as Values - Write code and don't get lost
Programs as Values - Write code and don't get lostPrograms as Values - Write code and don't get lost
Programs as Values - Write code and don't get lost
Pierangelo Cecchetto
 
Buy vs. Build: Unlocking the right path for your training tech
Buy vs. Build: Unlocking the right path for your training techBuy vs. Build: Unlocking the right path for your training tech
Buy vs. Build: Unlocking the right path for your training tech
Rustici Software
 
Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??
Web Designer
 
Wilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For WindowsWilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For Windows
Google
 
Adobe InDesign Crack FREE Download 2025 link
Adobe InDesign Crack FREE Download 2025 linkAdobe InDesign Crack FREE Download 2025 link
Adobe InDesign Crack FREE Download 2025 link
mahmadzubair09
 
Robotic Process Automation (RPA) Software Development Services.pptx
Robotic Process Automation (RPA) Software Development Services.pptxRobotic Process Automation (RPA) Software Development Services.pptx
Robotic Process Automation (RPA) Software Development Services.pptx
julia smits
 
Mobile Application Developer Dubai | Custom App Solutions by Ajath
Mobile Application Developer Dubai | Custom App Solutions by AjathMobile Application Developer Dubai | Custom App Solutions by Ajath
Mobile Application Developer Dubai | Custom App Solutions by Ajath
Ajath Infotech Technologies LLC
 
Download MathType Crack Version 2025???
Download MathType Crack  Version 2025???Download MathType Crack  Version 2025???
Download MathType Crack Version 2025???
Google
 
How to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryErrorHow to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryError
Tier1 app
 
Meet the New Kid in the Sandbox - Integrating Visualization with Prometheus
Meet the New Kid in the Sandbox - Integrating Visualization with PrometheusMeet the New Kid in the Sandbox - Integrating Visualization with Prometheus
Meet the New Kid in the Sandbox - Integrating Visualization with Prometheus
Eric D. Schabell
 
Solar-wind hybrid engery a system sustainable power
Solar-wind  hybrid engery a system sustainable powerSolar-wind  hybrid engery a system sustainable power
Solar-wind hybrid engery a system sustainable power
bhoomigowda12345
 
Tools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google CertificateTools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google Certificate
VICTOR MAESTRE RAMIREZ
 
How I solved production issues with OpenTelemetry
How I solved production issues with OpenTelemetryHow I solved production issues with OpenTelemetry
How I solved production issues with OpenTelemetry
Cees Bos
 
Beyond the code. Complexity - 2025.05 - SwiftCraft
Beyond the code. Complexity - 2025.05 - SwiftCraftBeyond the code. Complexity - 2025.05 - SwiftCraft
Beyond the code. Complexity - 2025.05 - SwiftCraft
Dmitrii Ivanov
 
Orion Context Broker introduction 20250509
Orion Context Broker introduction 20250509Orion Context Broker introduction 20250509
Orion Context Broker introduction 20250509
Fermin Galan
 
Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...
Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...
Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...
OnePlan Solutions
 
From Vibe Coding to Vibe Testing - Complete PowerPoint Presentation
From Vibe Coding to Vibe Testing - Complete PowerPoint PresentationFrom Vibe Coding to Vibe Testing - Complete PowerPoint Presentation
From Vibe Coding to Vibe Testing - Complete PowerPoint Presentation
Shay Ginsbourg
 
AI in Business Software: Smarter Systems or Hidden Risks?
AI in Business Software: Smarter Systems or Hidden Risks?AI in Business Software: Smarter Systems or Hidden Risks?
AI in Business Software: Smarter Systems or Hidden Risks?
Amara Nielson
 
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptxThe-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
james brownuae
 
Top Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdf
Top Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdfTop Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdf
Top Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdf
evrigsolution
 
Programs as Values - Write code and don't get lost
Programs as Values - Write code and don't get lostPrograms as Values - Write code and don't get lost
Programs as Values - Write code and don't get lost
Pierangelo Cecchetto
 
Buy vs. Build: Unlocking the right path for your training tech
Buy vs. Build: Unlocking the right path for your training techBuy vs. Build: Unlocking the right path for your training tech
Buy vs. Build: Unlocking the right path for your training tech
Rustici Software
 
Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??
Web Designer
 
Wilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For WindowsWilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For Windows
Google
 
Adobe InDesign Crack FREE Download 2025 link
Adobe InDesign Crack FREE Download 2025 linkAdobe InDesign Crack FREE Download 2025 link
Adobe InDesign Crack FREE Download 2025 link
mahmadzubair09
 
Robotic Process Automation (RPA) Software Development Services.pptx
Robotic Process Automation (RPA) Software Development Services.pptxRobotic Process Automation (RPA) Software Development Services.pptx
Robotic Process Automation (RPA) Software Development Services.pptx
julia smits
 
Mobile Application Developer Dubai | Custom App Solutions by Ajath
Mobile Application Developer Dubai | Custom App Solutions by AjathMobile Application Developer Dubai | Custom App Solutions by Ajath
Mobile Application Developer Dubai | Custom App Solutions by Ajath
Ajath Infotech Technologies LLC
 
Download MathType Crack Version 2025???
Download MathType Crack  Version 2025???Download MathType Crack  Version 2025???
Download MathType Crack Version 2025???
Google
 
How to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryErrorHow to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryError
Tier1 app
 
Meet the New Kid in the Sandbox - Integrating Visualization with Prometheus
Meet the New Kid in the Sandbox - Integrating Visualization with PrometheusMeet the New Kid in the Sandbox - Integrating Visualization with Prometheus
Meet the New Kid in the Sandbox - Integrating Visualization with Prometheus
Eric D. Schabell
 
Ad

Tools for Software Testing

  • 1. TOOLS FOR SOFTWARE TESTING CS415 Advanced Software Engineering A Presentation by Group 5 Mohammed Moishin - S11119760 Darren Chand - S11122084 Mohammed Jamsid - S11120422 Shaneel Sukul - S11108872
  • 2. INTRODUCTION CS415 Software Engineering 1 • Unit testing involves individually testing unit of code separately to make sure that it works on its own, independent of the other units. • Test Driven Development (TDD) is an evolutionary approach to development which combines test-first development where you write a test before you write just enough production code to fulfill that test and refactoring. • Agile development requires solutions and requirements that evolve through the collaborative effort of self-organizing teams with their end users. • Agile testing follows the principle of agile development.
  • 3. DISCUSSION FLOW CS415 Advanced Software Engineering 2 2. Background 3. Criteria used to select the testing tool 4.How to Use 5. Examples and Observations 6. Summary 1. Brief history
  • 4. BRIEF HISTORY CS415 Advanced Software Engineering 3 • Software testing began in 1950’s. • 1960’s – 1970 correctness proof method was developed. • Next method was developed in late 1970’s which tried to find errors in the system that was not yet discovered. • In 1980’s defect prevention was included in the process of software testing. • In 1990’s early test design was developed. • In 2000’s Business Technology Optimization (BTO) was developed.
  • 6. CS415 Advanced Software Engineering 5 WHY WE NEED SUCH TOOLS • To point out the defects and errors that were made during the development phases. • It makes sure of the Customer’s reliability and their satisfaction in the application. • For an effective performance of software application or product. • To ensure that the application should not result into any failures because it can be very expensive late stages of development. • Improves accuracy.
  • 7. CS415 Advanced Software Engineering 6 • There were many tools available for our purpose. • We had to select a tool that fitted our criterion best.
  • 8. CS415 Advanced Software Engineering 7 OUR SELECTION CRITERIA 1. The tool should be affordable/free to use. 2. The tool should be easy to use. 3. Experiment with various software automation tools. 4. The tool should allow users to perform meaningful load and performance tests to accurately measure system performance. 5. The tool should support testing with a variety of user interfaces and create simple to manage, east-to-modify tests.
  • 9. CS415 Advanced Software Engineering 8 Software Testing Tool PHPUnit Codeception Atoum Behat Brief Description It is a testing framework for writing Unit Tests for PHP apps. Unit tests take small portions of code called units and test them one by one. Multifeatured testing framework for PHP. Codeception enables to write Unit Tests as well as Functional and Acceptance tests Is an intuitive and modern PHP testing framework that allows unit tests. Behaviour-driven PHpP testing framework. Behat uses the StoryBDD subtype of behaviour driven development Pros • It is basic and basic is often simpler to start. (for first timers) • Best known tool for Unit Testing. • It is mature and very popular.(good documentation, lots of tutorials and threads on it) • It is more than basic, features available for different types of testing. • Provides support for different other testing framework. • Its test cases are written in PHP. • Atoum is feature rich tool. • Is very extensible • Integrates well with many web servers. • Community support is phenomenal. • Test cases are human friendly. • Behat is feature rich tool. • Test cases and maintenance of tests in Behat is easier. Cons • Not better for API testing or acceptance testing because of higher level different than Unit testing. • Is very limited. • Does not have much documentation and resources compared to PHPUnit. • Not much simpler and easier to configure than PHPUnit. • Doesn’t have proper abstraction for most areas of operation. • Not recommended for small projects. • Higher memory usage. • API testing needs more tools to integrate with. • Due to more layers involved
  • 10. CS415 Advanced Software Engineering 9 Criterion PHPUnit Codeception Atoum Behat Max Points Cost 9 9 8 7 10 Ease-of-use 10 9 9 9 10 Integration with Lumen 9 9 7 8 10 Collaboration 8 9 7 8 10 Details on changes 9 8 9 9 10 Total Point 45 44 40 41 50
  • 11. CS415 Advanced Software Engineering 10 The PHP Testing Framework • Created by Sebastian Bergmann and its development is hosted on Github • Is a unit testing framework for the PHP language. • It is an instance of the xUnit architecture for unit testing frameworks that originated with Sunit and became popular with Junit. • Is used for our backend.
  • 12. CS415 Advanced Software Engineering 11 Software Testing Tool Brief Description Jasmine is a Behaviour Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework Appium is an open source test automation framework for use with native, hybrid, and mobile web apps. It drives iOS and Android apps using the WebDriver protocol Jest provides you with multiple layers on top of Jasmine. Selenium automates browsers. That's it! Primarily, it is for automating web applications for testing purposes. Pros • Can be used for TDD • Open source • Great community • Easy to setup • Simple • No dependencies, not even DOM • Webdriverio support • Open source • Support for various framework • Open source • Parallel test running • Bundled with JSDOM to enable DOM testing • Testing react native apps. • Automates browsers • Remote control • Easy set up • Functional testing • Easy to scale • Recommended for large projects Cons • Cant run against the ‘real’ DOM. • No reliance on its real application or DOM. • Doesn’t support image comparison • Too many unexpected errors • Longer time to configure • Less tooling and library support • Difficult to use across board for larger projects • Just facilitates internet based applications • Challenging to check image based software • Doesn’t supply any built-in IDE Intergration • Karma • Reac.js • Karma • No integrations yet • Selendroid • Buddy • Nemo.js
  • 13. 12
  • 14. CS415 Advanced Software Engineering 13 Criterion Jasmine Appium Jest Selenium Max Points Cost 9 8 8 7 10 Ease-of-use 9 9 8 7 10 Test-driven- development 8 8 5 9 10 Customer Usage 7 3 6 10 10 Git based 8 5 9 7 10 Total Points 41 32 36 40 50
  • 15. CHOSEN TESTING TOOLS CS415 Advanced Software Engineering 14 Jasmine Framework • The developers at Pivotal Labs for Jasmine previously developed a similar unit testing framework called JsUnit before active development of Jasmine. • It’s a Behavior Driven Development Framework for testing JavaScript code. • It does not depend on any other framework. • It does not require DOM and has a clean, obvious syntax so that you can easily write tests. • Will be used for our frontend.
  • 16. HOW TO USE CS415 Advanced Software Engineering 15 Jasmine Framework Jasmine is a framework for writing code that tests your code. It does that primarily through the following three functions: “describe”, “it” and “expect”: • describe() defines a suite of tests (or “specs”) • it() defines a test or “spec”, and it lives inside a suite. This is what defines the expected behavior of the code you are testing. • expect() defines the expected result of a test and lives inside of it().
  • 17. CS415 Advanced Software Engineering 16 PHPUnit Testing Defining & Running Tests Testing JSON APIs • Create test case. • Run your tests. • Lumen provides API’s. • Test to make a post request to /user.
  • 18. EXAMPLE AND RELEVANCE TO CS415 CS415 Advanced Software Engineering 17
  • 19. SUMMARY CS415 Advanced Software Engineering 18 • The importance of automated software tools. • Why the chosen testing tools were the right choice for our group. • Next step from here.
  翻译: