Want to create interactive content? It’s easy in Genially!

Get started free

ISTQB 1-Fundamentals

Katty Ode

Created on January 17, 2021

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

Preparation Course

ISTQB Foundation Level

Chapter 1- Fundamentals of Testing

START

by Katty Ode

Course INFORMATION

In this course, you will have the opportunity to learn the key elements that will help you pass the ISTQB Foundation level exam, the contents, and glossary of which are the industry reference for the software testing profession. The course will contain:

  • ​After each chapter, a small test should be included as an evaluation of the lesson learned
  • Solve past exams and to practice some sample questions.
Evaluation:
  • Attendance
  • Class participation
  • Online Tests

Resources

rESOURCES

intro

INDEX

3. Seven Testing Principles

Introduction ISTQB

1.Why is testing necessary?

4. Test Process

5.The Psychology of testing

2.What is testing?

Introduction

ISTQB - Definition

History

Course-Main Goal

Introduction

ISTQB - International Software Testing Qualifications Board

Certified Tester - Foundation Level

International recognition of acquired competencies and skills

"Toefl" for QEs

History

  • ISTQB is an independent, democratic non-profit association, ruled by a constitution
  • Comittee: President, Vice-President, Treasurer, Secretary
  • 1998 First Certified Tester Syllabus- ISEB
  • 2002 ISTQB® is founded by 8 member boards: Austria, Denmark, Finland, Germany, Sweden, Switzerland, the Netherlands and UK
  • Number of exams administered: 995,000+
  • Number of certifications issued: 721,000+
  • Foundation Level Certification is on continuous update 2018

MAIN GOAL

Engineer Training Link

MAIN GOAL

ISTQB Fundantion level test 2018 version

  • 40 questions
(Multiple options, exercises)
  • 60 minutes english speaker
  • 75 minutes

Chapter 01

Fundamentals of Testing

Fundamentals of Testing

Objetive: Identify typical objectives of testing, Differentiate testing from debugging

Testing is necessary because we all make mistakes, some of those are unimportant, but some of them are expensive or dangerous.

Why is testing necessary?

1. Why is testing necessary?

1.1. Quality Assurance and Testing

While people often use the phrase quality assurance (or just QA) to refer to testing, quality assurance and testing are not the same, but they are related. Quality assurance is typically focused on adherence to proper processes, in order to provide confidence that the appropriate levels of quality will be achieved. When processes are carried out properly, the work products created by those processes are generally of higher quality, which contributes to defect prevention. In addition, the use of root cause analysis to detect and remove the causes of defects, along with the proper application of the findings of retrospective meetings to improve processes, are important for effective quality assurance

1. Why is testing necessary?

1.1.2 Software SYSTEMS CONTEXT

Testing Principle - Testing is context dependentTesting is done differently in different contexts. For example safely-critical software is tested differently from an e-commerce site.

Not all the software systems carry the same level of risk and not all the problems have the same impact when they occur.

+ info

+ e.g

Errors in the specification, design and implementation of the software and system.

1.1.3 cAUSES OF SOFTWARE DEFECTS

Errors in the use of the system

When we think about what might go wrong we have to consider defects and failures arising from:

Environmental conditions

Intentional damage

Potential consequences of earlier errors, intetional damage, defects and failures.

Time pressure

1.1.3 cAUSES OF SOFTWARE DEFECTS

Human fallibility

Inexperienced or insufficiently skilled project participants

A person can make an error (mistake), which can lead to the introduction of a defect (fault or bug) in the software code or in some other related work product.Errors may occur for many reasons, such as:

Miscommunication between project participants, including miscommunication about requirements and design

Complexity of the code, design, architecture, the underlying problem to be solved, and/or the technologies used

Misunderstandings about intra-system and inter-system interfaces, especially when such intrasystem and inter-system interactions are large in number

New, unfamiliar technologies

When dodefects arise?

What is the cost of defects?

The cost of finding and fixing defects rises considerably across the life cycle.

cost of finding and fixing defectsincreses over time

COST

TIME

Requirements

Live Use

Test

Build

Design

1.1.4 Role of testing in software development, maintance and operations

Rigourous testing is necessary during development and maintenance to identify defects, in order to reduce failures in the operational environment and increse the quality of the operational system

  • Testing help us to measure quality of software in terms of the number of defects found, the test run, and the system covered by the test.
  • Testing can give confidence in the quality of software if it finds few or no defects, provided we are happy that the testing is sufficiently rigoruse.

1.1.5 TESTING AND QUALITY

1. Why is testing necessary?

1.1.6 how much testing is enough?

