SlideShare a Scribd company logo
1 of 30
Sharing Session :
Software Testing
About Me
Name : Ahmad Widardi
Email : awidardi@gmail.com
LinkedIn : bit.ly/awidardi
Interests : Competitive Programming, Cyber Security, Software Engineering
Outline
● Introduction to Software Testing
● Demo Manual Black Box Testing with Jmeter
● Demo Automated Black Box Testing with JBehave + Serenity
● Demo Manual White Box Unit Testing with Spring
Introduction to
Software Testing
Why Testing?
● Software ALWAYS contains bugs, even the best developer will makes mistake someday
● Many bugs are hard to realized and can cause software failures
● Software Failures can also cost money, time, and much energy to solve that
● Testing assures the quality of a software and accelerates software development
Requirement vs Spesification
● Requirements is the input to a development phase
● Specification is the output to a development phase
Validation vs Verification
● Validation : The Software should confirms to its specification ( output )
● Validation : “Are we building the product right?”
● Verification : The Software should confirms to its requirement ( input )
● Verification : “Are we building the right product?”
Software Testing
Methodology
Testing Methodology
● Testing consists into 2 types of methodology :
○ Black Box Testing
○ White Box Testing
● Keyword :
○ Black Box Testing : done without knowing the code
○ White Box Testing : done by analyzing the code
Black Box Testing
● Specification-based testing ( output - oriented )
● No knowledge of internal code
● Techniques :
○ Equivalence Partitioning
○ Boundary Value Analysis
○ Decision Table
○ State Transition
● Sources : https://www.youtube.com/watch?v=7T4DGEXht40
Black Box Testing
● Equivalence Partitioning : dividing test conditions
○ Case : a field which accept numeric values
○ Test conditions:
■ Enter numeric value
■ Enter alpha-numeric value
■ Enter alphabet
● Boundary Value Analysis : use test conditions to get valid boundaries and invalid boundaries
○ Case : a field which accept numeric values from 15 to 25
○ Test conditions :
■ Take boundaries -1, boundaries, and boundaries +1
■ So we’ll test 14, 15, 16, 24, 25, and 26
● Decision Table : Deal with combination of inputs and focusing on conditions ( as input ) and
actions ( as output )
● State Transition
○ Pick test cases from an application where we need to test different system transition
○ Can be applied when app gives different output for the same input, depending on what has happened in the earlier
state
Black Box Testing
White Box Testing
● Structure-based testing
● Knowledge of internal code in required
● Techniques :
○ Statement Coverage : each statement of code should be tested at least once
○ Branch Coverage : each branching method / if-else should be tested for all cases
○ Condition Coverage : each possible condition should be tested
○ etc...
● Sources : https://www.youtube.com/watch?v=3bJcvBLJViQ
Software Testing
Based on Levels
Testing Levels
● Testing levels consists into 4 types :
○ Unit Testing
■ White Box, tested by Developers
○ Integration Testing
■ White Box / Black Box, tested by Developers
○ System Testing
■ Black Box / White Box, tested by Testers
○ Acceptance Testing
■ Black Box, tested by Users
Unit Test
● Find bugs or errors in level of function, classes, etc
● The most basic testing that should be done by the developer itself
● Ensure that the functions, classes, etc are working well without error
● Of course, it is white box testing
Integration Testing
● After all components ( functions, methods, classes, etc ) are tested with unit test, we need to
do integration test to make sure that the communication between controller - database -
service, or communication between interfaces, even communication between different
microservices are working well
● Should be done by developers
● From its definition, we can call this is white box testing, but can be called black box since
maybe we don’t know the code we will integrate with
System Testing
● Unit test completed, system is already integrated
● Usually test something with some requirement
● Example : Stress Testing, Performance Testing, Usability, etc
● Done by Testers ( can be QA )
● We don’t need to know the code inside, so usually it is Black Box Testing
Acceptance Testing
● Unit test completed, system is already integrated
● Usually test something with some requirement
● Done by Users / Customer
● Since it is tested by Customer, it is Black Box Testing
Enough Theory
For Today
Workshop
Manual Black Box Testing
with Jmeter
Load Testing 1 ( part 1 )
● Open jmeter.sh ( inside bin folder )
● Create new Test Plan ( Ctrl + N )
● Customize whatever you want for the name of test plan
● Right click at Test Plan and choose Add -> Threads (Users) -> Thread Group
● Thread means number of users that will simulate the test
● Threading
○ Choose the Thread Group, customize its name
○ Set Action to be taken after a Sampler error to Continue
○ Number of Threads : number of users that simulate the test
○ Ramp-Up period : total time needed for all users send requests completely
○ Loop Count : total loop for each user
Load Testing 1 ( part 2 )
● HTTP Request :
○ From Thread Group add sampler -> Http Request
○ Set server name to ugm.ac.id
● Capturing the results
○ From Thread Group add Listener -> View Results in Table
○ From Thread Group add Listener -> Graph Results
Load Testing 1 ( part 3 )
● Let’s try with these settings
● In Thread Group try to set with this following setting
○ Setting 1
■ Number of Threads : 1
■ Ramp-Up Period : 1
■ Loop Count : 1
■ After that, start itu ( click green play button )
■ See the result
■ Clear all results to clear the result
○ Try that setting for ( 10, 60, 4 ) and ( 1000, 1, 1000 )
■ Note ( a, b, c ) means ( Num of threads, ramp-up period, loop count )
Are you happy now?
Testing with CSV Data Set
● To be explained
Save Responses into File
● To be explained
Demo
Automated Black Box Testing
with JBehave + Serenity
Demo
Backend Unit Testing
with Spring
Thanks for coming
“Gunakan ilmu yang diberikan di jalur yang benar”
Course Material : bit.ly/sharing-session-testing

