SlideShare a Scribd company logo
1 of 29
Testing types
Functional and Nonfunctional Testing
Kati Holasz.
Outline
➔ Functional Testing
➔ Nonfunctional Testing
Functional Testing Types
→ functional requirement → a requirement that specifies a function that a system or component must be
able to perform
→ WHAT the product does
Types:
1. Unit testing
2. Integration testing
3. System Testing
4. Acceptance Testing (UAT)
5. Smoke Testing
6. Sanity Testing
7. Regression Testing
8. Alpha Testing
9. Beta Testing
Non-functional Testing Types
→ nonfunctional requirement → requirement that specifies the system’s quality characteristics or attributes
→ HOW WELL the system behaves
“Measure what is measurable, and make measurable what is not so. “ - Galileo Galilei
Types:
1. Usability
2. Security
3. Efficiency → Performance
- Load
- Endurance
- Volume
- Stress
- Spike
- Scalability
4. Portability
5. Internationalization
6. Localization
7. Installation
8. Migration
Functional Vs. Non-Functional Testing
Functional Testing Non-Functional Testing
→ performed using the functional specification
provided by the client and verifies the system
against the functional requirements.
→ checks the performance, reliability,
scalability and other non-functional aspects of
the software system.
Manual testing or automation tools can be used
Business requirements are the inputs to
functional testing
Performance parameters like speed, scalability
are inputs to non-functional testing.
→ describes what the product does → describes how good the product behaves
→ is based on client requirements → is based on client expectations
Functional Testing
Types
1. Unit Testing
→ individual modules are tested to determine if there are any issues, to isolate each unit of the system to identify,
analyze and fix the defects. Individual software modules are integrated logically and tested as a group.
WHEN: after module is coded
WHO: developer
METHOD: white box techniques
Eg.
- Check whenever the login functionality/ module works
Module
Login
2. Integration Testing
→ is a level in software testing in which unit tested individual software modules are
combined and tested as a whole. The purpose of integration testing is to verify the
functional, performance, and reliability between the modules that are integrated.
FOCUS: on the integrated interfaces and the data flow between this interfaces and
modules
WHEN: after module testing (unit testing)
WHO: Developer and Tester
METHODS: White Box and Black Box techniques
Eg.
- Check the interface link between the Login module to email and Mailbox module
- Check the interface link between the Mailbox and Delete Mails Module
Module
Login
Module
Mailbox
3. System Testing
→ the complete testing of a fully integrated application. The purpose of
this test is to evaluate the system’s compliance with the specified
requirements.
WHEN: after integration testing
WHO: Developer and Tester
METHOD: Black Box Techniques
Eg.
- If the site launches properly with all the relevant pages, features
and logo
- If the user can register/login to the site
- If the site launches properly in all major browsers and their latest
versions
- If session timeout is implemented and working as expected
Module
Login
Module
Mailbox
Module
Create Emails
Module
Delete Emails
4. User Acceptance Testing
→ is a level of the software testing where a system is tested for acceptability. The purpose of this test is to evaluate
the system’s compliance with the business requirements and assess whether it is acceptable for delivery.
WHEN: after system testing
WHO: Users and Customer Product team
METHOD: Black Box Techniques
→ Alpha and Beta testing
Module
Login
Module
Mailbox
Module
Create Emails
Module
Delete Emails
5. Smoke Testing
→ is performed to ascertain that the critical functionalities of the program is working fine
→ the purpose is to verify the "stability" of the system in order to proceed with more rigorous testing
WHEN: after new functionality is added or fixes or done (new builds) - unstable builds
WHO: Developer and Tester
Eg.
- If the user can access the software application
- If the user can log in
- If the user can navigate through the modules
- If the GUI is responsive
6. Sanity Testing
→ performed after receiving a software build, with minor changes in code, or functionality,
to ascertain that the bugs have been fixed and no further issues are introduced due to
these changes
→ follows narrow and deep approach with detailed testing of some limited features.
→ to check the planned functionality is working as expected, instead of doing the whole
regression testing the Sanity testing is performed.
WHEN: minor changes - stable builds
WHO: Developer and Tester
Module
Login
updates/
changes
Process
7. Regression Testing
→ is performed to verify that the defect fixes made to the software works as expected and does not break the
existing functionality.
→ Purpose to make sure that new code changes should not have side effects on the existing functionalities
WHEN:
● Change in requirements and code is modified according to the requirement
● New feature is added to the software
● Defect fixing
● Performance issue fix
WHO: Developer and Tester
Techniques:
- Complete regression - Run entire regression suite
- Regression test selection
- Prioritized regression
8. Alpha Testing
→ is a type of acceptance testing; performed to identify all possible issues/bugs before releasing the
product to everyday users or public.
→ Improve the quality of the product and ensure beta readiness
→ performed at developer's site
WHEN: Toward the end of a development process when the product is in a near fully-usable state.
WHO: Tester, Developers and maybe other internal employees of the organization
HOW: Black box techniques
9. Beta Testing
→ Improve the quality of the product, integrate customer input on the complete product, and ensure release
readiness; is performed by "real users" of the software application in a "real environment" and can be
considered as a form of external user acceptance testing.
→ is performed at client location or end user of the product
WHEN: After alpha testing, just prior to launch, sometimes ending within weeks or even days of final
release.
WHO: Tested in the “real world” with “real customers”
HOW: Black box techniques
Summary
Unit testing
Integration testing
System Testing
Acceptance Testing (UAT)
Smoke Testing
Sanity Testing
Regression Testing
Alpha Testing
Beta Testing
Non-functional
Testing Types
Usability Testing
→ a way to see how easy the application is to use by real users
→ user centered interaction to evaluate a product from users perspective
Usability: the capability of the software product to be understood, learned, used and attractive
to the user, when used under specified conditions.
Components:
● Learnability - How easy is it for users to accomplish basic tasks the first time?
● Efficiency - How fast can experienced users accomplish tasks?
● Memorability - Does the user remember enough to use it effectively the next time?
● Satisfaction - How much does the user like using the system?
● Errors - How many errors do users make, how severe are these errors and how easily
can they recover from the errors?
Eg.
- Test how easy a user can navigate through the app main flow
- How easy can a user do certain actions - How intuitive the functionality is
- We check how easy it is for him/her to find all the information he/she needs.
Performance Testing
→ determine the system parameters in terms of responsiveness and
stability
PERFORMANCE TESTING = how fast & stable is the system?
OBJECTIVE IS TO FIND THE BOTTLENECK IN THE SYSTEM
Eg.
- Editing a very large document for testing of word processor
- Continuously reading and writing data into hard disk.
- Testing of mail server by accessing thousands of mailboxes
- Running multiple applications simultaneously on server.
- Testing database response time by sending complex queries
for processing
Load
Testing
Stress
Testing
Capacity
or Volume
Testing
Soak or
Endurance
Testing
Spike
Testing
Security Testing
→ determine if an information system protects data and maintains functionality as intended.
→ Goal → is to identify the threats in the system and measure its potential vulnerabilities.
Eg.
● Log into the web application. Log out of the web application.
Click the BACK button of the browser (Check if you are asked to log in again)
● For financial sites, Browser back button should not work
● Cookies / session time
● Password (check for hard coded data, should be encrypted, etc)
● Application/System should not allow invalid users
● URL Manipulation
● SQL injection
● XSS
Read more → Owasp Top 10 Vulnerabilities 2017 - https://www.owasp.org/index.php/Top_10_2017-Top_10
Portability Testing
→ ease with which a computer software component or application can be
moved from one environment to another
- Portability over different operating systems and versions
- Portability over different browser and browser versions
- Portability over different resolutions
- Portability over different mobile platforms
- Portability over hardware platforms (servers, network connectivity
devices, input devices, and output devices)
Eg.
- moving of any application from Windows 2000 to Windows 10
Localization & Internationalization
Testing
Localization → checking the localized version of a product for that particular
culture or locale settings. The areas affected by localization testing
are UI and content.
→ adapting internationalized software for a specific region or
language by adding locale-specific components and translating
text.
→ specific features for a specific locale
Internationalization → Can your code travel? When the time comes, will it be able to
handle different character sets? Will it be able to display a right to
left layout?
→ application so that it can potentially be adapted to various
languages and regions without engineering changes.
→ adapting product to be used everywhere
Localization & Internationalization
Testing
Eg.
- Untranslated messages in the original language may be left hard coded in the
source code
- Software may use a keyboard shortcut which has no function on the source
language keyboard layout
- Date and time formats (including numeric formats)
- Currency used
- Keyboard usage
- Sorting, aligning and collating data
- Colors schemes, symbols and icons
- Text and graphics which, in a given culture, may be viewed as sensitive or can be
misinterpreted.
- Diverse legal requirements
- Software may display images with text that wasn't localized
Migration Testing
→ is the process of transferring data between computer storage types or file
formats.
Eg.
Consider database migration for a online shop we should ensure following:
- All users were migrated successfully
- User accounts and associated orders
- Associated settings
- All products and associated items were migrated successfully
- Tables have the correct structure
- Constraints, keys
- Data formats are transferred correctly
- Content is not missing
- Content is not duplicated
- Edge cases
Installation Testing
→ performed to verify if the software has been installed with all the necessary
components and the application is working as expected.
Eg.
- Verify if there are any prerequisites that need to be met before installation
- Verify installation without/ with administration privileges
- Verify is .exe is executing smoothly
- Verify that user should able to install software from different location like over
network, online installation, installation from CD, etc
- Verify the GUI screen presented and if there’s any need of user input
- Verify the software installation on all required platforms
- Verify that after successful installation of software is it working as expected
- Verify that is user able to uninstall or repair the software application
Questions
Thank you!

