SlideShare a Scribd company logo
1 of 18
TESTING WEB-BASED
APPLICATIONS
Aisha Alimi
INTRODUCTION
▰ The wide explosion of the Internet has increased the demand
for Web-based applications with stricter quality requirements
▰ Due to time-to-market pressures, developers neglect testing of
Web applications
▰ This bad habit, therefore triggers the need for efficient and
cost-effective testing approaches for verifying and validating
the quality of the applications
2
INTRODUCTION (CONTD.)
▰A Web application can be considered as a distributed system,
with multi-tier architecture, including the following main
characteristics
▻ a wide number of users accessing it concurrently
▻ heterogeneous nature (e.g. web servers, programming
languages, browsers, operating systems, databases)
▻ the ability of dynamically generating software components
3
AIM
▰The aim of Web application testing is to reveal failures.
▰A failure is the manifested inability of a system or component
to perform a required function within specified performance
requirements
4
TESTING NON-FUNCTIONAL REQUIREMENTS
▰ Performance testing: verify specified system performances (e.g.
response time) by simulating hundreds, or more, simultaneous users
accesses over a defined time interval
▰ Load testing: form of performance testing with a pre-defined load
level. A failure is reported if system fails under load level.
▰ Stress testing: testing the application beyond the limits of specified
requirement to see if system crashes or is able to successfully
recover
5
TESTING NON-FUNCTIONAL REQUIREMENTS
▰Compatibility testing: uncover failures due to the usage of
different Web server platforms or client browsers, or different
releases or configurations of them. Also deals with rendering
on mobile devices.
▰Usability testing: testing how users interact with the interface
of the application and how easy to use it is. Tests elements of
navigation, help options and content (spelling, fonts, colours)
6
TESTING NON-FUNCTIONAL REQUIREMENTS
▰ Accessibility testing: verify that access to the content of the
application is allowed even in presence of reduced hardware/
software configurations on the client side or of users with
disability. Testing should comply against accessibility standards.
▰ Security testing: verify the effectiveness of the web system
defenses against access of unauthorized users and to grant the
access to authorized users to authorized services and resources.
7
TESTING FUNCTIONAL REQUIREMENTS
▰Testing the functionality of a web application relies on different
▻ Testing levels
▻ Testing approaches
▻ Test techniques
8
TESTING LEVELS
▰ Unit Testing: Verifies functionality of a particular section. Basic
unit of a web app are the web pages. Detects failures broken links,
incorrect data storage
▰ Integration Testing: Identifies failure in coupling of related web
pages. Ex. pages linked by hypertext links or submit buttons,
dynamically created pages
▰ System Testing: discover defects that affect the entire application.
Verifying that a completely integrated system meets its
requirements 9
TESTING APPROACHES
▰ White-box testing: tests the internal workings of an application.
Designs test cases based on knowledge of the source-code
▰ Black-box testing: tests the functionality of application without
knowledge of internal workings. Tester knows what? but not how?
▰ Grey-box testing: hybrid of white-box and black-box approaches
10
TESTING TECHNIQUES : MODEL BASED TECHNIQUE
▰Starts with developing a model of the application and then
traversing the model to create test cases.
▰The model represents components of the application and and
interconnections.
11
Web application Web Application
Is a partial description of
Model
generates
Executable Test Cases
Are run against
MUTATION TESTING
▰ Mutation testing is a form of testing in which a program P is taken as
input.
▰ A modified version of the program P is then created. The modified
versions of the program are called mutants.
▰ Mutants are designed based on mimicking typical programming
errors
▰ Test cases are designed with the aim of detecting program
modifications by causing the behavior of the original version to
differ from the mutant 12
SEARCH BASED TESTING
▰ The main aim of this form of testing is to cover as many branches as
possible and thus improve testing coverage
▰ Algorithm is designed to iterate through nearly all branches of the web
application
▰ The main advantage of Search Based technique is that testing is complete
and done thoroughly
▰ The limitation however, is that it is slow compared to other techniques
13
SCANNING TECHNIQUES
▰ Scanning techniques are mainly intended to check the security of Web
applications
▰ A Web application is injected with unsanitised input, which may result in
malicious modifications of the database if not detected
▰ Scanners are tools which detect these attacks and then determine the type
based on the behaviour of the Web application
▰ Most common injection attacks detected are cross-site scripting (XSS)
and SQL injection
14
FUZZ TESTING (RANDOM TESTING)
▰Involves providing invalid, unexpected, or random data as
inputs to the web application
▰The app is the monitored for crashes or critical and exploitable
bugs
▰An effective “fuzzer” generates semi-valid inputs that are not
directly rejected, but do create unexpected behaviors deeper in
the app
15
WEB TESTING AUTOMATION
▰Testing can be automated by using tools that carry out test-case
generation and execution, as well as evaluation of test results.
▰Most can be categorized into:
▻ Performance, load and stress tools
▻ Security test tools
▻ HTML validators
▻ Link checkers
▻ Usability and accessibility tools
▻ Web functional test tools 16
CONCLUSION
▰ Due to its heterogeneous nature and the ever growing complexity, it
is important that proper attention is given to testing Web applications
▰ Most knowledge and expertise in the field of ‘traditional software’
testing can still be applied to web application testing
▰ What is important is for testing technologies be adapted to the
heterogenous and dynamic nature of web applications
▰ Research is continually being done to come up with better
testing technologies. 17
THANKS!
Any questions?