Testing Principle - Exhaustive testing is imposibleTesting 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. Deciding how much testing is enogh should take account of the level of risk inclusing technical and business risks related to the product and project constraints such as time and budget.

Question 1 of 4

Which one of the statements below describes the most common situation for a failure discovered during testing or in production? a) The product crashed when the user selected an option in a dialog box b) The wrong version of a compiled source code file was included in the build c) The computation algorithm used the wrong input variables d) The developer misinterpreted the requirement for the algorithm Select ONE option.

Rightanswer

RIGHT!

a) Is correct. A crash is clearly noticeable by the user

NEXT

Question 2 of 4

In what way can testing be part of Quality Assurance? a) It ensures that requirements are detailed enough b) Testing reduces the risk of poor software quality c) It ensures that standards in the organization are followed d) It measures the quality of software in terms of number of executed test cases Select ONE option.

Rightanswer

RIGHT!

b) Is correct.Testing contributes to the achievement of quality in a variety of ways, e.g. such as reducing the risk of inadequate software quality

NEXT

Question 3 of 4

Which of the following is a typical test objective? a) Preventing defects b) Repairing defects c) Comparing actual results to expected results d) Analyzing the cause of failure Select ONE option

Rightanswer

RIGHT!

a) Is correct. This is an objective listed

NEXT

Question 4 of 4

According to the ISTQB Glosssary a risk relates to which of the following?a) Negative feedback to the tester b) Negative consequences that will occur c) Negative consequences that could occur d) Negative consequences for the test object Select ONE option

Rightanswer

RIGHT!

C) Is correct. REVIEW GLOSSARY :V

end day 1

1.2 What is testing?

"Checking the software is ok"

Glossary def:

The process consisting of all lifecycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects.

1.2.1 The DRIVING TEST- A ANALOGY FOR SOFTWARE TESTING

The test has know goals:Assesing wheter the driver is sufficiently safe to be allowed to drive by themselves.

The test is planned and prepared:The examiner has planned a series of routes which cover the key

1.2.1 The DRIVING TEST- A ANALOGY FOR SOFTWARE TESTING

The examiner will also ask questions or the driver will take a written exam.

The test is therefore carried out to show that the driver satisfies the requirements for driving, the examiner looks for driving faults, the time, and abilities, the driver who fails will get a report with a list of faults and areas to improve before retaking the test.

1.2 What is testing?

1.2.2 DEFINNING Software TESTING

Testing as a process:

1. Testing is a process rather than a single activity - there are a series of activities involved. 2. All life cycle activities- We saw earlier that the later in the life cycle we find bugs,the more expensive they are.

1.2 What is testing?

1.2.2 DEFINNING Software TESTING

Testing as a process:

3. Both static and dynamic - Dynamic testing: Testing executing code Static testing: Testing without executing code 4. Planning- Activities take place before and after test execution, reports of testing progress , status

1.2 What is testing?

1.2.2 DEFINNING Software TESTING

Testing as a process:

5. Preparation - We need to choose what testing we will do, by selecting test conditions and test cases. 6. Evaluation- We must check the resulsts and evaluate the software under test, which help us decide we have finished testing and the software has passed the tests. 7. Software products and related works products- We don't just test code, we test requirements and design specifications and also related documents such as operation, user and training material.

1.2 What is testing?

1.2.2 DEFINNING Software TESTING

Objectives for testing:

1. Determine that the software products satisfy specified requirements 2. Demostrate that software products are fit for purpose, the software does enough to help the users to carry out their tasks. 3. Gain confidence and provide information about the level of quality

1.2 What is testing?

1.2.2 DEFINNING Software TESTING

Objectives for testing:

Finding defects help us understand the risk associated with putting the software into operational use Benefit: With root cause analysis, they also help us to improve the development processes and make fewer mistakes in future work.

4. Prevent/Detect defects:

1.2.3 DebugginG removes defects

Debugging: When a test finds a defect that must be fixed, a programmer must do some work to locate the defect in the code and make the fix.

  • The root causes of defects are the earliest actions or conditions that contributed to creating the defects.
  • Defects can be analyzed to identify their root causes, so as to reduce the occurrence of similar defects in the future. By focusing on the most significant root causes, root cause analysis can lead to process improvements that prevent a significant number of future defects from being introduced.

1.3 TESTING PRINCIPLES

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.

TESTING SHOWS PRESENCE OF DEFECTS

1.3 TESTING PRINCIPLES

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.

EXHAUSTIVE TESTING IS IMPOSIBLE

1.3 TESTING PRINCIPLES

Testing activities should start as early as possible in the software of systems development life cycle and should be focused on defined objectives.