More Related Content

What's hot

30 testing interview questions for experienced
30 testing interview questions for experienced30 testing interview questions for experienced
30 testing interview questions for experienced
dilipambhore
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
Chankey Pathak
 

What's hot (20)

Manual Testing Notes
Manual Testing NotesManual Testing Notes
Manual Testing Notes
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testing
 
Software testing
Software testingSoftware testing
Software testing
 
functional testing
functional testing functional testing
functional testing
 
Agile testing
Agile testingAgile testing
Agile testing
 
Software testing
Software testingSoftware testing
Software testing
 
QA interview questions and answers
QA interview questions and answersQA interview questions and answers
QA interview questions and answers
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECH
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Intro to Manual Testing
Intro to Manual TestingIntro to Manual Testing
Intro to Manual Testing
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Regression testing
Regression testingRegression testing
Regression testing
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Testing
TestingTesting
Testing
 
Testing methodology
Testing methodologyTesting methodology
Testing methodology
 
30 testing interview questions for experienced
30 testing interview questions for experienced30 testing interview questions for experienced
30 testing interview questions for experienced
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
 

Similar to Testing types functional and nonfunctional - Kati Holasz

Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
nazeer pasha
 

Similar to Testing types functional and nonfunctional - Kati Holasz (20)

Software testing techniques
Software testing techniquesSoftware testing techniques
Software testing techniques
 
