Full screen

Share

Comenzar
certified tester
Foundation Level Syllabus v4.0

Plays background audio

Activate the genially's audio here

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

Over 30 million people create interactive content in Genially.

Check out what others have designed:

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.

Absence-of-defects fallacy