Static testing is a software testing technique in which the software is tested without the entire program or the software is being run or executed. Static Testing is done in the developmental stage itself so that the errors and bugs can be reported earlier and the dynamic testing test can be carried out then.
Static Testing may be less time consuming and less resource consuming, compared to dynamic testing. The static testing method may also find out some errors which may not be easily reported by the use of dynamic testing.
Basically, there are two kinds of Static Testing:
There are several reasons why static testing is carried out, and why it is a major compliment to the dynamic testing. Below are some of the points, showing the use and importance of Static Testing?
Before we move further it is required to know, that what are the different elements or entities which are going to be checked in the process of static testing.
We list below on which the static testing is going to be performed:
The term review in static testing is a process of finding potential errors or defects that may arise from the design of any program. In this process, the entire team is made aware of the progress and all the risk that could arise in the phase of testing.
Since all the different mindsets can collaborate in the same platform and are free to put out their ideas, it is, therefore, possible to come out with the decision which is far better than any individual decision taken by an expert.
It may be noted that even reviews can be classified into four major types. They are:
It may be noted that there are different types of defect, which are comparatively easier to find during static testing. Some of the defects are deviating from standards, non-maintainable codes, defects in designing, missing any requirements, etc.
It should be noted that the major almost all the defects during the static testing are originating from insecurities, vulnerabilities, undeclared variables, boundary violations, syntax errors, etc.
To carry out the testing process, there are several activities to be performed: They are listed below:
Static testing techniques are the ways and procedures of carrying out Static Testing. The techniques which are the most popular and accepted internationally are listed below:
Details of all the techniques:
This technique is applicated at the start of the life cycle of the document. These reviews are conducted by the developer team or the software team which may include people other than the core team. The main objective of this technique is to improve the quality of the document, helping authors.
It is important to note that, this process is carried out without a documented procedure.
As the name says, this technique follows a well structured and strategic process while the review is being carried out. This is a well-managed procedure.
Below is the detailed explanation of the phases of a formal review:
The third is the decision phase, in this phase the decision on the document reviews is constructed.
In this technique, just the defects are to be detected, and not corrected. In this technique, most of the technical aspects of the review are not discussed, that is only the errors are discussed and it is the author who is left to fix the defects.
Persons involved in this technique is the author, the scribe, the moderator, the reviewer, and the presenter. This method is very useful, as defects are detected in a very early stage of the software development, therefore the effort of correcting them after the testing is complete is reduced.
The main objective of Walkthrough technique is to make the document available for all the persons who have invested in the development of this software and also to the person who is part of the developing team or the team member itself.
Also if any alternate possible solution is suggested, it is thoroughly validated and verified with the discussion in this technique.
Inspection is a formal review. In this case, a distinct preparation is achieved when the software is tested and errors are found. The main goal of the inspection is to improve the quality of the document inspected. Inspection is done by people who have already a better experience in the same field.
This technique is carried out by making the use of entry and exit criteria. It's necessary to organize a pre-meeting before the inspection process is initiated. A strictly defined protocol is followed while carrying out the process of inspection
Summing up, the main aim of inspection is to identify defects as well as bring it into the light so that it comes under the observation of the team.
Technical review is done only for the technical contents of the documents. It cannot be said as a full-fledged formal review. This review is mentored by a moderator who is already trained in this field or have technical expertise in this field.
The main goal of the technical review is to review all the technical aspects of the project set-up or the project environment and in the same time make sure that all the participants are aware of the technicality of the project.
And lastly to build consistency of using the representation of technical aspects.
In static testing, the testing is carried out to check the static behavior of the code and the software. Static testing can be carried out in two different ways, one is the manual testing and the other is the automated testing.
In manual testing, techniques such as code review, etc, is carried out. On the other hand, in automated testing, certain tools are used to carry out the test.
There can be formal and technical review and walkthrough, whereas, in the automated testing, there are tools which can simulate the test case to inspect the software.