SlideShare a Scribd company logo
Non Functional Testing
An overview
Content:
1. Overview
2. Functional & Non Functional Testing
3. Usability Testing
4. Performance Testing
5. Compatibility Testing
6. Security Testing
Overview: Functional Testing
Functional Testing: Testing the application against business requirements. Functional testing is done using the
functional specifications provided by the client or by using the design specifications like use cases provided
by the design team.
Functional Testing covers:
• Unit Testing
• Smoke testing / Sanity testing
• Integration Testing (Top Down,Bottom up Testing)
• Interface Testing
• System Testing
• Regression Testing
• Pre User Acceptance Testing(Alpha & Beta)
• User Acceptance Testing
• White Box & Black Box Testing
• Globalization & Localization Testing
Overview: Non Functional
Testing
Non-Functional Testing: Testing the application against client's and performance requirement. Non-
Functioning testing is done based on the requirements and test scenarios defined by the client.
Non-Functional Testing covers:
Usability Testing
Performance Testing
• Compatibility Testing
• Security / Penetration Testing
• Recovery Testing
• Data Conversion & Migration Testing
• Operational Readiness Testing
• Installation Testing
• Ergonomic Testing
Usability Testing: Classic non-testable requirement:
"System must be user-friendly."
Usability testing evaluates how easy a system is to learn and use.
Benefits:
• Its easier for sales team to sell a highly usable product.
• Usable products are easy to learn and use.
• Support cost is less for Usable products.
According to the ISO definition usability is the extent to which a product can be used by specified user to
achieve specified goal with effectiveness, efficiency and satisfaction in a specified context of use.
Qualitative Approach:
• Each and every function should available from all the pages of the site.
• User should able to submit each and every request with in 4-5 actions.
• Confirmation message should be displayed for each and every submit.
Quantitative Approach:
• Heuristic Checklist should be prepared with all the general test cases that fall under the classification of
checking.
• This generic test cases should be given to 10 different people and ask to execute the system to mark the
pass/fail status. The average of 10 different people should be considered as the final result.
Heuristic Evaluation – User Testing method, Assessing a product in order to
identify usability problems
> Visibility of system status
> Match between system and the real world
> User control and freedom
> Consistency and standards
> Error prevention
> Recognition rather than recall
> Flexibility and Ease of Use
> Aesthetic & minimalist design
> Help and documentation
> Help users recognise, diagnose & recover
from errors
Performance Testing:
Performance Testing: Testing performed to determine how a system performs in terms of responsiveness and
stability under a particular workload. The goal of performance testing is not to find bugs but to eliminate
performance bottlenecks.
Focus of Performance testing is:
Speed – Determines whether the application responds quickly.
Stability – Determines if the application is stable under varying loads.
Scalability – Determines maximum user load the software application can handle.
Performance Testing to uncovers what needs to be improved before the product goes to market. Without
performance testing application will suffer running slow while several users use it simultaneously, inconsistencies
across different operating systems and poor usability.
Common Performance Problems:

Long Load time

Poor response time

Poor scalability

Bottlenecking
CPU, Memory, Network utilization,
Operating System limitations, Disk usage
Type's of Performance
Testing:Load testing: A load test is usually conducted to understand the behaviour of the system under a specific
expected load. This load can be the expected concurrent number of users on the application performing a
specific number of transaction within the set duration. This test will give out the response times of all the
important business critical transactions.
Stress Testing: Stress Testing is normally used to understand the upper limits of capacity within the system.
This kind of test is done to determine the system's robustness in terms of extreme load and helps
application administrators to determine if the system will perform sufficiently if the current load goes well
above the expected maximum.
Endurance Testing: Endurance Testing is usually done to determine if the system can sustain the continuous
expected load.
Spike testing: Spike testing is done by suddenly increasing the number of or load generated by, users by a
very large amount and observing the behaviour of the system. The goal is to determine whether
performance will suffer, the system will fail, or it will be able to handle dramatic changes in load.
Configuration testing: Configuration testing Rather than testing for performance from the perspective of
load, tests are created to determine the effects of configuration changes to the system's components on
the system's performance and behaviour.
Isolation testing: Isolation testing is not unique to performance testing but a term used to describe
repeating a test execution that resulted in a system problem. Often used to isolate and confirm the fault
domain.
Performance Testing Process:
Demonstrate that your software system meets certain pre-defined performance criteria.
1.Identify your testing environment
2.Identify the performance acceptance criteria
3.Plan & design performance tests
4.Configuring the test environment
5.Implement test design
6.Run the tests
7.Analyze, tune and retest
Thanks You
Sampath kumar Mohan

