Testing Foundation
What is Software Testing?
Objective of Testing
Why is testing necessary?
Common Terms used in Testing
Verification Vs Validations
QA Vs QC
Debugging Vs Testing
Seven Testing Principles
SDLC Vs STLC
Fundamentals of Test Process
Software quality Factors
Software Development Models
Waterfall Model
V models
Iterative Model
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Strategies for Integration Testing
Big Bang
Stubs and Driver
Top Down Testing
Bottom Up Testing
Test Types
Functional Testing
Non- Functional Testing
Structural Testing
Re-testing & Regression Testing
Static AND Dynamic Techniques
Static Technique
Dynamic Technique
Static Analysis by Tools
White Box Techniques
Statement Coverage Testing
Branch Coverage Testing
Decision Coverage Testing
Path Coverage
Black Box Techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Table testing
State Transition testing
Experience Based TestingTechniques
Random Testing
Exploratory Testing
Error Guessing
Functional Testing
Integration Testing
Unit Testing
System Testing
Smoke testing
Sanity testing
Regression Testing
Usability Testing
Security Testing
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
Non Functional Testing
Compatibility testing
Endurance testing
Load testing
Performance testing
Recovery testing
Scalability testing
Stress testing
Volume testing
Test Planning and Estimation
Test Planning
Test Strategies Vs Test Plan
Test Approaches
Risk and Testing
Product Risks
Project Risks
Defect Management
Defect LifeCycle
Severity Vs Priority
Non Functional Testing :Definition ,
Features and Types
Non functional Testing is the testing of a software application or system for its non-functional requirements: the way a system operates, rather than specific behaviour of that system, its performance, reliability, load testing.
Objectives of Non-functional testing:
- Non-functional testing should increase usability, efficiency, maintainability, and portability of the product.
- Helps to reduce production risk and cost associatedÂ
- Optimize the way product is installed, setup, executes, managed and monitored.
- Improve and enhance knowledge of the product behavior and technologies in use.
- Gain confidence in system from overall quality perspective
Non-functional testing Parameters:
1) Security:
The parameter defines how a system is safeguarded against attacks from internal and external sources(Security Testing).
2) Reliability:
Software system continuous performance for specified functions without failure(Reliability Testing).
3) Usability:
The ease with which the user can learn, operate, prepare inputs and outputs through interaction with a system(Usability Testing).
4) Scalability:
Measures software application processing capacity to meet an increase in demand(Scalability Testing)
5) Interoperability:
This parameter checks a software system interfaces with other software systems(Interoperability Testing)
6) Efficiency:
Measures the extent to which any software system can handles capacity, quantity and response time.
7) Flexibility:
The term refers to the ease with which the application can work in different hardware and software configurations.
8) Portability:
The flexibility of software to transfer from its current hardware or software environment.
9) Re-usability:
It refers to a portion of the software system that can be converted for use in another application.
Basic Features of Non Functional testing:
- Focus specifically to evaluate the readiness of a system according to the various criteria which are not covered by functional testing.
- Non-functional requirements tend to be those that reflect the quality of the product, particularly in users’ context .Â
- It can be started after the completion of Functional Testing. The non functional tests can be effective by using testing tools.
- Non-functional testing has a great influence on customer and user satisfaction with the product.
- It should be expressed in a testable way ann measurable.
Types of Non-Functional Testing:
1) Compatibility Testing
Compatibility testing is testing the application or product built with a different computing environment. It tests whether the application is compatible with the hardware, operating system, database or other system software or not. Please refer Compatibility testing for in-depth details
2) Endurance Testing
Endurance testing involves testing a system with a significant load extended over a significant period of time, to discover how the system behaves under sustained use and ensure application capability to handle extended load with abnormal behaviour.Please refer Endurance testing for in-depth details
3) Load Testing
Load testing is performed to determine a system’s behaviour under both normal and at peak conditions. It helps to identify the maximum operating capacity of an application as well as any bottlenecks and determine which element is causing degradation. Please refer Load testing for in-depth details
4) Performance Testing
Performance testing is performed to determine how fast some aspect of a system performs under a particular workload. please refer Performance testing for in-depth details
5) Recovery Testing
Recovery testing is done in order to check how fast and better the application can recover after it has gone through any type of crash or hardware failure. please refer Recovery testing for in-depth details
6) Scalability Testing
Scalability Testing is a non functional testing method that measures performance of a system or network when the number of user requests are scaled up or down. please refer Scalability Testing for in-depth details
7) Stress Testing
It is a form of testing that is used to determine the stability of a given system.
It puts greater emphasis on robustness, availability, and error handling under a heavy load, rather than on what would be considered correct behaviour under normal circumstances.
Please refer Stress Testing for in-depth details
8) Volume Testing
Volume testing refers to testing a software application, where the software is subjected to a huge volume of data.
Please refer volume Testing for in-depth details
Recommended Articles:
Testing Foundation
What is Software Testing?
Objective of Testing
Why is testing necessary?
Common Terms used in Testing
Verification Vs Validations
QA Vs QC
Debugging Vs Testing
Seven Testing Principles
SDLC Vs STLC
Fundamentals of Test Process
Software quality Factors
Software Development Models
Waterfall Model
V models
Iterative Model
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Strategies for Integration Testing
Big Bang
Stubs and Driver
Top Down Testing
Bottom Up Testing
Test Types
Functional Testing
Non- Functional Testing
Structural Testing
Re-testing & Regression Testing
Static AND Dynamic Techniques
Static Technique
Dynamic Technique
Static Analysis by Tools
White Box Techniques
Statement Coverage Testing
Branch Coverage Testing
Decision Coverage Testing
Path Coverage
Black Box Techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Table testing
State Transition testing
Experience Based TestingTechniques
Random Testing
Exploratory Testing
Error Guessing
Functional Testing
Integration Testing
Unit Testing
System Testing
Smoke testing
Sanity testing
Regression Testing
Usability Testing
Security Testing
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
Non Functional Testing
Compatibility testing
Endurance testing
Load testing
Performance testing
Recovery testing
Scalability testing
Stress testing
Volume testing
Test Planning and Estimation
Test Planning
Test Strategies Vs Test Plan
Test Approaches
Risk and Testing
Product Risks
Project Risks
Defect Management
Defect LifeCycle
Severity Vs Priority