Static Testing :
Under Static Testing code is not executed , rather it manually checks the code requirement documents and design documents to find errors . Hence the name is "Static". This is the process of examination of apps which includes reviews and inspections as well as code. Main objective of this testing is to improve the quality of
software products by finding errors in early stages of the development cycle.
This testing is also called as Non-execution technique or verification testing.It involves both manual and automation testing . The reviews are done during initial phase of the STLC to identify the defects in the early stages . It simply examines the work documents and gives review comments .
Work document can be of following:
- Requirement specifications
- Design document
- Source Code
- Test Plans
- Test Cases
- Test Scripts
- Help or User document
- Web Page content
Testing techniques used for Static Testing :
Informal Reviews:
This is a type of review which doesn't follow any process to find errors in document.Under this review we will just review the requirement document and give comments. It simply looks like discussion done in an informal way.This is a common way of reviewing
Technical Review:
A team consisting of peers, review the technical specification of the software product and checks whether it is suitable for the project or not.they try to find any variances in the specifications and standards followed. This review concentrates mainly on the technical document related to the software such as Test Strategy, Test Plan and requirement specification documents.
WalkThroughs:
We will have author and scribe in this reviews. The author who develops product will explain about the product and participants can ask questions if they have. Meeting is led by the author.Scribes makes note of review comments.
Inspections:
The main purpose is to find defects and meeting is led by trained moderator. This review is a formal type of review where it follows strict process to find the defects. Reviewers have checklist to review the work products. They record the defect and inform the participants to rectify those errors.
Static Code Review:
This is a systematic review of the software source code without executing the code. It checks the syntax of the code, coding standards , code optimization etc. this is also termed as white box testing. This review can be done at any point during development.
Dynamic Testing :
Under Dynamic Testing executes the code. It checks the functional behavior, software system and memory usage /cpu and overall performance of the system.Hence the name is "Dynamic".Main objective of this testing is to confirm that the software product works in conformance with the business requirements. This testing is also called as Execution technique or validation testing. Dynamic testing executes the software and validates the output with the expected outcome.Dynamic testing is performed at all levels of testing and it can be either black or white box testing
Testing techniques used for Dynamic Testing :
A smallest part of software application is called a unit. When we conduct testing on this particular unit it is called a Unit Testing. it is performed by developers and while conducting unit testing and component testing they will use white box testing techniques.Integration Testing:
After all units are tested , they are combined as modules . We will check whether the connection between the units or modules are working or not .This is called integration Testing . Developers do this type testing . Developers generally follow 4 types of integration testing approaches
- Top Down approach
- Bottom Up approach
- Bi- Directional approach
- Big Bang approach
System Testing :
After completion of Integration testing the developers handover the application to the testers. This application/system is called as System Under test / Application under test (SUT/AUT). Then the testers do complete system testing , they mainly check three aspects in system testing
- Usability
- Functionality
- Non Functionality
Verification and Validation are two measures used to check that
the software product meets the requirements specifications. Static testing
involves verification whereas dynamic testing involves validation. Together
they help improve software quality.