More Related Content

What's hot

16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-pptatish90
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | EdurekaEdureka!
 
Manual Testing tutorials and Interview Questions.pptx
Manual Testing tutorials and Interview Questions.pptxManual Testing tutorials and Interview Questions.pptx
Manual Testing tutorials and Interview Questions.pptxPrasanta Sahoo
 
Manual testing real time questions by subbu
Manual testing real time questions by subbuManual testing real time questions by subbu
Manual testing real time questions by subbupalla subrahmanyam
 
30 testing interview questions for experienced
30 testing interview questions for experienced30 testing interview questions for experienced
30 testing interview questions for experienceddilipambhore
 
What is Web Testing?
What is Web Testing?   What is Web Testing?
What is Web Testing? QA InfoTech
 
QA interview questions and answers
QA interview questions and answersQA interview questions and answers
QA interview questions and answersMehul Chauhan
 
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBearTestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBearSoftware Testing Solution
 
Integration testing
Integration testingIntegration testing
Integration testingVaibhav Dash
 
Ecommerce testing
Ecommerce testingEcommerce testing
Ecommerce testingbadurkar
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-conceptsmedsherb
 
Katalon Studio - GUI Overview
Katalon Studio - GUI OverviewKatalon Studio - GUI Overview
Katalon Studio - GUI OverviewKatalon Studio
 
Testing, black ,white and gray box testing
Testing, black ,white and gray box testingTesting, black ,white and gray box testing
Testing, black ,white and gray box testingAamir Shakir
 
Software Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief OverviewSoftware Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief OverviewSoftheme
 
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...Edureka!
 

What's hot (20)

16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | Edureka
 
Manual Testing tutorials and Interview Questions.pptx
Manual Testing tutorials and Interview Questions.pptxManual Testing tutorials and Interview Questions.pptx
Manual Testing tutorials and Interview Questions.pptx
 
Manual testing real time questions by subbu
Manual testing real time questions by subbuManual testing real time questions by subbu
Manual testing real time questions by subbu
 
30 testing interview questions for experienced
30 testing interview questions for experienced30 testing interview questions for experienced
30 testing interview questions for experienced
 
What is Web Testing?
What is Web Testing?   What is Web Testing?
What is Web Testing?
 
QA interview questions and answers
QA interview questions and answersQA interview questions and answers
QA interview questions and answers
 
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBearTestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
 
Testing
TestingTesting
Testing
 
Integration testing
Integration testingIntegration testing
Integration testing
 
Ecommerce testing
Ecommerce testingEcommerce testing
Ecommerce testing
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Katalon Studio - GUI Overview
Katalon Studio - GUI OverviewKatalon Studio - GUI Overview
Katalon Studio - GUI Overview
 
Testing, black ,white and gray box testing
Testing, black ,white and gray box testingTesting, black ,white and gray box testing
Testing, black ,white and gray box testing
 
Software Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief OverviewSoftware Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief Overview
 
Katalon Studio Presentation.pptx
Katalon Studio Presentation.pptxKatalon Studio Presentation.pptx
Katalon Studio Presentation.pptx
 
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Manual testing
Manual testingManual testing
Manual testing
 
Software testing
Software testingSoftware testing
Software testing
 

Similar to Testing Web Apps: A Guide to Functional & Non-Functional Testing

