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
Software Testing :Definition ,Objective ,Types & Benefits
This article will present you with a complete idea about Software testing definition, objective of Testing, Types ,Benefits etc.
We will learn below topics in this article
What is Software Testing?
Software quality Assurance (testing) is the process to find errors /faults in a software application with the aim to deliver a quality product to the customer.Testing makes software predictable in nature. Description:Â Process of verifying a system with the purpose of identifying any errors, gaps or missing requirements versus the actual requirement.
Software testing is broadly categorised into two types:
A software test process consists of the activities listed below:
Software quality Assurance/Testing Role:
-
- Testing of systems and documentation help reduce the risk – if defects are found and corrected before the system is released for operational use.
- To understand defect cycle and various phase of defect life cycle refer :Â Defect life cycle.
- Testing may be required to suffice contractual, legal or industry-specific standards.
- Testing can increase confidence in the software quality.
Basics of Software Testing
Software validation is the process to find errors /faults in a software application with the aim to deliver a quality product to the customer.Testing makes software predictable in nature
- Consequences of faulty software could be loss of money,time,reputation,injury or loss of Life
- In order to avoid these Testing in a software application becomes vital.
Description:Â
Process of verifying a system with the purpose of identifying any errors, gaps or missing requirements versus the actual requirement.Â
It is broadly categorised into two types – functional testing and non-functional testing.
When to start test activities?
- Testing should be started as early as possible to reduce the cost and time to rework.
- Software Development Life Cycle (SDLC), testing is started from the Requirements Gathering phase and continued till the software is delivered.Â
- Testing initiation is also dependent on the type of Model followed in the project.For example, in the Waterfall model, testing starts from the testing phase which is quite below in the tree, but in the V-model, testing is performed parallel to the development phase.
When to stop test activities?
An application can never be 100% bug-free. So to ascertain when one can stop testing is difficult.Â
However, the following things are kept in mind while stopping the test activities:
- Testing deadlines
- Completion of test case execution cycle
- Completion of functional testing and code coverage to an agreed limit
- No high-priority bug is found and the rate of finding bug declines after a certain level
- Management decision
Objective Of Testing
Software Testing has following objectives:
-
- Preventing defects by verifying requirements are implemented completely and correctly.
- Testing early in the life cycle by reviewing requirement documents.
- Finding defects. Eg.Integration Testings, System Testing ,Regression Testing to detect defects at all levels.
- To make software predictable in nature. Eg.: software is behaving as per requirements
- To reduce cost of overall software development process. Eg.: Testing the software relatively early in the life cycle reduces the cost of developmentÂ
- Retention of customers by gaining confidence about the level of quality. Eg. Acceptance Testing
- Providing information for decision-making. Eg. providing reports to help take decisions based on all metrics, Information on risk of releasing for decision making
To ensure software is delivered without defects which could affect customers reputation and everyday operations can be achieved by Testing.
Why is testing necessary?
Software SystemÂ
Software applications and systems are a vital part of daily life.
Includes:
-
- Critical application : eg: Hospital machinery( eg: ventilators etc.)
- Business application: eg.:Airways, factory machines etc.)
- Daily User applications: eg.: Washing machine, televisions etc.
Such massive use of applications implies if software is faulty and does not work as required it may lead to :
-
- Loss of Money . Example : A company loses contract because an advertised business logo didn’t display correctly
- Loss of Time . Example : delay is response from eCommerce site
- Loss of Business Reputation. Example : A company image spoils by delivering products to wrong address as database does not stores the information correctly
- Injury or loss of Life .Example : Malfunction of switching in a railway line caused trains to collide
Causes of Software Defects:
Humans make errors which produce defects and this faulty software when executed might lead to failure.
Common reasons for defects:
- Improper documentation
- Time pressure
- Complexity – code, infrastructure
- Changing technologies
- Lack of domain knowledge
- Programming language efficiency
Software Quality Assurance Role:
- Testing of systems and documentation help reduce the risk – if defects are found and corrected before the system is released for operational use.
- Testing may be required to suffice contractual, legal or industry-specific standards
- Testing can increase confidence in the software quality.
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