The document discusses different types of formal technical reviews used in static white box testing. It describes white box testing as reviewing software design, architecture or code without executing it to find bugs early. Peer reviews involve two programmers reviewing each other's code, while walkthroughs involve a presenter explaining code to a small group. Inspections are the most formal, involving trained inspectors reviewing from different perspectives to identify bugs. Formal reviews aim to find problems early through preparation, following rules, and producing a written report.
The document discusses different types of formal technical reviews used in static white box testing. It describes white box testing as reviewing software design, architecture or code without executing it to find bugs early. Peer reviews involve two programmers reviewing each other's code, while walkthroughs involve a presenter explaining code to a small group. Inspections are the most formal, involving trained inspectors reviewing from different perspectives to identify bugs. Formal reviews aim to find problems early through preparation, following rules, and producing a written report.
The document discusses different types of formal technical reviews used in static white box testing. It describes white box testing as reviewing software design, architecture or code without executing it to find bugs early. Peer reviews involve two programmers reviewing each other's code, while walkthroughs involve a presenter explaining code to a small group. Inspections are the most formal, involving trained inspectors reviewing from different perspectives to identify bugs. Formal reviews aim to find problems early through preparation, following rules, and producing a written report.
White-box testing is the process of carefully and
methodically reviewing the software design, architecture, or code for bugs without executing it. It's sometimes referred to as structural analysis. White-box (or clear-box) testing implies having access to the code, being able to see it and review it The reason to perform white-box testing is to find bugs early and to find bugs that would be difficult to uncover or isolate with black-box testing. White Box Testing (Cont..)
Testing design of the software at this early stage of
development is highly cost effective. Development teams vary in who has the responsibility for white-box testing. In some teams the programmers are the ones who organize and run the reviews The programmer who wrote the code and a couple of his peers to assist in the reviews. Formal Reviews
A formal review is the process under which
white-box testing is performed. Formal review can range from a simple meeting between two programmers to a detailed, rigorous inspection of the software's design or its code. If the reviews are run properly, they can prove to be a great way to find bugs early. Formal Reviews (Cont..) Four essential elements of formal review: – Identify Problems. The goal of the review is to find problems with the software not just items that are wrong, but missing items as well. – Follow Rules. A fixed set of rules should be followed. They may set the amount of code to be reviewed ,how much time will be spent, what can be commented on, and so on. – Prepare. Each participant is expected to prepare for and contribute to the review. They need to know what their duties and responsibilities are and be ready to actively fulfill them at the review. – Write a Report. The review group must produce a written report summarizing the results of the review and make that report available to the rest of the product development team. Formal Reviews (Cont..) Formal reviews are the first nets used in catching bugs. Formal Reviews (Cont..)
Inaddition to finding problems, holding formal
reviews has a few indirect results: – Communications. Information not contained in the formal report is communicated. Inexperienced programmers may learn new techniques from more experienced programmers. – Team Trust. If a review is run properly, it can be a good place for testers and programmers to build respect for each other's skills and to better understand each other's jobs and job needs. Peer Reviews The easiest way to get team members together and doing their first formal reviews of the software is peer reviews. Sometimes called buddy reviews. This method is really more of an "I'll show you mine if you show me yours" type discussion. Peer reviews are often held with just the programmer who designed the architecture or wrote the code and one or two other programmers or testers acting as reviewers. Walkthroughs
Walkthroughs are the next step up from peer reviews.
In a walkthrough, the programmer who wrote the code formally presents it to a small group of five or so other programmers and testers. The reviewers should receive copies of the software in advance of the review. Having at least one senior programmer as a reviewer is very important. Walkthroughs (Cont..)
The presenter reads through the code line by
line, or function by function, explaining what the code does and why. The reviewers listen and question anything that looks suspicious. It's also very important that after the review the presenter write a report telling what was found and how he plans to address any bugs discovered. Inspections Inspections are the most formal type of reviews. They are highly structured and require training for each participant. Inspections are different from peer reviews and walkthroughs. The person whose code is being presented is called as author of the code. The other participants are called inspectors. Each is tasked with reviewing the code from a different perspective, such as a user, a tester, or a product support person. Inspections (cont..)
This helps bring different views of the product under
review and very often identifies different bugs. One inspector is even tasked with reviewing the code backward that is, from the end to the beginning to make sure that the material is covered evenly and completely. Some inspectors are also assigned tasks such as moderator and recorder to assure that the rules are followed and that the review is run effectively. Inspections (cont..)
Afterthe inspection meeting, the inspectors
might meet again to discuss the defects they found. and to work with the moderator to prepare a written report. The programmer then makes the changes and the moderator verifies that they were properly made. Re-inspection may be needed to locate any remaining bugs. Inspections (cont..)
Inspections have proven to be very effective in
finding bugs. Especially design documents and code. Inspections are gaining popularity as companies and product development teams discover their benefits.