Testing of web based Applicatons
Testing of web based ApplicatonsTesting of web based Applicatons
Testing of web based ApplicatonsVenkatakumar Reddy
 
Automated Front End Testing_ Navigating Types and Tools for Optimal Web Devel...
Automated Front End Testing_ Navigating Types and Tools for Optimal Web Devel...Automated Front End Testing_ Navigating Types and Tools for Optimal Web Devel...
Automated Front End Testing_ Navigating Types and Tools for Optimal Web Devel...kalichargn70th171
 
Web Application Testing – The Basics of Web App Test Automation.pdf
Web Application Testing – The Basics of Web App Test Automation.pdfWeb Application Testing – The Basics of Web App Test Automation.pdf
Web Application Testing – The Basics of Web App Test Automation.pdfpCloudy
 
Web application automated testing types and tools
Web application automated testing types and toolsWeb application automated testing types and tools
Web application automated testing types and toolsTestingXperts
 
Glimpse and Benefits of Testing
Glimpse and Benefits of TestingGlimpse and Benefits of Testing
Glimpse and Benefits of TestingSourabh Kasliwal
 
Mastering Manual Web Application Testing- Best Practices and Techniques.pdf
Mastering Manual Web Application Testing- Best Practices and Techniques.pdfMastering Manual Web Application Testing- Best Practices and Techniques.pdf
Mastering Manual Web Application Testing- Best Practices and Techniques.pdfAmeliaJonas2
 
SQA PPT by students of tybsc.it 2023--24
SQA PPT by students of tybsc.it 2023--24SQA PPT by students of tybsc.it 2023--24
SQA PPT by students of tybsc.it 2023--24RishiSingh252284
 
BOOST YOUR WEBSITE WITH TOP STRATEGIES TOOLS FOR WEB APP TESTING.pdf
BOOST YOUR WEBSITE WITH TOP STRATEGIES TOOLS FOR WEB APP TESTING.pdfBOOST YOUR WEBSITE WITH TOP STRATEGIES TOOLS FOR WEB APP TESTING.pdf
BOOST YOUR WEBSITE WITH TOP STRATEGIES TOOLS FOR WEB APP TESTING.pdfasiyahanif9977
 
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEMA RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEMijseajournal
 
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEMA RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEMijseajournal
 
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...Esraa Farrag
 
How to Conduct Effective Functional Testing on a Web Application.pdf
How to Conduct Effective Functional Testing on a Web Application.pdfHow to Conduct Effective Functional Testing on a Web Application.pdf
How to Conduct Effective Functional Testing on a Web Application.pdfAlpha BOLD
 
What is Selenium Testing.pdf
What is Selenium Testing.pdfWhat is Selenium Testing.pdf
What is Selenium Testing.pdfAnanthReddy38
 
Presentation on mobile app testing
Presentation on mobile app testingPresentation on mobile app testing
Presentation on mobile app testingUttam Shrestha
 
Unit Testing Essay
Unit Testing EssayUnit Testing Essay
Unit Testing EssayDani Cox
 
What is Performance Testing?
What is Performance Testing?What is Performance Testing?
What is Performance Testing?QA InfoTech
 
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdfSoftware Engineering-Unit 5 "Software Testing"by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdfProf. Dr. K. Adisesha
 

Similar to Testing Web Apps: A Guide to Functional & Non-Functional Testing (20)

Testing of web based Applicatons
Testing of web based ApplicatonsTesting of web based Applicatons
Testing of web based Applicatons
 
Automated Front End Testing_ Navigating Types and Tools for Optimal Web Devel...
Automated Front End Testing_ Navigating Types and Tools for Optimal Web Devel...Automated Front End Testing_ Navigating Types and Tools for Optimal Web Devel...
Automated Front End Testing_ Navigating Types and Tools for Optimal Web Devel...
 
Web Application Testing – The Basics of Web App Test Automation.pdf
Web Application Testing – The Basics of Web App Test Automation.pdfWeb Application Testing – The Basics of Web App Test Automation.pdf
Web Application Testing – The Basics of Web App Test Automation.pdf
 
Web application automated testing types and tools
Web application automated testing types and toolsWeb application automated testing types and tools
Web application automated testing types and tools
 
Glimpse and Benefits of Testing
Glimpse and Benefits of TestingGlimpse and Benefits of Testing
Glimpse and Benefits of Testing
 
