Static Testing

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:

  • One is done by manual examination, that is the analysis of the code is done manually. This process is also called a code review or a simple review.
  • Another is done by the automated analysis in which we use tools to carry out the test.
Importance 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?

  • This testing technique is used for the detection of an error in the early stage, and not after dynamic testing only.
  • This testing is carried out so that the number of error which was likely to be diagnosed during the dynamic testing is reduced and thus reducing the burden in the later developmental phase.
  • Since this is cost and resource efficiencies, therefore the cost is optimized.
  • The static testing technique also saves time in the overall developmental phase.
  • Productivity is maximized by being able to detect errors with less effort and experience.

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:

  • Unit Test Cases.
  • Business Requirements Documents.
  • A prototype of the software.
  • Test Data
  • User Manual or training guides or any related documentation
  • Performance test script
  • Test Cases
  • Functional Requirements
  • Traceability matrix documents
  • Test plan
The concept of testing review:

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:

  • Formal Review: In a formal review, it follows a formal and specific agenda throughout the entire process. Also, it has a well structured and regulated process which has to be followed after each life cycle of the software has been completed.
  • Walkthrough: In the walkthrough, the team of developers is made to go through the software product and then comment or mention the discrepancies which are experienced by them.
  • Technical Review: As the name suggests technical, which means only the technically trained persons are allowed to find errors and bugs inside the software using their skills and experience.
  • Inspection: In this process, the team of experts and developers have a set of rules and guidelines along with the standards, by which they check the efficiency of the functions in the software, and also find the bugs and defects of the software, leading to the improvement of the software.
Persons involves in reviewing phase of testing:
  • Moderator: This is the group of persons, who does the entry check, direct the rework, training the team, schedule any meeting if needed and performs all the pre-requisites needed for the test review.
  • Scribe: They perform the logging of the deficiency, and attends the review meeting and notes all the required things needs to be fixed. The main work of a scribe is to note down, each and everything while test review.
  • Reviewer: This is or is the ones who check material for the defects and inspects.
  • Manager: This person assures that all the reviewing protocols have been followed and all the demands and objectives are met after the execution of the test review.
  • Author: This person is responsible for fixing the defect found and also the author has to assure that the quality of the document has been improved.

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.

Static Vs Dynamic Testing

The process of Static Testing

To carry out the testing process, there are several activities to be performed: They are listed below:

  • Validation of Use Case Requirements: In this activity, we see whether all the end-user actions are verified and identified also we verify the inputs and outputs associated with the functions. It depends on the accuracy of the test cases, how much detailed and elaborated the test case becomes.
  • Validation of Functional Requirements : It ensures whether all the requisites such as the hardware, software, network, and all other requirements are available for the functional requirements. And also, whether the functional requirements are meeting all the availabilities.
  • Review of the Architecture: It is the process of reviewing all the company level process such as the network architecture, server locations, load balancing, database design, testing equipment, and all other such things.
  • Validation of Field dictionary: In this activity, we make a dictionary as per the rules of the data that are allowed in the fields. For example, it can be checked for the minimum, maximum length of the data in the field. This is done for the validation in the test case of the user interface level.

Static Testing Technique

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:

  • Informal Review
  • Formal Review
  • Inspection
  • Technical Reviews
  • Informal Review

Details of all the techniques:

Informal Review:

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.

Formal Review:

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:

  • Planning: In planning the review is requested by the authors to the inspection leader. In the case, if the formal review, the entry check is executed by the inspection leader. The entry criteria verify the document whether it is ready for the formal review process.
  • Kick-off: In this process, the objective of the review is explained and the documents are also distributed. It may be noted, that, this meeting or process is optional and may not be conducted, if not required.
  • Preparation: In the process of preparation, the reviewers will review the document using pre-defined rules and documents, separately. The main intuition of the preparation process is to recognize all the defects, queries and roles and understand the document.
  • Review meeting: The review meeting can be done in three ways. First is the logging phase, in which the defect, bugs or errors are identified in the preparation step, which is then logged page after page. Another is the discussion phase, which handles issues which has to be discussed further.

The third is the decision phase, in this phase the decision on the document reviews is constructed.

  • Rework: This is conducted, if after the review is done, a certain non-negligible error is found, then the document needs to be reworked.
  • Follow-up: In this step, the reviewer assures that the author has done all his tasks and as acted on all inspected defects. Also, the reviewer will ensure that the information is correct and it should be stored for later use.
Walkthrough:

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:

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:

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.

Need for dynamic testing

Summary

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.

Comment / Suggestion Section
Point our Mistakes and Post Your Suggestions