Regression Testing
Ad-Hoc Testing
Performance Testing
Performance testing is a type of software testing, which is
to verify the non-functional features of the software like speed & stability
of the system. The goal of this testing is to identify the performance of the
system.
Some types of the performance testing are,
- Load Testing
- Stress Testing
- Volume Testing
Load Testing:
Load testing is a type of performance testing, where it is to
test the application to identify its performance on normal & peak usage. The
goal is to identify the bottlenecks in the system by applying estimated load to
the system.
Stress Testing:
Stress testing is applying the load gradually to the system,
at some point the system will break with non responsive state for the request’s.
This state is considered as the breaking point.
Volume Testing:
Volume testing is storing a large volume of data in the data
base, to identify the overall performance of the system behavior. The goal is to
verify the system performance with different volume of data.
Shakedown Testing
Shakedown Testing is type of software testing, that is performed in the application to test basic functionalities are working fine without any issues. This testing is kind of entry criteria for the actual in-depth testing.
We cannot start the in-depth testing, if any major issues reported
during the shakedown testing.
As a simple example, we cannot start a actual in-depth testing, if we encounter a login issue to access the application, that was reported during shakedown testing
System Testing & Acceptance Testing
![]() |
| Acceptance Testing |
Software Testing and its Types
- White Box Testing
- Black Box Testing
- Gray Box Testing
- Functional Testing
- Integration Testing
- System Testing
- Acceptance Testing
- Performance Testing
- Load Testing
- Volume Testing
- Ad-hoc Testing
- Regression Testing
- Link Testing
- Compatibility Testing
- Web Testing
- Static Testing
- Dynamic Testing
- Alpha and Beta Testing
Black Box and White BoxTesting
White Box testing done based on analysis of internal working structure of software/program. It is also known as structure/clear/glass box testing. White box testing is performed based on the knowledge of how the system is implemented. Mostly developer may do this testing, because they are well known on the internal working structure of the program such as statement coverage, branch coverage and path coverage.
Black box design techniques
|
Conditions
|
Without equivalence partitioning
|
Using equivalence partitioning
|
|
Should accept 1 to 100
Should not accept negative values
(-1,0)
Should not accept (> 100)
|
It’s required to write 100
+ test cases.
Test case 1 : To test input number
‘1’,
Test case 2: To test input
number ‘2’,
Test case 3: To test input
number ‘4’…. So on up to 100
Test case 101: For >100
Test case 102: For < 1
|
It’s enough to write three
test cases to test all the condition using equivalence partitioning.
Test case 1: One valid input from
1 to 100.
Test case 2: One invalid input
< 1.
Test case 3: One invalid input
> 100.
|
|
Conditions
|
Without Boundary Value Analysis
|
Using Boundary Value Analysis
|
|
Should accept 1 to 100
Should not accept negative values
(-1,0)
Should not accept (> 100)
|
It’s required to write 100
+ test cases.
Test case 1 : To test input number
‘1’,
Test case 2: To test input
number ‘2’,
Test case 3: To test input
number ‘4’…. So on up to 100
Test case 101: For >100
Test case 102: For < 1
|
It’s enough to write three
test cases to test all the condition using equivalence partitioning.
Test case 1: Input Exact boundary
value 1 and 100.
Test case 2: Below the extreme
boundary edges of input value 0 and 99.
Test case 3: Above that extreme
boundary edges of input value 2 and 101.
|
Spiral Model
- Planning
- Risk analysis
- Engineering
- Evaluation
![]() |
| Spiral Model |
- High amount of risk analysis is done; hence avoidance
of Risk is enhanced.
- Better option to use spiral model for large or long
term projects and critical projects.
- Strong approval and documentation control.
- Additional Functionality can be added easily.
- Risk analysis requires highly experienced and specific
expertise.
- Costly Model to use.
- Project’s success is highly dependent on the risk
analysis phase.
- Not suitable for smaller projects.
Iterative Model
![]() |
| Iterative Model |
- The software is developed and improved step by step;
this helps to track the defects in earlier stage, to avoid the defects to
the next iteration.
- Can get continuous feedback from the user in each
iteration. The user feedback from iteration 1 can be enriched/implemented
in iteration 2……iteration n +1.
- Not all the requirements gathered at initial stage, so
design issues may get in every iteration based on the feedback.
- More resources may require and this suitable only for
larger projects.
Waterfall Model
![]() |
| Waterfall Model |
- Requirements are well documented.
- Easy to manage.
- Post Defect fixing is difficult, and expensive to fix.
- Difficult to design for larger projects.
- This model does not work smooth, if there are some
issues left at the previous step. It has to maintain perfect smooth and
sequential in step by step.
Requirements Traceability Matrix (RTM)
Ex: Requirements Traceability Matrix
|
Types of Software Testing
- White Box Testing
- Black Box Testing
- Gray Box Testing
- Functional Testing
- Integration Testing
- System Testing
- Acceptance Testing
- Performance Testing
- Load Testing
- Volume Testing
- Stress Testing
- Ad-hoc Testing
- Regression Testing
Software Development life Cycle (SDLC)
![]() |
| SDLC |
Integration Testing
![]() |
| Integration Testing |
![]() |
| Incremental Approach |
![]() |
| Bottom up Approach |
![]() |
| Top Down Approach |









