Istqb M1
Istqb M1
1. To find defects and failures thus reduce the level of risk of inadequate software quality
2. To prevent defects by evaluate work products such as requirements, user stories, design,
and code
3. To verify whether all specified requirements have been fulfilled
4. To check whether the test object is complete and validate if it works as the users and
other stakeholders expect
5. To build confidence in the level of quality of the test object
6. To provide sufficient information to stakeholders to allow them to make informed
decisions, especially regarding the level of quality of the test object
7. To comply with contractual, legal, or regulatory requirements or standards, and/or to
verify the test object’s compliance with such requirements or standards
The objectives of testing can vary, depending upon the context of the
component or system being tested, the test level, and the software
development lifecycle model.
During component testing, one objective may be to find as many failures as possible so
that the underlying defects are identified and fixed early. Another objective may be to
increase code coverage of the component tests
During acceptance testing, one objective may be to confirm that the system works as
expected and satisfies requirements. Another objective of this testing may be to give
information to stakeholders about the risk of releasing the system at a given time.
Testing and debugging are different. Executing tests can show failures
that are caused by defects in the software. Debugging is the development
activity that finds, analyzes, and fixes such defects.
Subsequent confirmation testing checks whether the fixes resolved the defects. In some cases,
testers are responsible for the initial test and the final confirmation test, while developers do the
debugging, associated component and component integration testing (continues integration).
Having testers involved in requirements reviews or user story refinement could detect
defects in these work products. The identification and removal of requirements defects
reduces the risk of incorrect or un testable features being developed.
Having testers work closely with system designers while the system is being designed can
increase each party’s understanding of the design and how to test it. This increased
understanding can reduce the risk of fundamental design defects and enable tests to be
identified at an early stage.
Having testers work closely with developers while the code is under development can
increase each party’s understanding of the code and how to test it. This increased
understanding can reduce the risk of defects within the code and the tests.
Having testers verify and validate the software prior to release can detect failures that
might otherwise have been missed, and support the process of removing the defects that
caused the failures (i.e., debugging). This increases the likelihood that the software meets
stakeholder needs and satisfies requirements.
Quality Management
1. Quality management includes all activities that direct and control an organization with
regard to quality.
2. Among other activities, quality management includes both QUALITY ASSURANCE and
QUALITY CONTROL
Quality assurance
Quality Control
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.
An error that leads to the introduction of a defect in one work product can trigger an error that
leads to the introduction of a defect in a related work product.
For example, a requirements elicitation error can lead to a requirements defect, which then
results in a programming error that leads to a defect in the code.
If a defect in the code is executed, this may cause a failure, but not necessarily in all
circumstances. For example, some defects require very specific inputs or preconditions to trigger
a failure, which may occur rarely or never.
For example, suppose incorrect interest payments, due to a single line of incorrect code, result in
customer complaints. The defective code was written for a user story which was ambiguous, due
to the product owner’s misunderstanding of how to calculate interest. If a large percentage of
defects exist in interest calculations, and these defects have their root cause in similar
misunderstandings, the product owners could be trained in the topic of interest calculations to
reduce such defects in the future. In this example, the customer complaints are effects. The
incorrect interest payments are failures. The improper calculation in the code is a defect, and it
resulted from the original defect, the ambiguity in the user story. The root cause of the original
defect was a lack of knowledge on the part of the product owner, which resulted in the product
owner making an error while writing the user story.
1. Time pressure
2. Human fallibility
3. Inexperienced or insufficiently skilled project participants and design
4. Miscommunication between project participants, including miscommunication
about requirements
5. Complexity of the code, design, architecture, the underlying problem to be solved,
and/or the and design technologies used
6. Misunderstandings about intra-system and inter-system interfaces, especially when
such intra system and inter-system interactions are large in number
7. New, unfamiliar technologies
1.2.4 Defects, Root Causes and Effects
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.
There is no one universal software test process, but there are common sets of test activities
without which testing will be less likely to achieve its established objectives. These sets of
test activities are a test process. The proper, specific software test process in any
given situation depends on many factors. Which test activities are involved in this test process,
how these activities are implemented, and when these activities occur may be discussed in an
organization’s test strategy.
1.4.1 Test Process in Context
Contextual factors that influence the test process for an organization, include, (7)
The following sections describe general aspects of organizational test processes in terms of the
following:
1. Test planning
2. Test monitoring and control
3. Test analysis
4. Test design
5. Test implementation
6. Test execution
7. Test completion
1. Test planning
2. Test Monitoring and Control
3. Test Completion
Testers(Complete these 3)
1. Test analysis
2. Test Design
3. Test implementation
4. Test Execution
1,Test Planning
As the project and test planning progress, more information becomes available and more detail
can be included in the test plan. Test planning is a continuous activity and is performed
throughout the product's lifecycle. (Note that the product’s lifecycle may extend beyond a
project's scope to include the maintenance phase.) Feedback from test activities should be used
to recognize changing risks so that planning can be adjusted.
Planning may be documented in a master test plan and in separate test plans for test levels, such
as system testing and acceptance testing, or for separate test types, such as usability testing and
performance testing. Test planning activities may include the following and some of these may be
documented in a test plan
1. Overall approach
2. Scope, Objectives, Risk of testing.
3. Decision about what to test, people, resource required to perform various test.
4. Budget.
5. Choosing Traceability Matrix for TEST MONITORING AND CONTROL.
6. Determining the level of details and structure for Test Documentation.
7. Integrating and coordinating the Test Activities in SDLC.
8. Scheduling of test analysis, design, implementation, execution, evaluating
activities on particular dates.
Test monitoring involves the on-going comparison of actual progress against planned
progress using any test monitoring metrics defined in the test plan.
Test monitoring is to gather information and provide feedback and visibility about test
activities.
Information to be monitored may be collected manually or
automatically and should be used to assess test progress and to
measure whether the test exit criteria, or the testing tasks associated with
an Agile project's definition of done, are satisfied, such as meeting the targets for
coverage of product risks, requirements, or acceptance criteria.
Test Control-
Test control involves taking actions necessary to meet the objectives of the test plan
(which may be updated over time).
Test control describes any guiding or corrective actions taken as a
result of information and metrics gathered and (possibly) reported.
Actions may cover any test activity and may affect any other software lifecycle activity.
Entry Criteria and Exit Criteria (Definition of Ready and Definition of Done) (5TH
MODULE)
In order to exercise effective control over the quality of the software, and of the testing, it is
advisable to have criteria which define when a given test activity should start and when the
activity is complete.
Entry criteria
A set conditions to be met before an activity begin.(more typically called definition of ready in
Agile development) define the preconditions for undertaking a given test activity. If entry criteria
are not met, it is likely that the activity will prove more difficult, more time-consuming, more
costly, and more risky.
Exit criteria
A set of conditions to be met before an activity conclude. Both are applicable in all the stage of
STLC.(more typically called definition of done in Agile development) define what conditions must
be achieved in order to declare a test level or a set of tests completed.
Entry and exit criteria should be defined for each test level and test type, and will differ based
on the test objectives.
Even without exit criteria being satisfied, it is also common for test activities to be curtailed due
to the budget being expended, the scheduled time being completed, and/or pressure to bring the
product to market. It can be acceptable to end testing under such circumstances, if the project
stakeholders and business owners have reviewed and accepted the risk to go live without further
testing.
When exit criteria are reached, the test manager issues the test summary
report. This report provides a summary of the testing performed, based
on the latest test progress report and any other relevant information.
3,TEST ANALYSIS
During test analysis, the test basis is analyzed to identify testable features and define
associated test conditions.
Test analysis determines “what to test” in terms of measurable coverage criteria.
Test Charters
Test charters are typical work products in some types of experience-based testing (see section
4.4.2).
Experienced Testing(4thmodule)
4,Test Design
During test design, the test conditions are elaborated into high-level test cases, sets of high-level
test cases, and other test ware. So, test analysis answers the question “what to test?” while test
design answers the question “how to test?”
2. Identifying necessary test data to support test conditions and test cases
3. Designing the test environment and identifying any required infrastructure and
tools
5,Test implementation
During test implementation, the test ware necessary for test execution is created and/or
completed, including sequencing the test cases into test procedures. So, test design answers the
question “how to test?” while test implementation answers the question “do we now have
everything in place to run the tests?”
3. Arranging the test suites within a test execution schedule in a way that
results in efficient test execution (see section 5.2.4)
5. Preparing test data and ensuring it is properly loaded in the test environment
WORK PRODUT - Test basis, Test conditions, Test cases, Test procedures, and Test
suites
Test Scripts
A set of step by step instructions on how to test a test case .
Test Scripts/Test Procedure
Is a set of detailed instructions for the execution of a particular test. It specifies the sequence of
actions to be taken, the input data to be used and expected result.
Test Suites
Logical grouping or collections of test cases to run a single job with different test scenario
Ex:- Test suite for product purchase has multiple test cases(TC),like:
TC1 Login
TC2 Adding Products
TC3 Checkout
TC4 Logout
6,TEST EXECUTION
During test execution, test suites are run in accordance with the test
execution schedule.
False positive
False positives may occur due to errors in the way tests were executed, or due to defects
in the test data, the test environment, or other testware, or for other reasons. The inverse
situation can also occur, where similar errors or defects lead to false negatives.False
positives are reported as defects, but aren’t actually defects.
False Negative
False negatives are tests that do not detect defects that they should have detected;
7,TEST COMPLETION
Test completion activities collect data from completed test activities to consolidate experience,
test ware, and any other relevant information.
Test completion activities occur at project milestones such as when a software system is
released, a test project is completed (or cancelled), an Agile project iteration is finished, a test
level is completed, or a maintenance release has been completed.
1. Provide developers and other parties with information about any adverse event that
occurred, to enable them to identify specific effects, to isolate the problem with a
minimal reproducing test, and to correct the potential defect(s), as needed or to
otherwise resolve the problem
2. Provide test managers a means of tracking the quality of the work product and the
impact on the testing (e.g., if a lot of defects are reported, the testers will have spent a
lot of time reporting them instead of running tests, and there will be more confirmation
testing needed
Test Basis
The body of knowledge used as the basis for test analysis and design. The requirement document
is usually used as the test basis.
Test Case
A set of pre-conditions , inputs ,actions, expected results a post conditions developed based on
the test conditions.
Test Procedure
The sequence of test cases in execution order and any associated action that may be required to
setup the initial pre conditions and post conditions
Test Suite
A set of test script or test procedure to be executed in a specific test and grouping of test cases in
some order. TS arranged in test execution order.
1. Test planning work products typically include one or more Test plans.
2. The test plan includes information about the test basis, to which the other test work
products will be related via traceability information as well as exit criteria which will be
used during test monitoring and control.
WORK PRODUCT – TEST PLANS
WORK PRODUCT – TEST REPORTS (TEST PROGRESS REPORT AND TEST SUMMERY
REPORT)
Test analysis work products include defined and prioritized test conditions, each of which is
ideally bi directionally traceable to the specific element(s) of the test basis it covers. For
exploratory testing, test analysis may involve the creation of test charters. Test analysis
may also result in the discovery and reporting of defects in the test
basis.
3. Documentation about which test item(s), test object(s), test tools, and test ware
were involved in the testing
Ideally, once test execution is complete, the status of each element of the test basis can be
determined and reported via bi-directional traceability with the associated the test
procedure(s). For example, we can say which requirements have passed all planned tests,
which requirements have failed tests and/or have defects associated with them, and which
requirements have planned tests still waiting to be run. This enables verification that the
coverage criteria have been met, and enables the reporting of test results in terms that are
understandable to stakeholders.
Test completion work products
Test completion work products include TEST SUMMARY REPORTS, action items for
improvement of subsequent projects or iterations, change requests or product backlog
items, and finalized test ware.
1.4.4 Traceability between the Test Basis and Test Work Products
Providing information to assess product quality, process capability, and project progress against
business goals
An element of human psychology called confirmation bias can make it difficult to accept
information that disagrees with currently held beliefs.
For example, since developers expect their code to be correct, they have a confirmation bias
that makes it difficult to accept that the code is incorrect. In addition to confirmation bias, other
cognitive biases may make it difficult for people to understand or accept information produced
by testing.
The primary objective of development is to design and build a product. As discussed earlier, the
objectives of testing include verifying and validating the product, finding defects prior to
release, and so forth. These are different sets of objectives which require different mindsets.
Bringing these mindsets together helps to achieve a higher level of product quality. A tester’s
mindset should include curiosity, professional pessimism, a critical eye, attention to detail, and
a motivation for good and positive communications and relationships. A tester’s mindset tends
to grow and mature as the tester gains experience. A developer’s mindset may include some of
the elements of a tester’s mindset, but successful developers are often more interested in
designing and building solutions than in contemplating what might be wrong with those
solutions. In addition, confirmation bias makes it difficult to become aware of errors committed
by themselves.