In the software field, testing is a large term that encompasses various types of testing activities, carried out on the software product. The task of testing the software product, may be seen and categorized into two different categories, static testing and dynamic testing.
Static testing concerns with the documentation part, associated with the software product, without touching the actual software program or code, whereas dynamic testing, involves the physical interaction of the testers with the software product or programming code.
|Static Testing||Dynamic Testing|
|1. Involves the testing of the documented artefacts.||1. Involves the execution of the test cases over actual software product or programming code.|
|2. Analyze and evaluate the software product in non-operational mode.||2. It performs the testing in the run time environment.|
|3. Static testing is usually done, at an early stage of the development life cycle.||3. Dynamic Testing comes into action, at a later stage of the development life cycle.|
|4. The main motive of static testing is to verify all types of requirements, such as business requirement, functional requirement, etc.||4. Primary purpose behind the dynamic testing is to validate the pre-specified requirements in the software product, at each level of the development.|
|5. Works as the preventive measure, to avoid defects in the software product.||5.Responsible for the corrective actions, to remove and fix defects in the developed or under-developed software product.|
|6. In static testing usually, check-lists are prepared, to perform testing.||6. Whereas in Dynamic Testing, Test cases are prepared, to carry out the testing activities.|
|7. Techniques covered under static testing may consists of:
||7. It mainly comprises of following testing activities.
Apart from above testing types, dynamic testing covers, all types of functional & functional testing.
|8. It requires less amount of time and cost.||8. Time and cost, is comparatively higher than the static testing.|
|9. Static testing requires manual approach.||9. While Dynamic Testing may be manual or automation.|
|10. It is Low level activity.||10. It is High level activity.|
|11. Statement Coverage is higher and almost near to 100%.||11. It does not guarantees the 100% statement coverage.|
|12. Static testing is followed by the dynamic testing.||12. Dynamic testing is done after the completion of the static testing, and on the availability of the software product, after being developed.|