STLC– software testing life cycle
STLC– software testing life cycleSTLC– software testing life cycle
STLC– software testing life cycle
 
Testing
Testing Testing
Testing
 
Software testing career 20180929 update
Software testing career 20180929 updateSoftware testing career 20180929 update
Software testing career 20180929 update
 
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
 
Solution Evaluation (BA Role)
Solution Evaluation (BA Role)   Solution Evaluation (BA Role)
Solution Evaluation (BA Role)
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Testing
TestingTesting
Testing
 
Software testing career
Software testing careerSoftware testing career
Software testing career
 
SDLCTesting
SDLCTestingSDLCTesting
SDLCTesting
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Window Desktop Application Testing
Window Desktop Application TestingWindow Desktop Application Testing
Window Desktop Application Testing
 
Testing level
Testing levelTesting level
Testing level
 
Faq
FaqFaq
Faq
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Gd test kieu_test
Gd test kieu_testGd test kieu_test
Gd test kieu_test
 

More from Holasz Kati

Your body language shapes who you are - K.H.
Your body language shapes who you are - K.H.Your body language shapes who you are - K.H.
Your body language shapes who you are - K.H.
Holasz Kati
 
Transformational Management
Transformational ManagementTransformational Management
Transformational Management
Holasz Kati
 
Maven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafe
Holasz Kati
 
MAVEN - Short documentation
MAVEN - Short documentationMAVEN - Short documentation
MAVEN - Short documentation
Holasz Kati
 
SEO Testing v2.0
SEO Testing v2.0SEO Testing v2.0
SEO Testing v2.0
Holasz Kati
 

More from Holasz Kati (7)

Four schools of testing context driven school
Four schools of testing   context driven schoolFour schools of testing   context driven school
Four schools of testing context driven school
 
Your body language shapes who you are - K.H.
Your body language shapes who you are - K.H.Your body language shapes who you are - K.H.
Your body language shapes who you are - K.H.
 
Transformational Management
Transformational ManagementTransformational Management
Transformational Management
 
Maven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafeMaven Presentation - SureFire vs FailSafe
Maven Presentation - SureFire vs FailSafe
 
MAVEN - Short documentation
MAVEN - Short documentationMAVEN - Short documentation
MAVEN - Short documentation
 
Maven Setup
Maven SetupMaven Setup
Maven Setup
 
SEO Testing v2.0
SEO Testing v2.0SEO Testing v2.0
SEO Testing v2.0
 

Recently uploaded

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Recently uploaded (20)

Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