Mastering Manual Web Application Testing- Best Practices and Techniques.pdf
Mastering Manual Web Application Testing- Best Practices and Techniques.pdfMastering Manual Web Application Testing- Best Practices and Techniques.pdf
Mastering Manual Web Application Testing- Best Practices and Techniques.pdf
 
Testing
Testing Testing
Testing
 
SQA PPT by students of tybsc.it 2023--24
SQA PPT by students of tybsc.it 2023--24SQA PPT by students of tybsc.it 2023--24
SQA PPT by students of tybsc.it 2023--24
 
BOOST YOUR WEBSITE WITH TOP STRATEGIES TOOLS FOR WEB APP TESTING.pdf
BOOST YOUR WEBSITE WITH TOP STRATEGIES TOOLS FOR WEB APP TESTING.pdfBOOST YOUR WEBSITE WITH TOP STRATEGIES TOOLS FOR WEB APP TESTING.pdf
BOOST YOUR WEBSITE WITH TOP STRATEGIES TOOLS FOR WEB APP TESTING.pdf
 
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEMA RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
 
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEMA RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
 
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
 
Testing webapps
Testing webappsTesting webapps
Testing webapps
 
How to Conduct Effective Functional Testing on a Web Application.pdf
How to Conduct Effective Functional Testing on a Web Application.pdfHow to Conduct Effective Functional Testing on a Web Application.pdf
How to Conduct Effective Functional Testing on a Web Application.pdf
 
What is Selenium Testing.pdf
What is Selenium Testing.pdfWhat is Selenium Testing.pdf
What is Selenium Testing.pdf
 
Presentation on mobile app testing
Presentation on mobile app testingPresentation on mobile app testing
Presentation on mobile app testing
 
Unit Testing Essay
Unit Testing EssayUnit Testing Essay
Unit Testing Essay
 
Software testing
Software testingSoftware testing
Software testing
 
What is Performance Testing?
What is Performance Testing?What is Performance Testing?
What is Performance Testing?
 
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdfSoftware Engineering-Unit 5 "Software Testing"by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