More Related Content

What's hot

Introduction to qa
Introduction to qaIntroduction to qa
Introduction to qaOmid Vahdaty
 
PChomePay unit test basic
PChomePay unit test basicPChomePay unit test basic
PChomePay unit test basicEric Huang
 
Testing & continuous delivery
Testing & continuous deliveryTesting & continuous delivery
Testing & continuous deliveryNelson Melina
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniquesFincy V.J
 
Software Testing & Debugging
Software Testing & DebuggingSoftware Testing & Debugging
Software Testing & DebuggingComputing Cage
 
White box & Black box testing
White box & Black box testingWhite box & Black box testing
White box & Black box testingNitishMhaske1
 
Software testing- an introduction
Software testing- an introductionSoftware testing- an introduction
Software testing- an introductionSanthi Priyan
 
Unit 5 testing -software quality assurance
Unit 5  testing -software quality assuranceUnit 5  testing -software quality assurance
Unit 5 testing -software quality assurancegopal10scs185
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic TestingJimi Patel
 
White box black box & gray box testing
White box black box & gray box testingWhite box black box & gray box testing
White box black box & gray box testingHimanshu
 
Learn Bug Reporting Techniques
Learn Bug Reporting TechniquesLearn Bug Reporting Techniques
Learn Bug Reporting TechniquesQA InfoTech
 
White Box Testing
White Box TestingWhite Box Testing
White Box TestingAlisha Roy
 
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREA
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREAUNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREA
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREAMarius Crisan
 

What's hot (20)

Software Testing
Software TestingSoftware Testing
Software Testing
 
Introduction to qa
Introduction to qaIntroduction to qa
Introduction to qa
 
PChomePay unit test basic
PChomePay unit test basicPChomePay unit test basic
PChomePay unit test basic
 
Testing & continuous delivery
Testing & continuous deliveryTesting & continuous delivery
Testing & continuous delivery
 
Software testing
Software testingSoftware testing
Software testing
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniques
 
Unit 4 testing
Unit 4 testingUnit 4 testing
Unit 4 testing
 