EARLY TESTING

1.3 TESTING PRINCIPLES

A small number of modules contain most of the defects discovered during pre-release testing or show the most operational objectives.

DEFECT CLUSTERING

1.3 TESTING PRINCIPLES

DEFECT CLUSTERING

1.3 TESTING PRINCIPLES

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 with the “pesticide paradox” the test cases need to be regularly reviewed and revised, and new and different test cases need to be written to exercise different parts of the software or system to potentially find more defects.

PESTICIDE PARADOX

1.3 TESTING PRINCIPLES

Testing is done differently in different context, is not same a safely-critical software from an e-commerce site.

TESTING IS A CONTEXT DEPENDET

1.3 TESTING PRINCIPLES

Finding and fixing defects does not help if the system built is unusable and does not fulfill the users’ needs and expectations.

ABSENCE-OF-ERRORS FALLACY

Question 1 of 5

A product owner says that your role as a tester on an Agile team is to catch all the bugs before the end of each iteration. Which of the following is a testing principle that could be used to respond to this (false) statement? a) Defect clustering b) Testing shows the presence of defects c) Absence of error fallacy d) Root cause analysis

Rightanswer

Question 2 of 5

Which of the following statements correctly describes the difference between testing and debugging? a) Testing identifies the source of defects; debugging analyzes the defects and proposes prevention activities b) Dynamic testing shows failures caused by defects; debugging eliminates the defects, which are the source of failures c) Testing does not remove faults; but debugging removes defects that cause the faults d) Dynamic testing prevents the causes of failures; debugging removes the failures Select ONE option.

Rightanswer

Question 2 of 5

Which of the following statements correctly describes the difference between testing and debugging? a) Testing identifies the source of defects; debugging analyzes the defects and proposes prevention activities b) Dynamic testing shows failures caused by defects; debugging eliminates the defects, which are the source of failures c) Testing does not remove faults; but debugging removes defects that cause the faults d) Dynamic testing prevents the causes of failures; debugging removes the failures Select ONE option.

Rightanswer

Question 3 of 5

Mr. Test has been testing software applications on mobile devices for a period of 5 years. He has a wealth of experience in testing mobile applications and achieves better results in a shorter time than others. Over several months, Mr. Test did not modify the existing automated test cases and did not create any new test cases. This leads to fewer and fewer defects being found by executing the tests. What principle of testing did Mr. Test not observe? a) Testing depends on the environment b) Exhaustive testing is not possible c) Repeating of same tests will not find new defects d) Defects cluster together Select ONE option

Rightanswer

Question 4 of 5

As a result of risk analysis, more testing is being directed to those areas of the system under test where initial testing found more defects than average.Which of the following testing principles is being applied? a) Beware of the pesticide paradox b) Testing is context dependent c) Absence-of-errors is a fallacy d) Defects cluster together Select ONE option.

Rightanswer

Question 5 of 5

Which of the following is a defect rather than a root cause in a fitness tracker? a) Because the author of the requirements was unfamiliar with the domain of fitness training, he therefore wrongly assumed that users wanted heartbeat in beats per hour b) The tester of the smartphone interface had not been trained in state transition testing, so missed a major defect c) An incorrect configuration variable implemented for the GPS function could cause location problems during daylight saving times d) Because the designer had never worked on wearable devices before, she as designer of the user interface therefore misunderstood the effects of reflected sunlight

Rightanswer

end day 2

1.4 TEST PROCESS

There is no one universal software test process, but there are common sets of test activities without whichtesting will be less likely to achieve its established objectives. These sets of test activities are a testprocess, Factors than influence that process are:

 Software development lifecycle model and project methodologies being used  Test levels and test types being considered  Product and project risks  Business domain  Operational constraints, including but not limited to: o Budgets and resources o Timescales o Complexity o Contractual and regulatory requirements  Organizational policies and practices  Required internal and external standards

1.4 TEST PROCESS

A test process consists of the following main groups of activities:

  1. Test Planning
  2. Test Monitoring and control
  3. Test Analysis
  4. Test Desing
  5. Test Implementation
  6. Test Execution
  7. Test Completion

1.4 fundamental test process

  • Test planning involves activities that define the objectives of testing and the approach for meeting test objectives within constraints imposed by the contex
  • During test planning, we make sure we understand the goals and objectives of the cutomers/stakeholder and the project

TEST PLANNING

Determine the scope and risks and identify the objectives of testing

1- TEST PLANNING

Determine the test approcach (techniques, test items, coverage )

Test planning has the major tasks:

Implement the test policy and/or the test strategy

