Вы находитесь на странице: 1из 34

ISTQB Foundation Level

Fundamentals in Testing

Agenda
An introduction on ISTQB ISTQB syllabus 2010 Fundamentals of Testing Terms to Remember Know your level

Introduction
ISTQB can be done : by everyone who are involved in software testing who wants a basic understanding of software testing Basic level for higher-level software testing qualification.

Syllabus
The new syllabus of version 2010 is effective 30-Mar-2010 Learning objectives are classified as follows: K1: remember, recognize, recall K2: understand, explain, give reasons, compare, classify, categorize, give examples, summarize K3: apply, use K4: analyze

Fundamentals of Testing (K2)

Course Objectives
Why is Testing Necessary? What is Testing? Seven Testing Principles Fundamental Test Process The Psychology of Testing

Why Testing is Necessary?


No software is defect free To learn about the reliability of the software Failures are expensive To gain customer satisfaction To sustain in business Requirement coverage

Why Testing is necessary?


Where Bugs Come From and What Bugs Do
A human being can make an error (mistake), which produces a defect (fault, bug) in the code, in software or a system, or in a document. If a defect in code is executed, the system will fail to do what it should do (or do something it shouldnt), causing a failure.
Error Fault( Bug or Defect) Failure

The Threat of Bugs


Company Reputation for quality, unpredictable maintenance cost, lack of confidence, lawsuits People & Society lost jobs, lost lives etc Environment Pollution ,Waste

Causes of Faults
Human error Time pressure Complexity in software requirements Technology

Software Quality
Testing and quality
Tests gives confidence where they find few bugs Passing tests reduce the level of quality risk Failing tests provide a chance to improve quality The test set gives an assessment of quality When bugs are removed the quality is improved

Testing should be a quality assurance activity Fitness for Use or Conformance to requirements Verification vs. Validation

How much testing is enough?


Risks
Technical Business Project

Constraints
Time Budget The testing completion should done based on the above factors. Testing should provide sufficient information to stakeholders to make informed decisions about the release . To achieve it Prioritize your tests. Exhaustive Testing is impossible

Terms to Remember
Bug, Defect, Error, Failure, Fault, Mistake, Quality, Risk, Software, Testing, Risk, Exhaustive testing, root cause analysis

What is Testing?
Testing Objectives
Finding bugs and providing programmers with the information they need to fix important bugs Gaining confidence about the level of quality of the system Preventing defects (through early involvement in reviews and advanced test design) Provide information about the most important aspects of the quality of the system under test Help management understand system quality

What is Testing?
Testing Process
Testing is a process rather than a single activity-there are a series of activities involved All life cycle activities Both static and dynamic Test Planning and control Preparation Evaluation Software products and related work products

Phases of Testing
Unit/Component Test
Find bugs in the individual pieces of the system under test before the pieces are fully integrated into the system

Integration/String Test
Find bugs in the relationships and interfaces between pairs and groups of components in the system under test as the pieces come together

System Test
Find bugs in the overall and particular behaviors, functions, and responses of the system under test as a whole

Acceptance/Pilot Test
Demonstrate that the product is ready for deployment/release or to assess quality and give information on the risk of deployment/release

Maintenance Test
Check for errors introduced during development of the changes

Operational Test
Assess non-functional system characteristics such as reliability or availability

Testing vs. Debugging


Testing finds failures that are caused by bugs Debugging - The process of finding, analyzing and removing the causes of failures in software
identifies the root cause of a bug repairs the code and checks that the defect is fixed correctly

Confirmation testing ensures the fix resolves the observed failure Different responsibilities:
Testers test Programmers debug

Find

Debug

Confirm

Terms to Remember
Code, Debugging, Development, Requirement, review, Test Case, Test Basis, Testing, Test Objectives.

Testing Principles
Principle 1 Testing shows presence of defects Testing can show that defects are present, but cannot prove that there are no defects. Testing reduces the probability of undiscovered defects remaining in the software but, even if no defects are found, it is not a proof of correctness. Principle 2 Exhaustive testing is impossible Testing everything (all combinations of inputs and preconditions) is not feasible except for trivial cases. Instead of exhaustive testing, we use risk and priorities to focus testing efforts. Principle 3 Early testing Testing activities should start as early as possible in the software or system development life cycle, and should be focused on defined objectives. Principle 4 Defect clustering A small number of modules contain most of the defects discovered during pre-release testing, or show the most operational failures.

