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
Acceptance Testing
Testing process where a system is tested for acceptability by stakeholders/users. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery.
Some features of Acceptance testing are :
- Done to gain confidence in the system,specific non-functional characteristics of the system. Assess the system’s readiness for deployment and use.Â
- Acceptance is usually the last stage of testingÂ
- Performed by end users and other stakeholders against the business scenarios.
- It aims to verify functional and non-functional requirements of the system, and data quality characteristics.Â
- It is one of the most important types of testing, as it confirms that application meets the intended specifications and satisfies the client’s requirement.Â
- The QA team will have a set of pre-written scenarios and test cases that will be used to test the application.
Types of Acceptance Testing:Â
User acceptance testing :
This type of testing verifies if a system is fit for use by business users.
Operational (acceptance) testing :
Done by system administrators, which includes activities like:
- backup/restore testing
- Disaster recovery
- Maintenance tests
- Data loading and migration
- Check of security vulnerabilities
Contract and Regulation Acceptance Testing:
This type of testing is to verify that the produced software satisfies the contractual agreement. Acceptance criteria should be defined when the parties agree to the contract.Such as government, legal or safety regulations.Â
Alpha Testing :Â
Alpha testing is performed at the developing organization’s site but not by the developing team. Â
Beta testing, or field-testing:
It is performed by customers or potential customers at their own locations.Beta testing is done by a limited number of end users before delivery, the change request would be fixed if the user gives feedback or reports defects.
Test Level | Test Basis | Components | Responsible Person |
Acceptance Testing | User requirements System requirements Use cases Business processes Risk analysis reports | Fully integrated system Operational and maintenance processes User procedures Forms Reports Configuration data | Customers or potential customers |