More Related Content

PPTX
The importance of non functional testing
PPTX
What are the advantages of non functional testing
PPTX
Non functional testing
PPT
Difference between functional testing and non functional testing
PPTX
Non-functional testing
PDF
Non-Functional testing
PPTX
Non-functional Testing (NFT) Overview
PPTX
softwaretestingppt-FINAL-PPT-1
The importance of non functional testing
What are the advantages of non functional testing
Non functional testing
Difference between functional testing and non functional testing
Non-functional testing
Non-Functional testing
Non-functional Testing (NFT) Overview
softwaretestingppt-FINAL-PPT-1

What's hot (20)

PPTX
Software testing career 20180929 update
PPTX
Software testing career
PPTX
Non Functional Test Management
PDF
What Is Functional Testing?
PPTX
Performance testing
PPTX
Software Testing Training in Chandigarh
PPT
Non Functional Testing
PDF
Functional Testing vs Non-Functional Testing | Edureka
PPT
SOFTWARE TESTING
PPTX
Software Testing
PDF
Configuration testing
PDF
Testing types functional and nonfunctional - Kati Holasz
PPT
acceptance testing
PPTX
Quality Control
PDF
Functional Testing Tutorial | Edureka
PPTX
Building a software testing environment
PPT
Testing Types And Models
PPTX
Types of software testing
PPTX
PPT
Software testing
Software testing career 20180929 update
Software testing career
Non Functional Test Management
What Is Functional Testing?
Performance testing
Software Testing Training in Chandigarh
Non Functional Testing
Functional Testing vs Non-Functional Testing | Edureka
SOFTWARE TESTING
Software Testing
Configuration testing
Testing types functional and nonfunctional - Kati Holasz
acceptance testing
Quality Control
Functional Testing Tutorial | Edureka
Building a software testing environment
Testing Types And Models
Types of software testing
Software testing
Ad

Similar to Non Functional Testing_Sampath kumar Mohan (20)

PPTX
Introduction to performance testing
PPT
performance testing
PPT
PERFTEST.ppt
PPT
PERFTEST.ppt
PPT
08-Performence_Testing Project Explain.ppt
PPTX
Performance Testing Using VS 2010 - Part 1
PPT
Types of Software testing
PPTX
What do you mean by recovery testing ?
PPTX
What is dynamic testing ?
PPTX
Performance Testing And Its Type | Benefits Of Performance Testing
PPTX
Performance testing
PPTX
Introduction to Performance Testing
PPT
September_08 SQuAd Presentation
PDF
Adding Performance Testing to a Software Development Project
PPT
PDF
Application Performance, Test and Monitoring
PPT
Performance Testing Overview
PPTX
Introduction to Performance Testing
PPTX
IT testing services - Types of Testing Service | V2Softs.pptx
PDF
Everything You Need to Know About Functional Testing: A Guide
Introduction to performance testing
performance testing
PERFTEST.ppt
PERFTEST.ppt
08-Performence_Testing Project Explain.ppt
Performance Testing Using VS 2010 - Part 1
Types of Software testing
What do you mean by recovery testing ?
What is dynamic testing ?
Performance Testing And Its Type | Benefits Of Performance Testing
Performance testing
Introduction to Performance Testing
September_08 SQuAd Presentation
Adding Performance Testing to a Software Development Project
Application Performance, Test and Monitoring
Performance Testing Overview
Introduction to Performance Testing
IT testing services - Types of Testing Service | V2Softs.pptx
Everything You Need to Know About Functional Testing: A Guide
Ad