Principle 5 Pesticide paradox If the same tests are repeated over and over again, eventually the same set of test cases will no longer find any new bugs. To overcome this pesticide paradox, the test cases need to be regularly reviewed and revised, and new and different tests need to be written to exercise different parts of the software or system to potentially find more defects. Principle 6 Testing is context dependent Testing is done differently in different contexts. For example, safetycritical software is tested differently from an e-commerce site. Principle 7 Absence-of-errors fallacy Finding and fixing defects does not help if the system built is unusable and does not fulfill the users needs and expectations.

Terms to Remember
Exhaustive Testing, Defect Clustering, Pesticide Paradox, Error Fallacy.

Test Process
Test Process - Plan, prepare, perform, perfect Planning and control Analysis and design Implementation and execution Evaluating test exit criteria and reporting Test closure activities

Planning & Control


Planning
Determine test scope, risks, objectives, strategies Determine required test resources Implement the test strategies Schedule test analysis and design Schedule implementation, execution and evaluation of tests Determine the test exit criteria

Control
Measure and analyze results Monitor and document progress, coverage and test exit criteria Initiate corrective actions Make decisions

Analysis & Design


Analysis
Review the test basis (e.g., requirements or design specifications, network/ system architecture, quality risks) Identify test conditions, test requirements, or test objectives and required test data based on analysis of test items, its specification, behavior and structure

Design
Select specific combinations of test data, actions, and expected results to cover the test basis Evaluate testability of the requirements and system Design the test environment Identify any required infrastructure and tools

Implementation & Execution


Implementation
Review the test basis (e.g., requirements or design specifications, network/ system architecture, quality risks) Identify test conditions, test requirements, or test objectives and required test data based on analysis of test items, its specification, behavior and structure

Execution
Select specific combinations of test data, actions, and expected results to cover the test basis Evaluate testability of the requirements and system Design the test environment Identify any required infrastructure and tools

Exit Criteria, Reporting &Closure


Exit Criteria and Reporting
Check test logs against the test exit criteria specified in test planning Assess if more tests are needed or if the exit criteria specified should be changed Write a test summary report for stakeholders

Closure
Confirm test deliverables, final resolution or deferral of bug reports, and the acceptance of the system Finalize and archive test ware, test environment and test infrastructure Deliver test ware to the maintenance organization Perform a retrospective to capture improvements for future releases, projects, and test processes

Terms to Remember
Confirmation testing, exit criteria, incident, regression testing, test basis, test condition, test coverage, test data, test execution, test log, test plan, test strategy, test summary report, test ware.

Psychology of Testing
How people influence testing success The right mix of self-testing and independent testing

Communication between testers and others on the project team

Defining Tester Skills


Testers are sometimes on receiving end of emotions brought on by news of project problems The Testers skills are defined as:
Reading specifications, emails, test cases, etc Writing test cases, bug reports, test documentation etc Not Native Language dependent Pertinent technology, project and testing skills

Balanced Skills
Effective and efficient tester have right mix of skills for tasks and activities Application domain expert
Understands intended behavior

Skilled tester
Knows quality risks and test techniques

Technical Guru

Domain Expert

Technical guru
Aware of technical issues and limitations

Testing skill

Levels of independence
Several levels of independence based ranking from lowest to highest:
Tests by the person who wrote the item under test; Tests by another person within the same team, such as another programmer; Tests by a person from a different organizational group, such as an independent test team; Tests designed by a person from a different organization or company, such as outsourced testing or certification by an external body.

Effective Communication
Communicate findings on the product in a neutral, factfocused way without criticizing the person who created it.
Dont gloat, Dont blame, be constructively critical and discuss the defect

Explain that by knowing about this now we can work round it or fix it so the delivered system is better for the customer.
Say what you liked, give praise as well as criticism, Show the risk honestly.

Start with collaboration rather than battles. Remind everyone of the common goal of better quality systems.
Be polite and helpful, Offer your work to be reviewed, Confirm the other person understanding

Terms to Remember
Independent Testing

Exam Pattern
No of questions : 40 Passing Criteria : 60% or 25 questions to be correct Break down of questions : 7 questions from Chapter 1 Question Pattern:
Which statement regarding testing is correct? (Stem)
a) Testing is planning, specifying and executing a program with the aim of finding defects (key) b) Testing is the process of correcting defects identified in a developed program (distracter) c) Testing is to localize, analyze and correct the direct defect cause (distracter) d) Testing is independently reviewing a system against its requirements (distracter)

All the Best !!

Вам также может понравиться