ISTQB 1
Salvador Miguel Hino
Created on August 25, 2023
Over 30 million people create interactive content in Genially.
Check out what others have designed:
THUNBERG CASE. TIME SOLDIERS
Escape games
MINERALS AND ROCKS
Escape games
HARRY POTTER ESCAPE GAME
Escape games
HARRY POTTER
Escape games
MISSION SANTA: MATH BREAKOUT
Escape games
KINGDOM HEARTS ESCAPE ROOM
Escape games
POKEMON LET'S GO ENGLISH
Escape games
Transcript
Comenzar
certified tester
Foundation Level Syllabus v4.0
- What is testing?
- Why is testing necessary?
- Testing principles.
- Test activities, testware, and test roles.
- Essential skills and good practices in testing.
The MISSION - CHAPTER 1: FUNDAMENTALS OF TESTING
What is testing?
FUNDAMENTALS OF TESTING
Testing and debugging
Test objectives
What is testing?
back
next
back
WHAT IS TESTING?
Software testing assesses software quality and helps to reduce the risk of software failure in operation.
next
back
TEST OBJECTIVES
To verify that there are no untested combinations of inputs
To reduce the risk level of the test object and to build confidence in the quality level
question
To prove that there will be no failures after the implementation of the system into production
To prove that there are no unfixed defects in the system under test
Which of the following statements describes a valid test objective?
back
IT is impossible to prove that there are no defects anymore in the system under test
TRY AGAIN
INCORRECT ANSWER
INCORRECT ANSWER
TRY AGAIN
It is a fallacy (i.e., a misconception) to expect that software verification will ensure the success of a system. Thoroughly testing all the specified requirements and fixing all the defects found could still produce a system that does not fulfill the users’ needs and expectations, that does not help in achieving the customer’s business goals, and that is inferior compared to other competing systems. In addition to verification, validation should also be carried out.
INCORRECT ANSWER
TRY AGAIN
IT IS IMPOSSIBLE TO TEST ALL THE COMBINATIONS OF INPUTS
Testing finds defects and failures which reduces the level of risk and at the same time gives more confidence in the quality level of the test object
CONTINUE
CORRECT ANSWER
back
next
Testing can trigger failures that are caused by defects in the software (dynamic testing), or can directly find defects in the test object (static testing).
TESTING AND DEBUGGING
Why is testing necessary?
What is testing?
FUNDAMENTALS OF TESTING
next
In this way, testing indirectly contributes to higher-quality test objects.
back
TESTING CONTRIBUTION TO SUCCESS
Testing provides a cost-effective means of detecting defects.
question
Certified testers will design much better test cases than non-certified testers
Testers collaborating with end users help to improve the quality of defect reports during component integration and system testing
Testers try not to disturb the developers while coding, so that developers write better code
Having testers involved during various software development lifecycle activities will help to detect defects in work products
Which of the following options shows an example of test activities that contribute to success?
back
Both developers and testers will have more understanding of each other's work products and how to test the code
TRY AGAIN
INCORRECT ANSWER
If testers can work closely with system designers, it will give them insight as to how to test
TRY AGAIN
INCORRECT ANSWER
Testing will not be successful if legal requirements are not tested for compliance
TRY AGAIN
INCORRECT ANSWER
It is important that testers are involved from the beginning of the software development lifecycle (SDLC). It will increase understanding of design decisions and will detect defects early.
CONTINUE
CORRECT ANSWER
back
next
VS
QC
QA
Testing and quality assurance
While people often use the terms "testing" and "quality assurance" (QA) interchangeably, testing and QA are not the same. Testing is a form of quality control (QC).
Root causes
Failures
next
Errors & Defects
back
Errors, defects, failures, and root causes
Testing principles
Why is testing necessary?
What is testing?
FUNDAMENTALS OF TESTING
Testing is context dependent
Tests wear out
Abscence-of-defects fallacy
Defects cluster together
Early testing saves time and money
Exhaustive testing is impossible
Testing only shows the presence of defects
TESTING PRINCIPLES
next
back
question
You have been assigned as a tester to a team producing a new system incrementally. You have noticed that no changes have been made to the existing regression test cases for several iterations and no new regression defects were identified. Your manager is happy, but you are not. Which testing principle explains your skepticism?
Exhaustive testing is impossible.
Defects cluster together.
Absence-of-defects fallacy.
Tests wear out.
back
This principle says about the mistaken belief that just finding and fixing a large number of defects will ensure the success of a system
TRY AGAIN
INCORRECT ANSWER
This principle says that a small number of components usually contain most of the defects
TRY AGAIN
INCORRECT ANSWER
This principle states that testing all combinations of inputs and preconditions is not feasible
TRY AGAIN
INCORRECT ANSWER
This principle means that if the same tests are repeated over and over again, eventually these tests no longer find any new defects. This is probably why the tests all passed in this release as well
CONTINUE
CORRECT ANSWER
back
Test activities, testware, and test roles
Testing principles
Why is testing necessary?
What is testing?
FUNDAMENTALS OF TESTING
next
TEST ACTIVITIES, TESTWARE AND TEST ROLES
There are common sets of test activities without which testing is less likely to achieve test goals. These sets of test activities form a test process. The following sections describe the general aspects of this test process in terms of test activities and tasks, the impact of context, testware, traceability between the test basis and testware, and testing roles
back
Testware is created as output work products from the test activities
Planning
Execution
Implementation
Completion
Design
Analysis
Monitoring & control
next
A test process usually consists of the main groups of activities described below. Although many of these activities may appear to follow a logical sequence, they are often implemented iteratively or in parallel.
WHOLE TEAM APPROACH
back
question
You work in a team that develops a mobile application for food ordering. In the current iteration the team decided to implement the payment functionality. Which of the following activities is a part of test analysis?
Analyzing the discrepancy between the actual result and expected result after executing a test case that checks the process of payment with a credit card, and reporting a defect
Using boundary value analysis (BVA) to derive the test data for the test cases that check the correct payment processing for the minimum allowed amount to be paid
Deciding that the team should test if it is possible to properly share payment between many users
Estimating that testing the integration with the payment service will take 8 person-days
back
Estimating the test effort is part of test planning
TRY AGAIN
INCORRECT ANSWER
Using test techniques to derive coverage items is a part of test design
TRY AGAIN
INCORRECT ANSWER
Reporting defects found during dynamic testing is a part of test execution
TRY AGAIN
INCORRECT ANSWER
This is an example of defining test conditions which is a part of test analysis
CONTINUE
CORRECT ANSWER
back
contextual factors
next
TEST PROCESS IN CONTEXT
Testing is not performed in isolation. Test activities are an integral part of the development processes. Testing is also funded by stakeholders and its final goal is to help fulfill the stakeholders’ business needs. The way the testing is carried out will depend on a number of
back
Contextual factors that influence testing processes
Tools
Project constraints
Organizational factors
Technical factors
SDLC
Team members
Business domain
Stakeholders
back
QUESTION
Which of the following factors have SIGNIFICANT influence on the test process? 1. The SDLC 2. The number of defects detected in previous projects 3. The identified product risks 4. New regulatory requirements forcing 5. The number of certified testers in the organization
3 and 5 have significant influence; 1, 2 and 4 have not
2, 4 and 5 have significant influence; 1 and 3 have not
1, 3 and 4 have significant influence; 2 and 5 have not
back
1 and 2 have significant influence; 3, 4 and 5 have not
TRY AGAIN
INCORRECT ANSWER
1 is true. The SDLC has influence on the test process. 2 is false. The number of defects detected in previous projects may have some influence, but this is not as significant as 1, 3 and 4. 3 is true. The identified product risks are one of the most important factors influencing the test process. 4 is true. Regulatory requirements are important factors influencing the test process. 5 is false. The test environment should be a copy of the production environment but has no significant infliuence on the test process.
CONTINUE
CORRECT ANSWER
back
next
TRACEABILITY
It is important to establish and maintain traceability throughout the test process between the test basis elements, testware, test results, and detected defects. Accurate traceability supports coverage evaluation, so it is very useful if measurable coverage criteria are defined in the test basis.
back
The activities and tasks assigned to these two roles depend on factors such as the project and product context, the skills of the people in the roles, and the organization.
Test role
Test management role
next
back
ROLES IN TESTING
QUESTION
Which of the following tasks belong MAINLY to a testing role?
Create the test plan
Design solutions to new requirements
Maintain the product backlog
back
Configure test environments
The product backlog is built and maintained by the product owner
TRY AGAIN
INCORRECT ANSWER
This is done by the developement team
TRY AGAIN
INCORRECT ANSWER
THIS IS A MANAGERIAL ROLE
TRY AGAIN
INCORRECT ANSWER
THIS IS DONE BY THE TESTERS
CONTINUE
CORRECT ANSWER
back
Essential skills and good practices in testing
Test activities, testware, and test roles
Testing principles
Why is testing necessary?
What is testing?
FUNDAMENTALS OF TESTING
Domain knowledge
Technical knowledge
Analytical thinking
Good comunication
Methodical
Testing knowledge
GENERIC SKILLS REQUIRED FOR TESTING
next
back
Testers are often the bearers of bad news. It is a common human trait to blame the bearer of bad news. This makes communication skills crucial for testers. Communicating test results may be perceived as criticism of the product and of its author. Confirmation bias can make it difficult to accept information that disagrees with currently held beliefs. Some people may perceive testing as a destructive activity, even though it contributes greatly to project success and product quality. To try to improve this view, information about defects and failures should be communicated in a constructive way.
GENERIC SKILLS REQUIRED FOR TESTING
next
back
QUESTION
Which of the following skills are the most important skills for a tester? 1. Having domain knowledge 2. Creating a product vision 3. Being a good team player 4. Planning and organizing the work of the team 5. Critical thinking
3 and 4 are important; 1, 2 and 5 are not
1, 2 and 5 are important; 3 and 4 are not
1, 3 and 5 are important; 2 and 4 are not
back
2 and 4 are important; 1, 3 and 5 are not
TRY AGAIN
INCORRECT ANSWER
1 is true. Having domain knowledge is an important tester skill. 2 is false. This is a task of the business analyst together with the business representative. 3 is true. Being a good team player is an important skill. 4 is false. Planning and organizing the work of the team is a task of the testmanager or, mostly in an Agile software development project, the whole team and not just the tester. 5 is true. Critical thinking is one of the most important skills of testers
CONTINUE
CORRECT ANSWER
back
Testers must be able to work effectively in a team to contribute positively to the team goals. In the whole-team approach any team member with the necessary knowledge and skills can perform any task, and everyone is responsible for quality. The team members share the same workspace (physical or virtual), as co-location facilitates communication and interaction.
WHOLE TEAM APPROACH
next
back
QUESTION
How is the whole team approach present in the interactions between testers and business representatives?
Testers help business representatives to create suitable acceptance tests
Business representatives are not part of the whole team approach
Testers help business representatives to define test strategy
back
Business representatives decide on test automation approaches
The test automation approach is defined by testers with the help of developers and business representatives
TRY AGAIN
INCORRECT ANSWER
The test strategy is decided in collaboration with the developers
TRY AGAIN
INCORRECT ANSWER
Testers, developers, and business representatives are part of the whole team approach
TRY AGAIN
INCORRECT ANSWER
Testers will work closely with business representatives to ensure that the desired quality levels are achieved. This includes supporting and collaborating with them to help them create suitableacceptance tests
CONTINUE
CORRECT ANSWER
back
For most projects, it is usually best to carry out testing with multiple degrees of independence.
Very high
High
Some
None
Independence degree
INDEPENDENCE OF TESTING
next
back
INDEPENDENCE OF TESTING
next
back
back
MISSION COMPLETE
EXIT
GO BACK
You will lose all your progress
Are you sure you want to exit?
Test monitoring involves the ongoing checking of all test activities and the comparison of actual progress against the plan. Test control involves taking the actions necessary to meet the objectives of testing. Test monitoring and control work products: test progress reports, documentation of control directives, and risk information
Test planning consists of defining the test objectives and then selecting an approach that best achieves the objectives within the constraints imposed by the overall context. Test planning work products: test plan, test schedule, risk register, entry and exit criteria, etc.
Testing provides a means of directly evaluating the quality of a test object at various stages in the software development lifecycle.
Testers ensure that their understanding of users' needs is considered throughout the development lifecycle
Human beings make errors (mistakes), which produce defects (faults, bugs), which in turn may result in failures. Defects can be found in documentation, such as requirements specification or a test scipt, in source code, or in a supporting artifact such as a build file.Defects in artifacts produced earlier in the SDLC, if undetected, often lead to defective artifacts later in the lifecycle.
Errors & Defects
The test management role takes overall responsibility for the test process, test team and leadership of the test activities. The test management role is mainly focused on the activities of test planning, test monitoring and control and test completion. The way in which the test management role is carried out varies depending on the context. For example, in Agile software development, some of the test management tasks may be handled by the Agile team. Tasks that span multiple teams or the entire organization may be performed by test managers outside of the development team.
Test management role
Test implementation includes creating or acquiring the testware necessary for test execution (e.g., test data). Test cases can be organized into test procedures and are often assembled into test suites. Manual and automated test scripts are created. Test procedures are prioritized and arranged within a test execution schedule for efficient test execution (see section 5.1.5). The test environment is built and verified to be set up correctly. Test implementation work products: test procedures, automated test scripts, test suites, test data, test execution schedule, and test environment elements.
Provides information to asses product quality, process capability, and project progress.
Assist in comunicating the technical aspects of testing to stakeholders.
Makes test progress and completion reports more easy to understand by including the status of test basis elements.
Facilites test audits and helps meet IT governance criteria.
Benefits associated with good traceability:
QC
QA
Testing everything is not feasible except in trivial cases. Rather than attempting to test exhaustively, test techniques, test case prioritization, and risk-based testing should be used to focus test efforts.
Exhaustive testing is impossible
A root cause is a fundamental reason for the occurrence of a problem (e.g., a situation that leads to an error). Root causes are identified through root cause analysis, which is typically performed when a failure occurs or a defect is identified. It is believed that further similar failures or defects can be prevented or their frequency can be reduced by addressing the root cause.
Root causes
If the same tests are repeated many times, they become increasingly ineffective in detecting new defects. To overcome this effect, existing tests and test data may need to be modified, and new tests may need to be written. However, in some cases, repeating the same tests can have a beneficial outcome, e.g., in automated regression testing.
Tests wear out
There is no single universally applicable approach to testing. Testing is done differently in different contexts.
Testing is context dependent
Subsequent confirmation testing checks whether the fixes resolved the problem (Preferably, this is done by the same person who performed the initial test). Subsequent regression testing can also be performed, to check whether the fixes are causing failures in other parts of the test object.
Fixing the cause
Diagnosis (finding the root cause)
Reproduction of a failure
Typical debugging process:
If a defect in code is executed, the system may fail to do what it should do, or do something it shouldn’t, causing a failure. Some defects will always result in a failure if executed, while others will only result in a failure in specific circumstances, and some may never result in a failure. Failures can also be caused by environmental conditions, such as when radiation or electromagnetic fields cause defects in firmware.
Failures
Testing consists of a set of activities that include executing tests, checking whether the system meets specified requirements, validation, planning, management, monitoring, and control.
Defects that are removed early in the process will not cause subsequent defects in derived work products. The cost of quality will be reduced since fewer failures will occur later in the SDLC. To find defects early, both static testing and dynamic testing should be started as early as possible.
Early testing saves time and money
Objectives of testing can vary, depending upon the context, which includes the work product being tested, the test level, risks, the software developement lifecycle being followed, and factors related to business context, e.g., coporate structure, competitive considerations, or time to market.
Test completion activities usually occur at project milestones (e.g., release, end of iteration, test level completion) for any unresolved defects, change requests or product backlog items created. Any testware that may be useful in the future is identified and archived or handed over to the appropriate teams. The test environment is shut down to an agreed state. The test activities are analyzed to identify lessons learned and improvements for future iterations, releases, or projects. A test completion report is created and communicated to the stakeholders. Test completion work products: Test completion report, action items for improvement of subsequent projects or iterations, documented lessons learned, and change requests.
Test analysis includes analyzing the test basis to identify testable features and to define and prioritize associated test conditions, together with the related risks and risk levels. The test basis and the test objects are also evaluated to identify defects they may contain and to assess their testability. Test analysis is often supported by the use of test techniques. Test analysis answers the question “what to test?” in terms of measurable coverage criteria. Test analysis work products: test conditions and defect reports regarding defects in the test basis.
Test design includes elaborating the test conditions into test cases and other testware. This activity often involves the identification of coverage items, which serve as a guide to specify test case inputs. Test techniques can be used to support this activity. Test design also includes defining the test data requirements, designing the test environment and identifying any other required infrastructure and tools. Test design answers the question “how to test?”Test design work products: test cases, test charters, coverage items, test data requirements, and test environment requierements.
A small number of system components usually contain most of the defects discovered or are responsible for most of the operational failures. This phenomenon is an illustration of the Pareto principle. Predicted defect clusters, and actual defect clusters observed during testing or in operation, are an important input for risk-based testing.
Defects cluster together
Testing can show that defects are present in the test object, but cannot prove that there are no defects. Testing reduces the probability of defects remaining undiscovered in the test object, but even if no defects are found, testing cannot prove the test object correctness.
Testing shows the presence, not the absence of defects
The testing role takes overall responsibility for the engineering (technical) aspect of testing. The testing role is mainly focused on the activities of test analysis, test design, test implementation and test execution.
Test role
The ISO/IEC/IEEE 29119-2 standard provides further information about test processes.
Test execution includes running the tests in accordance with the test execution schedule (test runs). Test execution may be manual or automated. Test execution can take many forms, including continuous testing or pair testing sessions. Actual test results are compared with the expected results. The test results are logged. Anomalies are analyzed to identify their likely causes. This analysis allows us to report the anomalies based on the failures observed. Test execution work products: test logs and defect reports.
It is a fallacy (i.e., a misconception) to expect that software verification will ensure the success of a system. Thoroughly testing all the specified requirements and fixing all the defects found could still produce a system that does not fulfill the users’ needs and expectations, that does not help in achieving the customer’s business goals, and that is inferior compared to other competing systems. In addition to verification, validation should also be carried out.