Non Functional Testing_Sampath kumar Mohan

  • 2. Content: 1. Overview 2. Functional & Non Functional Testing 3. Usability Testing 4. Performance Testing 5. Compatibility Testing 6. Security Testing
  • 3. Overview: Functional Testing Functional Testing: Testing the application against business requirements. Functional testing is done using the functional specifications provided by the client or by using the design specifications like use cases provided by the design team. Functional Testing covers: • Unit Testing • Smoke testing / Sanity testing • Integration Testing (Top Down,Bottom up Testing) • Interface Testing • System Testing • Regression Testing • Pre User Acceptance Testing(Alpha & Beta) • User Acceptance Testing • White Box & Black Box Testing • Globalization & Localization Testing
  • 4. Overview: Non Functional Testing Non-Functional Testing: Testing the application against client's and performance requirement. Non- Functioning testing is done based on the requirements and test scenarios defined by the client. Non-Functional Testing covers: Usability Testing Performance Testing • Compatibility Testing • Security / Penetration Testing • Recovery Testing • Data Conversion & Migration Testing • Operational Readiness Testing • Installation Testing • Ergonomic Testing
  • 5. Usability Testing: Classic non-testable requirement: "System must be user-friendly." Usability testing evaluates how easy a system is to learn and use. Benefits: • Its easier for sales team to sell a highly usable product. • Usable products are easy to learn and use. • Support cost is less for Usable products. According to the ISO definition usability is the extent to which a product can be used by specified user to achieve specified goal with effectiveness, efficiency and satisfaction in a specified context of use. Qualitative Approach: • Each and every function should available from all the pages of the site. • User should able to submit each and every request with in 4-5 actions. • Confirmation message should be displayed for each and every submit. Quantitative Approach: • Heuristic Checklist should be prepared with all the general test cases that fall under the classification of checking. • This generic test cases should be given to 10 different people and ask to execute the system to mark the pass/fail status. The average of 10 different people should be considered as the final result.
  • 6. Heuristic Evaluation – User Testing method, Assessing a product in order to identify usability problems > Visibility of system status > Match between system and the real world > User control and freedom > Consistency and standards > Error prevention > Recognition rather than recall > Flexibility and Ease of Use > Aesthetic & minimalist design > Help and documentation > Help users recognise, diagnose & recover from errors
  • 7. Performance Testing: Performance Testing: Testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload. The goal of performance testing is not to find bugs but to eliminate performance bottlenecks. Focus of Performance testing is: Speed – Determines whether the application responds quickly. Stability – Determines if the application is stable under varying loads. Scalability – Determines maximum user load the software application can handle. Performance Testing to uncovers what needs to be improved before the product goes to market. Without performance testing application will suffer running slow while several users use it simultaneously, inconsistencies across different operating systems and poor usability. Common Performance Problems:  Long Load time  Poor response time  Poor scalability  Bottlenecking CPU, Memory, Network utilization, Operating System limitations, Disk usage
  • 8. Type's of Performance Testing:Load testing: A load test is usually conducted to understand the behaviour of the system under a specific expected load. This load can be the expected concurrent number of users on the application performing a specific number of transaction within the set duration. This test will give out the response times of all the important business critical transactions. Stress Testing: Stress Testing is normally used to understand the upper limits of capacity within the system. This kind of test is done to determine the system's robustness in terms of extreme load and helps application administrators to determine if the system will perform sufficiently if the current load goes well above the expected maximum. Endurance Testing: Endurance Testing is usually done to determine if the system can sustain the continuous expected load. Spike testing: Spike testing is done by suddenly increasing the number of or load generated by, users by a very large amount and observing the behaviour of the system. The goal is to determine whether performance will suffer, the system will fail, or it will be able to handle dramatic changes in load. Configuration testing: Configuration testing Rather than testing for performance from the perspective of load, tests are created to determine the effects of configuration changes to the system's components on the system's performance and behaviour. Isolation testing: Isolation testing is not unique to performance testing but a term used to describe repeating a test execution that resulted in a system problem. Often used to isolate and confirm the fault domain.
  • 9. Performance Testing Process: Demonstrate that your software system meets certain pre-defined performance criteria. 1.Identify your testing environment 2.Identify the performance acceptance criteria 3.Plan & design performance tests 4.Configuring the test environment 5.Implement test design 6.Run the tests 7.Analyze, tune and retest