Determine the required test resources (people, test enviroment, PCs)

Potential consequences of earlier errors, intetional damage, defects and failures.

1- TEST PLANNING

Schedule test analysis and design tasks, test implementations, execution and evaluation

Test planning has the major tasks:

Determine the exit criteriafor example the percentage of statements in the software that must be executed during testing

Potential consequences of earlier errors, intetional damage, defects and failures.

1.4 fundamental test process

  • Test monitoring involves the on-going comparison of actual progress against planned progress using any test monitoring metrics defined in the test plan.
  • Test control involves taking actions necessary to meet the objectives of the test plan (which may be updated over time).

TEST MONITORING AND CONTROL

Measure and analyze the results of reviews and testing, we need to track how many test pasess and failed, Determining if more tests are needed

Monitor and document progress, test coverage and exit criteria, it is important that we inform how much testing has been done

1- TEST MONITORING AND CONTROL

Provide information on testing , we should expect to make regular reports (project manager, customer, stakeholders)

Test monitoring and control has the major tasks:

Initate corrective actions: ask for more effort to be put into debugging or prioritize defects

Make decisions: based on the measures and information:continue testing/stop testing/ release the software

Potential consequences of earlier errors, intetional damage, defects and failures.

1.4 fundamental test process

  • During test analysis, the test basis is analyzed to identify testable features and define associated test conditions. In other words, test analysis determines “what to test” in terms of measurable coverage criteria.

TEST ANALYSIS

  • Requirement specifications, such as business requirements, functional requirements, system requirements, user stories, epics, use cases, or similar work products that specify desired functional and non-functional component or system behavior
  • Design and implementation information, such as system or software architecture diagrams or documents, design specifications, call flow graphs, modelling diagrams (e.g., UML or entity-relationship diagrams), interface specifications, or similar work products that specify component or system structure
  • The implementation of the component or system itself, including code, database metadata and queries, and interfaces
  • Risk analysis reports, which may consider functional, non-functional, and structural aspects of the component or system

3- TEST ANALYSIS

Test analysis has the major tasks: Analyzing the test basis appropriate to the test level being considered, for example:

Potential consequences of earlier errors, intetional damage, defects and failures.

3- TEST ANALYSIS

  • Ambiguities
  • Omissions
  • Inconsistencies
  • Inaccuracies
  • Contradictions
  • Superfluous statements

Test analysis has the major tasks: Evaluating the test basis and test items to identify defects of various types, such as:

Potential consequences of earlier errors, intetional damage, defects and failures.

3- TEST ANALYSIS

Identifying features and sets of features to be tested Defining and prioritizing test conditions for each feature based on analysis of the test basis, and considering functional, non-functional, and structural characteristics, other business and technical factors, and levels of risks

Test analysis has the major tasks:

Potential consequences of earlier errors, intetional damage, defects and failures.

1.4 fundamental test process

  • During test design, the test conditions are elaborated into high-level test cases, sets of high-level test cases, and other testware. So, test analysis answers the question “what to test?” while test design answers the question “how to test?”

TEST DESING

Designing and prioritizing test cases and sets of test cases Identifying necessary test data to support test conditions and test cases Designing the test environment and identifying any required infrastructure and tools Capturing bi-directional traceability between the test basis, test conditions, and test cases

4- TEST DESING

Test design has the major tasks:

Potential consequences of earlier errors, intetional damage, defects and failures.

1.4 fundamental test process

5 y 6

TEST IMPLEMENTATION AND EXECUTION

  • Is the activity where we take test conditions and make them intro test cases and testware
while test implementation answers the question “do we now have everything in place to run the tests?”

5 y 6- TEST IMPLEMENTATION AND EXECUTION

  • Developing and prioritizing test procedures, and, potentially, creating automated test scripts
  • Creating test suites from the test procedures and (if any) automated test scripts
  • Arranging the test suites within a test execution schedule in a way that results in efficient test execution

Test implementation has the major tasks:

Potential consequences of earlier errors, intetional damage, defects and failures.

  • Developing and prioritizing test procedures, Building the test environment (including, potentially, test harnesses, service virtualization, simulators, and other infrastructure items) and verifying that everything needed has been set up correctly
  • Preparing test data and ensuring it is properly loaded in the test environment
  • Verifying and updating bi-directional traceability between the test basis, test conditions, test cases, test procedures, and test suites

5 y 6- TEST IMPLEMENTATION AND EXECUTION

Test implementation has the major tasks:

