In this article, I am going to write more about software testing. The quality control of a software product is carried out in different software testing methodologies. The software testing is a phase that should not be neglected, because if a defect is found at the time of software delivery, the cost will be increased by 10 times, and will be 20 times more at the maintenance phase. So, it is recommended to carry out testing when the software development begins.
Software Phases
There are 5 main phases of software development:
1) Documentation: Requirement analysis, design document, test documents
2) Coding/Execution: The development phase
3) Testing: Different testing methodologies
4) Deployment : The software is delivered to the customer
5) Maintenance: After deployment, if any failure is detected.
Software Testing
The software testing can be broadly categorized into two categories:
A. Blackbox Testing: Tested overall functionalities of the software without knowing the details of the implementation, or design.
B. Whitebox Testing: White box testing also considers the implementation details, software design, database design.
Defect & Failure: If a defect reached to end-user, it is failure. 60% defects are prone to exist in design phase and 40% defects in development phase.
Testing Process
The testing process
Unit Testing => Integration Testing => System Testing => Acceptance Testing
Acceptance testing is carried out alpha-testing(carried out in development site) and beta-testing(tested by actual customer).
When a bug is found or some module is changed/added, we have to carry out
1) Confirmation Testing: Confirm that the bug/defect is fixed.
2) Regression Testing: Testing if all other parts of software( or module) are working
More...
We must be also concerned with
1) Defect cascading: A defect can be propagated to other modules and affects those modules too, this is called cascading.
2) Cohabiting Software: When software is installed in actual end-user machine, there might be other software installed which using the same shared libraries or resources. In this scenario, the other software need to be carried out testing.
Software Phases
There are 5 main phases of software development:
1) Documentation: Requirement analysis, design document, test documents
2) Coding/Execution: The development phase
3) Testing: Different testing methodologies
4) Deployment : The software is delivered to the customer
5) Maintenance: After deployment, if any failure is detected.
Software Testing
The software testing can be broadly categorized into two categories:
A. Blackbox Testing: Tested overall functionalities of the software without knowing the details of the implementation, or design.
B. Whitebox Testing: White box testing also considers the implementation details, software design, database design.
Defect & Failure: If a defect reached to end-user, it is failure. 60% defects are prone to exist in design phase and 40% defects in development phase.
Testing Process
The testing process
Unit Testing => Integration Testing => System Testing => Acceptance Testing
Acceptance testing is carried out alpha-testing(carried out in development site) and beta-testing(tested by actual customer).
When a bug is found or some module is changed/added, we have to carry out
1) Confirmation Testing: Confirm that the bug/defect is fixed.
2) Regression Testing: Testing if all other parts of software( or module) are working
More...
We must be also concerned with
1) Defect cascading: A defect can be propagated to other modules and affects those modules too, this is called cascading.
2) Cohabiting Software: When software is installed in actual end-user machine, there might be other software installed which using the same shared libraries or resources. In this scenario, the other software need to be carried out testing.