SUMMARY

In this chapter we have looked at how review techniques and static analysis fit within the test process defined in Chapter 2. We have understood that a review is a static test, i.e. it is a test carried out without executing any code (by reading and commenting on any document (work-product) such as a requirements specification, a piece of code or a test plan/test case). We have also looked at the different types of review techniques available, such as walkthroughs and inspections, as well as spending time understanding the benefits of reviews themselves.

Reviews vary in formality. The formality governs the amount of structure and documentation that surround the review itself.

To obtain the most benefit from reviews, they should be carried out as early in the project life cycle as possible, preferably as soon as the document to be reviewed has been written and definitely, in the case of work-products such as requirement specifications and designs, before any code is written or executed. The roles of the participant reviewers need to be defined and, in the more structured review techniques, written output from reviews is expected.

We have learnt that static analysis is checking the developed software code before it is executed, checking for defects such as unreachable (dead code) and the misuse of development standards. We have also learnt that static analysis is best carried out using tools, which are described in detail in Chapter 6.

Like reviews, the best benefits of static analysis are realised when it is carried out as soon as possible after the code is written

Example examination questions with answers

E1 E1. K1 question

Which of the following is most likely to be a benefit of using static techniques?

a. Fewer performance defects.

b. Productivity improvements in the development process.

c. More efficient regression testing.

d. Quick return on investment in static analysis tools.

E2 E2. K2 question

Which of the following has the typical formal review activities in the correct sequence?

a. Kick-off, review meeting, planning, follow-up.

b. Kick-off, planning, review meeting, re-work.

c. Planning, kick-off, individual preparation, review meeting.

d. Planning, individual preparation, follow-up, re-work.

E3 E3. K2 question

Which of the following statements are true?

(i) Defects are likely to be found earlier in the development process by using reviews rather than static analysis.

(ii) Walkthroughs require code but static analysis does not require code.

(iii) Informal reviews can be performed on code and specifications.

(iv) Dynamic techniques are generally used before static techniques.

(v) Dynamic techniques can only be used after code is ready to be executed.

a. (i), (ii), (vi).

b. (ii), (iii), (v).

c. (i), (iv), (v).

d. (i), (iii), (v).

E4 E4. K1 question

Which of the following are static techniques?

a. Walkthrough.

b. State transition testing.

c. Decision table testing.

d. Statement testing.

E5 E5. K1 question

Which one of the following roles is typically used in a review?

a. Champion.

b. Author.

c. Project sponsor.

d. Custodian.

E6 E6. K2 question

Which of the following is most likely to be performed by developers?

a. Technical review of a functional specification.

b. Walkthrough of a requirements document.

c. Informal review of a program specification.

d. Static analysis of a software model.

Answers to questions in the chapter

SA1 SA1. The correct answer is a.
SA2 SA2. The correct answer is c.
SA3 SA3. The correct answer is d.

Answers to example questions

E1 E1. The correct answer is b.

Although the other options might be seen as benefits they are not amongst the most likely benefits. Option (b) is the benefit that is most likely to be realised.

E2 E2. The correct answer is c.

The correct sequence is: planning, kick-off, individual preparation, review meeting, re-work, follow-up. All of the other options have either the activities in the wrong order or activities missing from the strict flow.

E3 E3. The correct answer is d.

The other answers are incorrect because:

ii. Walkthroughs do not require code and static analysis does require code.

iv. Static techniques do not execute the code and therefore can be run before and after the code is ready for execution.

E4 E4. The correct answer is a.

Options (b), (c) and (d) are all dynamic test techniques.

E5 E5. The correct answer is b.

The Author is the only role that is typically used in a review. A Champion might sponsor the review process but is not a defined role within an actual review; a Project Sponsor, if technically competent, might be asked to play a defined role within the review process, but whilst using that role they will not be a Project Sponsor; finally, a Custodian might ensure the results are stored safely but would not be involved in the actual review itself.

E6 E6. The correct answer is d.

Static analysis is done almost exclusively by developers. The other review types would be performed using a combination of developers, testers and other interested stakeholders.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset