INTRODUCTION

In this opening chapter we have three very important objectives to achieve. First, we will introduce you to the fundamental ideas that underpin the discipline of software testing, and this will involve the use and explanation of some new terminology. Secondly, we will establish the structure that we have used throughout the book to help you to use the book as a learning and revision aid. Thirdly, we will use this chapter to point forward to the content of later chapters.

We begin by defining what we expect you to get from reading this chapter. The learning objectives below are based on those defined in the Software Foundation Certificate syllabus (ISTQB, 2010), so you need to ensure that you have achieved all of these objectives before attempting the examination.

Learning objectives

The learning objectives for this chapter are listed below. You can confirm that you have achieved these by using the self-assessment questions at the start of the chapter, the ‘Check of understanding‘ boxes distributed throughout the text, and the example examination questions provided at the end of the chapter. The chapter summary will remind you of the key ideas.

The sections are allocated a K number to represent the level of understanding required for that section; where an individual topic has a lower K number than the section as a whole, this is indicated for that topic; for an explanation of the K numbers see the Introduction.

Why is testing necessary? (K2)
  • Describe, with examples, the way in which a defect in software can cause harm to a person, to the environment or to a company.

  • Distinguish between the root cause of a defect and its effects.

  • Give reasons why testing is necessary by giving examples.

  • Describe why testing is part of quality assurance and give examples of how testing contributes to higher quality.

  • Recall the terms error, defect, fault, failure and the corresponding terms mistake and bug. (K1)

What is testing? (K2)
  • Recall the common objectives of testing. (K1)

  • Provide examples for the objectives of testing in different phases of the software life cycle.

  • Differentiate testing from debugging.

General testing principles (K2)
  • Explain the fundamental principles in testing.

Fundamental test process (K1)
  • Recall the five fundamental test activities and respective tasks from planning to test closure.

The psychology of testing (K2)
  • Recall the psychological factors that influence the success of testing. (K1)

  • Contrast the mindset of a tester and of a developer.

Self-assessment questions

The following questions have been designed to enable you to check your current level of understanding for the topics in this chapter. The answers are given at the end of the chapter.

SA1 Question SA1 (K1)

A bug or defect is:

a. a mistake made by a person;

b. a run-time problem experienced by a user;

c. the result of an error or mistake;

d. the result of a failure, which may lead to an error?

SA2 Question SA2 (K1)

The effect of testing is to:

a. increase software quality;

b. give an indication of the software quality;

c. enable those responsible for software failures to be identified;

d. show there are no problems remaining?

SA3 Question SA3 (K1)

What is retesting?

a. Running the same test again in the same circumstances to reproduce the problem.

b. A cursory run through a test pack to see if any new errors have been introduced.

c. Checking that the predetermined exit criteria for the test phase have been met.

d. Running a previously failed test against new software/data/documents to see if the problem is solved.

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

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