Software Testing & Debugging
Software Testing & DebuggingSoftware Testing & Debugging
Software Testing & Debugging
 
White box & Black box testing
White box & Black box testingWhite box & Black box testing
White box & Black box testing
 
Software testing- an introduction
Software testing- an introductionSoftware testing- an introduction
Software testing- an introduction
 
Testing ppt
Testing pptTesting ppt
Testing ppt
 
Unit 5 testing -software quality assurance
Unit 5  testing -software quality assuranceUnit 5  testing -software quality assurance
Unit 5 testing -software quality assurance
 
White box testing
White box testingWhite box testing
White box testing
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
 
Structure testing
Structure testingStructure testing
Structure testing
 
Automation for developers
Automation for developersAutomation for developers
Automation for developers
 
White box black box & gray box testing
White box black box & gray box testingWhite box black box & gray box testing
White box black box & gray box testing
 
Learn Bug Reporting Techniques
Learn Bug Reporting TechniquesLearn Bug Reporting Techniques
Learn Bug Reporting Techniques
 
White Box Testing
White Box TestingWhite Box Testing
White Box Testing
 
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREA
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREAUNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREA
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREA
 

Similar to Sharing Session: Software Testing Methodologies and Tools

Quality Assurance: An Overview
Quality Assurance: An OverviewQuality Assurance: An Overview
Quality Assurance: An OverviewAnant Corporation
 
manualtesting-170218090020 (1).pdf
manualtesting-170218090020 (1).pdfmanualtesting-170218090020 (1).pdf
manualtesting-170218090020 (1).pdfperamdevi06
 
Manual Testing software testing all slide
Manual Testing software testing all slideManual Testing software testing all slide
Manual Testing software testing all slideSmileySmiley39
 
How to establish ways of working that allows shifting-left of the automation ...
How to establish ways of working that allows shifting-left of the automation ...How to establish ways of working that allows shifting-left of the automation ...
How to establish ways of working that allows shifting-left of the automation ...Max Barrass
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfFarjanaParvin5
 
All Software Testing in Software Engineering
All Software Testing in Software EngineeringAll Software Testing in Software Engineering
All Software Testing in Software Engineeringsankalpkumarsahoo174
 
Android Test Driven Development & Android Unit Testing
Android Test Driven Development & Android Unit TestingAndroid Test Driven Development & Android Unit Testing
Android Test Driven Development & Android Unit Testingmahmoud ramadan
 
Writing Tests with the Unity Test Framework
Writing Tests with the Unity Test FrameworkWriting Tests with the Unity Test Framework
Writing Tests with the Unity Test FrameworkPeter Kofler
 
QA Strategies for Testing Legacy Web Apps
QA Strategies for Testing Legacy Web AppsQA Strategies for Testing Legacy Web Apps
QA Strategies for Testing Legacy Web AppsRainforest QA
 
Release & Iterate Faster: Stop Manual Testing
Release & Iterate Faster: Stop Manual TestingRelease & Iterate Faster: Stop Manual Testing
Release & Iterate Faster: Stop Manual TestingDrew Hannay
 
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptxabhivastrad007
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design Jayant Dalvi
 
Fundamentals of software testing
Fundamentals of software testingFundamentals of software testing
Fundamentals of software testingNoha Gamal
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbjeyasrig
 
www.tutorialsbook.com presents Manual testing
www.tutorialsbook.com presents Manual testingwww.tutorialsbook.com presents Manual testing
www.tutorialsbook.com presents Manual testingTutorials Book
 

Similar to Sharing Session: Software Testing Methodologies and Tools (20)

Quality Assurance: An Overview
Quality Assurance: An OverviewQuality Assurance: An Overview
Quality Assurance: An Overview
 
manualtesting-170218090020 (1).pdf
manualtesting-170218090020 (1).pdfmanualtesting-170218090020 (1).pdf
manualtesting-170218090020 (1).pdf
 
QA Process Overview
QA Process OverviewQA Process Overview
QA Process Overview
 
