26

Fundamentals of Testing (2013)

Embed Size (px)

Citation preview

• Testing– It is a process used to identify the correctness,

completeness, and quality of developed computer software.

• Objectives of Testing– Finding defects– Gaining confidence about the level of quality– Providing information for decision-making– Preventing defects

• Debugging– Development activity that finds, analyzes and removes the

cause of a failure

• Error– An error is a human action producing an incorrect result

• Fault– A fault is a manifestation of human error in software

• Failure– A failure is a deviation of the software from its expected

delivery or service

„Testing is a privileg you enjoy before releasing to the client“„Bugs are a nightmare you endure after releasing to the client“

Planning and Control

Analysis  and Design

Implementation  and Execution

Evaluating Exit  Criteriaand Reporting

Closure Activities

End

Start

• Planning and Control– Test planning is the activity of verifying the mission of

testing– Test control is the ongoing activity of comparing actual

progress against the plan

• Analysis and Design– The activity where general testing objectives are

transformed into tangible test conditions and test designs

• Implementation and Execution– The activity where test conditions are transformed into test

cases and testware, and the environment is set up

• Evaluating Exit Criteria and Reporting– The activity where test executions is assessed against the

defined objectives

• Closure Activities– Collecting data from completed test activities to consolidate

experience, testware, facts and numbers

• Levels of dependence– By the person who wrote the software– By another person e.g. from the develiopment team– By a person from a different organizational group or test

specialist– By a person from a different organization or company

• Communication– Start with collaboration rather than battles – remind

everyone of the common goal of better quality system– Communicate findings on the product in a neutral, fact-

focused way– Try to understand how the other person feels and why they

react as they do– Confirm that the other person has understood what you

have said and vice versa

1. Testing shows presence of defects2. Exhaustive testing is impossible3. Early testing4. Defect clustering5. Pesticide paradox6. Testing is context dependent7. Absence-of-errors fallacy

Ø General guidelines common for all testing

• Public– Testers shall act consistently with the public interest

• Client and Employer– Testers shall act in the best interests of their client and

employer

• Product– Testers shall ensure the deliverables meet the highest

professional standards possible

• Judgement– Tester shall maintain integrity and independence in their

professional judgement

• Management– Test managers and leaders shall subscribe to and promote

an ethical approach to the management of software testing

• Profession– Testers shall advance the integrity and reputation of the

profession

• Colleagues– Testers shall be fair to and supportive of their colleagues,

and promote cooperation with developers

• Self– Testers shall participate in lifelong learning regarding the

practice of their profession

Which of the following statements BEST describes one of the seven key principles of software testing?

Automated tests are better than manual tests for avoiding theExhaustive Testing.

Exhaustive testing is, with sufficient effort and tool support, feasible for all software.

It is normally impossible to test all input / outputcombinations for a software system.

The purpose of testing is to demonstrate the absence ofdefects.

Which of the following statements is the MOST valid goal for a test team?

Determine whether enough component testing was executed.

Cause as many failures as possible so that faults can beidentified and corrected.

Prove that all faults are identified

Prove that any remaining faults will not cause any failures

Which of these tasks would you expect to perform during Test Analysis and Design?

Setting or defining test objectives.

Reviewing the test basis.

Creating test suites from test procedures.

Analyzing lessons learned to process improvement.

Below is a list of problems that can be observed during testing or operation. Which is MOST likely a failure?

The product crashed when the user selected an option in a dialog box.

One source code file included in the build was the wrongversion.

The computation algorithm used the wrong input variables.

The developer misinterpreted the requirement for thealgorithm.

Which of the following, if observed in reviews and tests, would lead to problems (or conflict) within teams?

Testers and reviewers are not curious enough to find defects.

Testers and reviewers are not qualified enough to find failuresand faults.

Testers and reviewers communicate defects as criticismagainst persons and not against the software product.

Testers and reviewers expect that defects in the softwareproduct have already been found and fixed by the developers.

Which of the following statements are TRUE?a) Software testing may be required to meet legal or contractual

requirements.b) Software testing is mainly needed to improve the quality of

the developer’s work.c) Rigorous testing and fixing of defects found can help reduce

the risk of problems occurring in an operational environment.d) Rigorous testing is sometimes used to prove that all failures

have been found.

b) and c) are true; a) and d) are false.

a) and d) are true; b) and c) are false.

a) and c) are true; b) and d) are false.

c) and d) are true; a) and b) are false.

Which of the following statements BEST describes the difference between testing and debugging?

Testing pinpoints (identifies the source of) the defects. Debugging analyzes the faults and proposes preventionactivities.

Dynamic testing shows failures caused by defects. Debugging finds, analyzes, and removes the causes of failures in thesoftware.

Testing removes faults. Debugging identifies the causes offailures.

Dynamic testing prevents causes of failures. Debugging removes the failures.