Testing Web Apps: A Guide to Functional & Non-Functional Testing

  • 2. INTRODUCTION ▰ The wide explosion of the Internet has increased the demand for Web-based applications with stricter quality requirements ▰ Due to time-to-market pressures, developers neglect testing of Web applications ▰ This bad habit, therefore triggers the need for efficient and cost-effective testing approaches for verifying and validating the quality of the applications 2
  • 3. INTRODUCTION (CONTD.) ▰A Web application can be considered as a distributed system, with multi-tier architecture, including the following main characteristics ▻ a wide number of users accessing it concurrently ▻ heterogeneous nature (e.g. web servers, programming languages, browsers, operating systems, databases) ▻ the ability of dynamically generating software components 3
  • 4. AIM ▰The aim of Web application testing is to reveal failures. ▰A failure is the manifested inability of a system or component to perform a required function within specified performance requirements 4
  • 5. TESTING NON-FUNCTIONAL REQUIREMENTS ▰ Performance testing: verify specified system performances (e.g. response time) by simulating hundreds, or more, simultaneous users accesses over a defined time interval ▰ Load testing: form of performance testing with a pre-defined load level. A failure is reported if system fails under load level. ▰ Stress testing: testing the application beyond the limits of specified requirement to see if system crashes or is able to successfully recover 5
  • 6. TESTING NON-FUNCTIONAL REQUIREMENTS ▰Compatibility testing: uncover failures due to the usage of different Web server platforms or client browsers, or different releases or configurations of them. Also deals with rendering on mobile devices. ▰Usability testing: testing how users interact with the interface of the application and how easy to use it is. Tests elements of navigation, help options and content (spelling, fonts, colours) 6
  • 7. TESTING NON-FUNCTIONAL REQUIREMENTS ▰ Accessibility testing: verify that access to the content of the application is allowed even in presence of reduced hardware/ software configurations on the client side or of users with disability. Testing should comply against accessibility standards. ▰ Security testing: verify the effectiveness of the web system defenses against access of unauthorized users and to grant the access to authorized users to authorized services and resources. 7
  • 8. TESTING FUNCTIONAL REQUIREMENTS ▰Testing the functionality of a web application relies on different ▻ Testing levels ▻ Testing approaches ▻ Test techniques 8
  • 9. TESTING LEVELS ▰ Unit Testing: Verifies functionality of a particular section. Basic unit of a web app are the web pages. Detects failures broken links, incorrect data storage ▰ Integration Testing: Identifies failure in coupling of related web pages. Ex. pages linked by hypertext links or submit buttons, dynamically created pages ▰ System Testing: discover defects that affect the entire application. Verifying that a completely integrated system meets its requirements 9
  • 10. TESTING APPROACHES ▰ White-box testing: tests the internal workings of an application. Designs test cases based on knowledge of the source-code ▰ Black-box testing: tests the functionality of application without knowledge of internal workings. Tester knows what? but not how? ▰ Grey-box testing: hybrid of white-box and black-box approaches 10
  • 11. TESTING TECHNIQUES : MODEL BASED TECHNIQUE ▰Starts with developing a model of the application and then traversing the model to create test cases. ▰The model represents components of the application and and interconnections. 11 Web application Web Application Is a partial description of Model generates Executable Test Cases Are run against
  • 12. MUTATION TESTING ▰ Mutation testing is a form of testing in which a program P is taken as input. ▰ A modified version of the program P is then created. The modified versions of the program are called mutants. ▰ Mutants are designed based on mimicking typical programming errors ▰ Test cases are designed with the aim of detecting program modifications by causing the behavior of the original version to differ from the mutant 12
  • 13. SEARCH BASED TESTING ▰ The main aim of this form of testing is to cover as many branches as possible and thus improve testing coverage ▰ Algorithm is designed to iterate through nearly all branches of the web application ▰ The main advantage of Search Based technique is that testing is complete and done thoroughly ▰ The limitation however, is that it is slow compared to other techniques 13
  • 14. SCANNING TECHNIQUES ▰ Scanning techniques are mainly intended to check the security of Web applications ▰ A Web application is injected with unsanitised input, which may result in malicious modifications of the database if not detected ▰ Scanners are tools which detect these attacks and then determine the type based on the behaviour of the Web application ▰ Most common injection attacks detected are cross-site scripting (XSS) and SQL injection 14
  • 15. FUZZ TESTING (RANDOM TESTING) ▰Involves providing invalid, unexpected, or random data as inputs to the web application ▰The app is the monitored for crashes or critical and exploitable bugs ▰An effective “fuzzer” generates semi-valid inputs that are not directly rejected, but do create unexpected behaviors deeper in the app 15
  • 16. WEB TESTING AUTOMATION ▰Testing can be automated by using tools that carry out test-case generation and execution, as well as evaluation of test results. ▰Most can be categorized into: ▻ Performance, load and stress tools ▻ Security test tools ▻ HTML validators ▻ Link checkers ▻ Usability and accessibility tools ▻ Web functional test tools 16
  • 17. CONCLUSION ▰ Due to its heterogeneous nature and the ever growing complexity, it is important that proper attention is given to testing Web applications ▰ Most knowledge and expertise in the field of ‘traditional software’ testing can still be applied to web application testing ▰ What is important is for testing technologies be adapted to the heterogenous and dynamic nature of web applications ▰ Research is continually being done to come up with better testing technologies. 17

Editor's Notes

  1. network connections, operating systems, Web servers and Web browsers divergent programming languages user interactions, the application’s data, or other information (eg, current time and the user’s location
  2. Performance is critical because users don’t like waiting too long simultaneous connection to DB, heavy load on specific pages
  3. Compatibility – mobile Usability –real users, focus
  4. Access- limit graphics if you don’t have flash installed, script execution Security – critical , a lot to lose , heterogenous nature and large number of users that can access from anywhere
  5. Levels – scope Approaches – methods, degree of knowledge of tester Techniqes – ways of coming up with test cases or plan
  6. other units – forms, scripts, applets Client page and server pages Unit testing ensures units work independently Ensure the structure of the web app is outline
  7. Methods of designing test cases Point of view of tester White box testing – developer knows what app is supposed to do and how White tester – efficient or susceptible to attack Researchers well suited for web apps
  8. such as using the wrong operator or variable name The purpose is to help the tester develop effective tests or locate weaknesses Form of white-box testing
  9. Web applications to carry out a host of different tasks, including financial transactions, appointment booking and communications (emails, instant messaging and voice/video calls), it is important to ensure the privacy of users and the integrity of the transactions Therefore, if a Web application is not properly tested, it means that a lot of potential users could risk losing their private data and/or facing severe financial losses