Manual Testing software testing all slide
Manual Testing software testing all slideManual Testing software testing all slide
Manual Testing software testing all slide
 
How to establish ways of working that allows shifting-left of the automation ...
How to establish ways of working that allows shifting-left of the automation ...How to establish ways of working that allows shifting-left of the automation ...
How to establish ways of working that allows shifting-left of the automation ...
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdf
 
All Software Testing in Software Engineering
All Software Testing in Software EngineeringAll Software Testing in Software Engineering
All Software Testing in Software Engineering
 
Android Test Driven Development & Android Unit Testing
Android Test Driven Development & Android Unit TestingAndroid Test Driven Development & Android Unit Testing
Android Test Driven Development & Android Unit Testing
 
Testing
TestingTesting
Testing
 
Software testing a guide from experience
Software testing a guide from experienceSoftware testing a guide from experience
Software testing a guide from experience
 
Writing Tests with the Unity Test Framework
Writing Tests with the Unity Test FrameworkWriting Tests with the Unity Test Framework
Writing Tests with the Unity Test Framework
 
QA Strategies for Testing Legacy Web Apps
QA Strategies for Testing Legacy Web AppsQA Strategies for Testing Legacy Web Apps
QA Strategies for Testing Legacy Web Apps
 
Release & Iterate Faster: Stop Manual Testing
Release & Iterate Faster: Stop Manual TestingRelease & Iterate Faster: Stop Manual Testing
Release & Iterate Faster: Stop Manual Testing
 
Software Testing and Debugging
Software Testing and DebuggingSoftware Testing and Debugging
Software Testing and Debugging
 
Se unit 4
Se unit 4Se unit 4
Se unit 4
 
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design
 
Fundamentals of software testing
Fundamentals of software testingFundamentals of software testing
Fundamentals of software testing
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
 
www.tutorialsbook.com presents Manual testing
www.tutorialsbook.com presents Manual testingwww.tutorialsbook.com presents Manual testing
www.tutorialsbook.com presents Manual testing
 

Recently uploaded

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 

Recently uploaded (20)

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 