Testing types functional and nonfunctional - Kati Holasz

  • 1. Testing types Functional and Nonfunctional Testing Kati Holasz.
  • 2. Outline ➔ Functional Testing ➔ Nonfunctional Testing
  • 3. Functional Testing Types → functional requirement → a requirement that specifies a function that a system or component must be able to perform → WHAT the product does Types: 1. Unit testing 2. Integration testing 3. System Testing 4. Acceptance Testing (UAT) 5. Smoke Testing 6. Sanity Testing 7. Regression Testing 8. Alpha Testing 9. Beta Testing
  • 4. Non-functional Testing Types → nonfunctional requirement → requirement that specifies the system’s quality characteristics or attributes → HOW WELL the system behaves “Measure what is measurable, and make measurable what is not so. “ - Galileo Galilei Types: 1. Usability 2. Security 3. Efficiency → Performance - Load - Endurance - Volume - Stress - Spike - Scalability 4. Portability 5. Internationalization 6. Localization 7. Installation 8. Migration
  • 5. Functional Vs. Non-Functional Testing Functional Testing Non-Functional Testing → performed using the functional specification provided by the client and verifies the system against the functional requirements. → checks the performance, reliability, scalability and other non-functional aspects of the software system. Manual testing or automation tools can be used Business requirements are the inputs to functional testing Performance parameters like speed, scalability are inputs to non-functional testing. → describes what the product does → describes how good the product behaves → is based on client requirements → is based on client expectations
  • 7. 1. Unit Testing → individual modules are tested to determine if there are any issues, to isolate each unit of the system to identify, analyze and fix the defects. Individual software modules are integrated logically and tested as a group. WHEN: after module is coded WHO: developer METHOD: white box techniques Eg. - Check whenever the login functionality/ module works Module Login
  • 8. 2. Integration Testing → is a level in software testing in which unit tested individual software modules are combined and tested as a whole. The purpose of integration testing is to verify the functional, performance, and reliability between the modules that are integrated. FOCUS: on the integrated interfaces and the data flow between this interfaces and modules WHEN: after module testing (unit testing) WHO: Developer and Tester METHODS: White Box and Black Box techniques Eg. - Check the interface link between the Login module to email and Mailbox module - Check the interface link between the Mailbox and Delete Mails Module Module Login Module Mailbox
  • 9. 3. System Testing → the complete testing of a fully integrated application. The purpose of this test is to evaluate the system’s compliance with the specified requirements. WHEN: after integration testing WHO: Developer and Tester METHOD: Black Box Techniques Eg. - If the site launches properly with all the relevant pages, features and logo - If the user can register/login to the site - If the site launches properly in all major browsers and their latest versions - If session timeout is implemented and working as expected Module Login Module Mailbox Module Create Emails Module Delete Emails
  • 10. 4. User Acceptance Testing → is a level of the software testing where a system is tested for acceptability. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery. WHEN: after system testing WHO: Users and Customer Product team METHOD: Black Box Techniques → Alpha and Beta testing Module Login Module Mailbox Module Create Emails Module Delete Emails
  • 11. 5. Smoke Testing → is performed to ascertain that the critical functionalities of the program is working fine → the purpose is to verify the "stability" of the system in order to proceed with more rigorous testing WHEN: after new functionality is added or fixes or done (new builds) - unstable builds WHO: Developer and Tester Eg. - If the user can access the software application - If the user can log in - If the user can navigate through the modules - If the GUI is responsive
  • 12. 6. Sanity Testing → performed after receiving a software build, with minor changes in code, or functionality, to ascertain that the bugs have been fixed and no further issues are introduced due to these changes → follows narrow and deep approach with detailed testing of some limited features. → to check the planned functionality is working as expected, instead of doing the whole regression testing the Sanity testing is performed. WHEN: minor changes - stable builds WHO: Developer and Tester Module Login updates/ changes
  • 14. 7. Regression Testing → is performed to verify that the defect fixes made to the software works as expected and does not break the existing functionality. → Purpose to make sure that new code changes should not have side effects on the existing functionalities WHEN: ● Change in requirements and code is modified according to the requirement ● New feature is added to the software ● Defect fixing ● Performance issue fix WHO: Developer and Tester Techniques: - Complete regression - Run entire regression suite - Regression test selection - Prioritized regression
  • 15.
  • 16. 8. Alpha Testing → is a type of acceptance testing; performed to identify all possible issues/bugs before releasing the product to everyday users or public. → Improve the quality of the product and ensure beta readiness → performed at developer's site WHEN: Toward the end of a development process when the product is in a near fully-usable state. WHO: Tester, Developers and maybe other internal employees of the organization HOW: Black box techniques
  • 17. 9. Beta Testing → Improve the quality of the product, integrate customer input on the complete product, and ensure release readiness; is performed by "real users" of the software application in a "real environment" and can be considered as a form of external user acceptance testing. → is performed at client location or end user of the product WHEN: After alpha testing, just prior to launch, sometimes ending within weeks or even days of final release. WHO: Tested in the “real world” with “real customers” HOW: Black box techniques
  • 18. Summary Unit testing Integration testing System Testing Acceptance Testing (UAT) Smoke Testing Sanity Testing Regression Testing Alpha Testing Beta Testing
  • 20. Usability Testing → a way to see how easy the application is to use by real users → user centered interaction to evaluate a product from users perspective Usability: the capability of the software product to be understood, learned, used and attractive to the user, when used under specified conditions. Components: ● Learnability - How easy is it for users to accomplish basic tasks the first time? ● Efficiency - How fast can experienced users accomplish tasks? ● Memorability - Does the user remember enough to use it effectively the next time? ● Satisfaction - How much does the user like using the system? ● Errors - How many errors do users make, how severe are these errors and how easily can they recover from the errors? Eg. - Test how easy a user can navigate through the app main flow - How easy can a user do certain actions - How intuitive the functionality is - We check how easy it is for him/her to find all the information he/she needs.
  • 21. Performance Testing → determine the system parameters in terms of responsiveness and stability PERFORMANCE TESTING = how fast & stable is the system? OBJECTIVE IS TO FIND THE BOTTLENECK IN THE SYSTEM Eg. - Editing a very large document for testing of word processor - Continuously reading and writing data into hard disk. - Testing of mail server by accessing thousands of mailboxes - Running multiple applications simultaneously on server. - Testing database response time by sending complex queries for processing Load Testing Stress Testing Capacity or Volume Testing Soak or Endurance Testing Spike Testing
  • 22. Security Testing → determine if an information system protects data and maintains functionality as intended. → Goal → is to identify the threats in the system and measure its potential vulnerabilities. Eg. ● Log into the web application. Log out of the web application. Click the BACK button of the browser (Check if you are asked to log in again) ● For financial sites, Browser back button should not work ● Cookies / session time ● Password (check for hard coded data, should be encrypted, etc) ● Application/System should not allow invalid users ● URL Manipulation ● SQL injection ● XSS Read more → Owasp Top 10 Vulnerabilities 2017 - https://www.owasp.org/index.php/Top_10_2017-Top_10
  • 23. Portability Testing → ease with which a computer software component or application can be moved from one environment to another - Portability over different operating systems and versions - Portability over different browser and browser versions - Portability over different resolutions - Portability over different mobile platforms - Portability over hardware platforms (servers, network connectivity devices, input devices, and output devices) Eg. - moving of any application from Windows 2000 to Windows 10
  • 24. Localization & Internationalization Testing Localization → checking the localized version of a product for that particular culture or locale settings. The areas affected by localization testing are UI and content. → adapting internationalized software for a specific region or language by adding locale-specific components and translating text. → specific features for a specific locale Internationalization → Can your code travel? When the time comes, will it be able to handle different character sets? Will it be able to display a right to left layout? → application so that it can potentially be adapted to various languages and regions without engineering changes. → adapting product to be used everywhere
  • 25. Localization & Internationalization Testing Eg. - Untranslated messages in the original language may be left hard coded in the source code - Software may use a keyboard shortcut which has no function on the source language keyboard layout - Date and time formats (including numeric formats) - Currency used - Keyboard usage - Sorting, aligning and collating data - Colors schemes, symbols and icons - Text and graphics which, in a given culture, may be viewed as sensitive or can be misinterpreted. - Diverse legal requirements - Software may display images with text that wasn't localized
  • 26. Migration Testing → is the process of transferring data between computer storage types or file formats. Eg. Consider database migration for a online shop we should ensure following: - All users were migrated successfully - User accounts and associated orders - Associated settings - All products and associated items were migrated successfully - Tables have the correct structure - Constraints, keys - Data formats are transferred correctly - Content is not missing - Content is not duplicated - Edge cases
  • 27. Installation Testing → performed to verify if the software has been installed with all the necessary components and the application is working as expected. Eg. - Verify if there are any prerequisites that need to be met before installation - Verify installation without/ with administration privileges - Verify is .exe is executing smoothly - Verify that user should able to install software from different location like over network, online installation, installation from CD, etc - Verify the GUI screen presented and if there’s any need of user input - Verify the software installation on all required platforms - Verify that after successful installation of software is it working as expected - Verify that is user able to uninstall or repair the software application