Potential consequences of earlier errors, intetional damage, defects and failures.

  • Executing tests either manually or by using test execution tools
  • Comparing actual results with expected results
  • Analyzing anomalies to establish their likely causes (e.g., failures may occur due to defects in the code, but false positives also may occur)
  • Reporting defects based on the failures observed

5 y 6- TEST IMPLEMENTATION AND EXECUTION

Test execution has the major tasks:

Potential consequences of earlier errors, intetional damage, defects and failures.

  • Logging the outcome of test execution (e.g., pass, fail, blocked)
  • Repeating test activities either as a result of action taken for an anomaly, or as part of the planned testing (e.g., execution of a corrected test, confirmation testing, and/or regression testing)
  • Verifying and updating bi-directional traceability between the test basis, test conditions, test cases, test procedures, and test results.

5 y 6- TEST IMPLEMENTATION AND EXECUTION

Test execution has the major tasks:

Potential consequences of earlier errors, intetional damage, defects and failures.

1.4 fundamental test process

TEST COMPLETION

  • Is the activity where test execution is assessed against the defined objectives and also we colect data.

Check test logs agains the exit criteria specified in test planning, (see defects raised, fixed, tested)

7- TEST COMPLETION

Assess if more tests are need of if the exit criteria specified should be changed

TEST COMPLETION has the major tasks:

Write a test summary report for stakeholders

Analyzing lessons learned from the completed test activities to determine changes needed for future iterations, releases, and projects,Using the information gathered to improve test process maturity

Potential consequences of earlier errors, intetional damage, defects and failures.

7- TEST COMPLETION

Check which planned deliverables we actually delivered and ensure all incident reports have been resolved - deferred defects.

Test closure activities include the following major tasks:

Finalize and archive testware, such as scripts, the test enviroments, and any other test infraestructure, for later reuse

Potential consequences of earlier errors, intetional damage, defects and failures.

5 - TEST CLOSURE ACTIVITIES

Hand over testware to the maintance organization who wil support the software and make any bug fixes or maintance changes

Test closure activities include the following major tasks:

Evaluate how testing went and analyze lessons learned for future reakeases and projects.

Potential consequences of earlier errors, intetional damage, defects and failures.

1.5 THE PSYCHOLOGY OF TESTING

1.5.1 Independent testing - who is a tester?

The mindset we want to use while testing and reviewing is different from the one we use while analyzin or developing.

+ info

However, we all know it is difficult to find our own mistakes

Several levels of independece can be identified:

  • test by the person who wrote the item under test
  • test by another person within the same team, such as another programer
  • test by a person from another different organizational group, such independet test team
  • test designed by a person from a different-orgazanition or company, such as outsourced testing

1.5 THE PSYCHOLOGY OF TESTING

1.5.2 Why do we sometimes not get on with the rest of the team?

  • As well as independence, separation of the tester role from the developer role is also done to help focus effort and provide the benefits of trained and professional testing resources.
  • Because testing can be seen as a destructive activity, we need to take care to report on defects and failures as objectively and politely as possible

1.5 THE PSYCHOLOGY OF TESTING

Communicate findings on the product in a neutral, fact-focused way without criticizing the person who created it

Explain that by knowing about this now we can work around if or fix it so the delivered system is better for the customer

Start with collaboration rather than battles. Remind everyone of the common goal of better quality systems

Question 1 of 4

Which of the following activities is part of the main activity "test analysis" in the test process? a) Identifying any required infrastructure and tools b) Creating test suites from test scripts c) Analyzing lessons learned for process improvement d) Evaluating the test basis for testability Select ONE option.

Rightanswer

Question 2 of 4

Given the following test activities and tasks: A. Test design B. Test implementation C. Test execution D. Test completion 1. Entering change requests for open defect reports 2. Identifying test data to support the test cases 3. Prioritizing test procedures and creating test data 4. Analyzing discrepancies to determine their cause Which of the following BEST matches the activities with the tasks? a) A-2, B-3, C-4, D-1 b) A-2, B-1, C-3, D-4 c) A-3, B-2, C-4, D-1 d) A-3, B-2, C-1, D-4 Select ONE option

Question 3 of 4

Which of the following qualities is MORE likely to be found in a tester’s mindset rather than in a developer’s? a) A tester´s mindset tends to grow and mature as the tester gains experience b) Ability to see what might go wrong c) Good communication with team members d) Attention to detail Select ONE option

Rightanswer

Question 4 of 4

Programmers often write and execute unit tests against code which they have written. During this self-testing activity, which of the following is a tester mindset that programmers should adopt to perform this unit testing effectively? a) Good communication skills b) Code coverage c) Evaluating code defects d) Attention to detail Select ONE option.

Rightanswer

end day 3