Sharing Session: Software Testing Methodologies and Tools

  • 2. About Me Name : Ahmad Widardi Email : awidardi@gmail.com LinkedIn : bit.ly/awidardi Interests : Competitive Programming, Cyber Security, Software Engineering
  • 3. Outline ● Introduction to Software Testing ● Demo Manual Black Box Testing with Jmeter ● Demo Automated Black Box Testing with JBehave + Serenity ● Demo Manual White Box Unit Testing with Spring
  • 5. Why Testing? ● Software ALWAYS contains bugs, even the best developer will makes mistake someday ● Many bugs are hard to realized and can cause software failures ● Software Failures can also cost money, time, and much energy to solve that ● Testing assures the quality of a software and accelerates software development
  • 6. Requirement vs Spesification ● Requirements is the input to a development phase ● Specification is the output to a development phase
  • 7. Validation vs Verification ● Validation : The Software should confirms to its specification ( output ) ● Validation : “Are we building the product right?” ● Verification : The Software should confirms to its requirement ( input ) ● Verification : “Are we building the right product?”
  • 9. Testing Methodology ● Testing consists into 2 types of methodology : ○ Black Box Testing ○ White Box Testing ● Keyword : ○ Black Box Testing : done without knowing the code ○ White Box Testing : done by analyzing the code
  • 10. Black Box Testing ● Specification-based testing ( output - oriented ) ● No knowledge of internal code ● Techniques : ○ Equivalence Partitioning ○ Boundary Value Analysis ○ Decision Table ○ State Transition ● Sources : https://www.youtube.com/watch?v=7T4DGEXht40
  • 11. Black Box Testing ● Equivalence Partitioning : dividing test conditions ○ Case : a field which accept numeric values ○ Test conditions: ■ Enter numeric value ■ Enter alpha-numeric value ■ Enter alphabet ● Boundary Value Analysis : use test conditions to get valid boundaries and invalid boundaries ○ Case : a field which accept numeric values from 15 to 25 ○ Test conditions : ■ Take boundaries -1, boundaries, and boundaries +1 ■ So we’ll test 14, 15, 16, 24, 25, and 26
  • 12. ● Decision Table : Deal with combination of inputs and focusing on conditions ( as input ) and actions ( as output ) ● State Transition ○ Pick test cases from an application where we need to test different system transition ○ Can be applied when app gives different output for the same input, depending on what has happened in the earlier state Black Box Testing
  • 13. White Box Testing ● Structure-based testing ● Knowledge of internal code in required ● Techniques : ○ Statement Coverage : each statement of code should be tested at least once ○ Branch Coverage : each branching method / if-else should be tested for all cases ○ Condition Coverage : each possible condition should be tested ○ etc... ● Sources : https://www.youtube.com/watch?v=3bJcvBLJViQ
  • 15. Testing Levels ● Testing levels consists into 4 types : ○ Unit Testing ■ White Box, tested by Developers ○ Integration Testing ■ White Box / Black Box, tested by Developers ○ System Testing ■ Black Box / White Box, tested by Testers ○ Acceptance Testing ■ Black Box, tested by Users
  • 16. Unit Test ● Find bugs or errors in level of function, classes, etc ● The most basic testing that should be done by the developer itself ● Ensure that the functions, classes, etc are working well without error ● Of course, it is white box testing
  • 17. Integration Testing ● After all components ( functions, methods, classes, etc ) are tested with unit test, we need to do integration test to make sure that the communication between controller - database - service, or communication between interfaces, even communication between different microservices are working well ● Should be done by developers ● From its definition, we can call this is white box testing, but can be called black box since maybe we don’t know the code we will integrate with
  • 18. System Testing ● Unit test completed, system is already integrated ● Usually test something with some requirement ● Example : Stress Testing, Performance Testing, Usability, etc ● Done by Testers ( can be QA ) ● We don’t need to know the code inside, so usually it is Black Box Testing
  • 19. Acceptance Testing ● Unit test completed, system is already integrated ● Usually test something with some requirement ● Done by Users / Customer ● Since it is tested by Customer, it is Black Box Testing
  • 21. Workshop Manual Black Box Testing with Jmeter
  • 22. Load Testing 1 ( part 1 ) ● Open jmeter.sh ( inside bin folder ) ● Create new Test Plan ( Ctrl + N ) ● Customize whatever you want for the name of test plan ● Right click at Test Plan and choose Add -> Threads (Users) -> Thread Group ● Thread means number of users that will simulate the test ● Threading ○ Choose the Thread Group, customize its name ○ Set Action to be taken after a Sampler error to Continue ○ Number of Threads : number of users that simulate the test ○ Ramp-Up period : total time needed for all users send requests completely ○ Loop Count : total loop for each user
  • 23. Load Testing 1 ( part 2 ) ● HTTP Request : ○ From Thread Group add sampler -> Http Request ○ Set server name to ugm.ac.id ● Capturing the results ○ From Thread Group add Listener -> View Results in Table ○ From Thread Group add Listener -> Graph Results
  • 24. Load Testing 1 ( part 3 ) ● Let’s try with these settings ● In Thread Group try to set with this following setting ○ Setting 1 ■ Number of Threads : 1 ■ Ramp-Up Period : 1 ■ Loop Count : 1 ■ After that, start itu ( click green play button ) ■ See the result ■ Clear all results to clear the result ○ Try that setting for ( 10, 60, 4 ) and ( 1000, 1, 1000 ) ■ Note ( a, b, c ) means ( Num of threads, ramp-up period, loop count )
  • 26. Testing with CSV Data Set ● To be explained
  • 27. Save Responses into File ● To be explained
  • 28. Demo Automated Black Box Testing with JBehave + Serenity
  • 30. Thanks for coming “Gunakan ilmu yang diberikan di jalur yang benar” Course Material : bit.ly/sharing-session-testing