SlideShare a Scribd company logo
Departement information System
Faculty Science and Technology
University of Islam Negri Sultan Syarif Kasim Riau
ROMI WISARTA
11453101627
Test analysis is the process of looking at something that can be
used to derive test information. This basis for the tests is called
the 'test basis'. It could be a system requirement, a technical
specification, the code itself (for structural testing), or a
business process. Sometimes tests can be based on an
experienced user's knowledge of the system, which may not be
documented. The test basis includes whatever the tests are
based on. This was also discussed in Chapter 1. From a testing
perspective, we look at the test basis in order to see what
could be tested - these are the test conditions. A test condition
is simply something that we could test. If we are looking to
measure coverage of code decisions (branches), then the test
basis would be the code itself, and the list of test conditions
would be the decision outcomes (True and False). If we have a
requirements specification, the table of contents can be our
initial list of test conditions.
A good way to understand requirements better is to try to
define tests to meet those requirements, as pointed out by
[Hetzel, 1988].
For example, if we are testing a customer management and
marketing system for a mobile phone company, we might have
test conditions that are related to a marketing campaign, such
as age of customer (pre-teen, teenager, young adult, mature),
gender, postcode or zip code, and purchasing preference (pay-
as-you-go or contract). A particular advertising campaign could
be aimed at male teenaged customers in the mid-west of the
USA on pay-as-you-go, for example.
Testing experts use different names to represent the basic idea
of 'a list of things that we could test'. For example, Marick
refers to 'test requirements' as things that should be tested.
Although it is not intended to imply that everything must be
tested, it is too easily interpreted in that way. [Marick, 1994] In
con- trast, Hutcheson talks about the 'test inventory' as a list of
things that could be tested [Hutcheson, 2003]; Craig talks about
'test objectives' as broad categories of things to test and 'test
inventories' as the actual list of things that need to be tested
[Craig, 2002]. These authors are all referring to what the ISTQB
glossary calls a test condition.
When identifying test conditions, we want to 'throw the net
wide' to identify as many as we can, and then we will start
being selective about which ones to take forward to develop in
more detail and combine into test cases. We could call them
'test possibilities'.
In Chapter 1 we explained that testing everything is known as
exhaustive testing (defined as exercising every combination of
inputs and preconditions) and we demonstrated that this is an
impractical goal. Therefore, as we cannot test everything, we
have to select a subset of all possible tests. In practice the
subset we select may be a very small subset and yet it has to
have a high proba- bility of finding most of the defects in a
system. We need some intelligent thought processes to guide
our selection; test techniques (i.e. test design tech- niques) are
such thought processes.
A testing technique helps us select a good set of tests from the
total number of all possible tests for a given system. Different
techniques offer different ways of looking at the software
under test, possibly challenging assumptions made about it.
Each technique provides a set of rules or guidelines for the
tester to follow in identifying test conditions and test cases.
Techniques are described in detail later in this chapter.
The test conditions that are chosen will depend on the test
strategy or detailed test approach. For example, they might be
based on risk, models of the system, likely failures, compliance
requirements, expert advice or heuristics. The word 'heuristic'
comes from the same Greek root as eureka, which means 'I
find'. A heuristic is a way of directing your attention, a common
sense rule useful in solving a problem.
Test conditions should be able to be linked back to their
sources in the test basis - this is called traceability.
Traceability can be either horizontal through all the test
documentation for a given test level (e.g. system testing, from
test conditions through test cases to test scripts) or vertical
through the layers of development documentation (e.g. from
requirements to components).
Why is traceability important? Consider these examples:
• The requirements for a given function or feature have
changed. Some of the fields now have different ranges that can
be entered. Which tests were looking at those boundaries?
They now need to be changed. How many tests will actually be
affected by this change in the requirements? These questions
can be answered easily if the requirements can easily be traced
to the tests.
• A set of tests that has run OK in the past has started to have
serious prob lems. What functionality do these tests actually
exercise? Traceability between the tests and the requirement
being tested enables the functions or features affected to be
identified more easily.
• Before delivering a new release, we want to know whether
or not we have tested all of the specified requirements in the
requirements specification. We have the list of the tests that
have passed - was every requirement tested?
Having identified a list of test conditions, it is important to
prioritize them, so that the most important test conditions are
identified (before a lot of time is spent in designing test cases
based on them). It is a good idea to try and think of twice as
many test conditions as you need - then you can throw away
the less important ones, and you will have a much better set of
test conditions!
Note that spending some extra time now, while identifying test
conditions, doesn't take very long, as we are only listing things
that we could test. This is a good investment of our time - we
don't want to spend time implementing poor tests!
Test conditions can be identified for test data as well as for test
inputs and test outcomes, for example, different types of
record, different distribution of types of record within a file or
database, different sizes of records or fields in a record. The
test data should be designed to represent the most important
types of data, i.e. the most important data conditions.
Test conditions are documented in the IEEE 829 document
called a Test Design Specification, shown below. (This
document could have been called a Test Condition
Specification, as the contents referred to in the standard are
actually test conditions.)
TERIMAKASIH

More Related Content

PPTX
Test analysis: indentifying test conditions
PPTX
Test analysis
PPTX
Test design techniques
PPTX
Test design techniques
PDF
Requirement Cheat Sheet
PPTX
Specification based or black box techniques
PPTX
Observational research methods
PDF
Validity and Reliability of the Research Instrument; How to Test the Validati...
Test analysis: indentifying test conditions
Test analysis
Test design techniques
Test design techniques
Requirement Cheat Sheet
Specification based or black box techniques
Observational research methods
Validity and Reliability of the Research Instrument; How to Test the Validati...

What's hot (20)

PPTX
Specification based or black box techniques 3
PPT
Chp7 - Research Methods for Business By Authors Uma Sekaran and Roger Bougie
PDF
Reability & Validity
PPT
Reliability And Validity
DOCX
How to write effective test cases
PPTX
Test Management
PPT
Reliability and validity
PPT
Ahmad measuremenr reliability and validity
PPTX
Presentation on validity and reliability in research methods
PPT
Internal and external validity factors
PPTX
Test design techniques
PDF
Statistical methods for questionnaire development: Questionnaire reliability ...
PPT
15th batch NPTI Validity & Reliablity Business Research Methods
PPTX
Characteristics of a good test
DOCX
Software Testing
PDF
Validity of instrument
PPTX
VALIDITY
PPTX
Validity & reliability seminar
PPT
Reliability and validity
PPTX
Validity of a Research Tool
Specification based or black box techniques 3
Chp7 - Research Methods for Business By Authors Uma Sekaran and Roger Bougie
Reability & Validity
Reliability And Validity
How to write effective test cases
Test Management
Reliability and validity
Ahmad measuremenr reliability and validity
Presentation on validity and reliability in research methods
Internal and external validity factors
Test design techniques
Statistical methods for questionnaire development: Questionnaire reliability ...
15th batch NPTI Validity & Reliablity Business Research Methods
Characteristics of a good test
Software Testing
Validity of instrument
VALIDITY
Validity & reliability seminar
Reliability and validity
Validity of a Research Tool
Ad

Similar to Test analysis identifying test conditions (20)

PPTX
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
PPTX
Fundamental test process
PPTX
Fundamental test process
PPTX
2 . fundamental test process
PPTX
Fundamental test process (andika m)
PPTX
Fundamental test process
PPTX
Fundamental test process
PPTX
Testing 3 test design techniques
PPTX
Fundamental test process 1
PPTX
Test design techniques
PPTX
Rekno widyawati
PPTX
Fundamental test process
PPTX
Fundamental test process
PPTX
Test design techniques nopri wahyudi
PPTX
Fundamental test process
PPTX
Test Design Techiques
PPTX
Fundamental test process
PPTX
Test design techniques
PPTX
Fundamentals of testing
PPTX
Fundamental Test Process
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
Fundamental test process
Fundamental test process
2 . fundamental test process
Fundamental test process (andika m)
Fundamental test process
Fundamental test process
Testing 3 test design techniques
Fundamental test process 1
Test design techniques
Rekno widyawati
Fundamental test process
Fundamental test process
Test design techniques nopri wahyudi
Fundamental test process
Test Design Techiques
Fundamental test process
Test design techniques
Fundamentals of testing
Fundamental Test Process
Ad

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
cuic standard and advanced reporting.pdf
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Machine Learning_overview_presentation.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Machine learning based COVID-19 study performance prediction
PDF
Approach and Philosophy of On baking technology
Building Integrated photovoltaic BIPV_UPV.pdf
cuic standard and advanced reporting.pdf
Spectroscopy.pptx food analysis technology
Machine Learning_overview_presentation.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Spectral efficient network and resource selection model in 5G networks
Programs and apps: productivity, graphics, security and other tools
Assigned Numbers - 2025 - Bluetooth® Document
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Agricultural_Statistics_at_a_Glance_2022_0.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
MYSQL Presentation for SQL database connectivity
Machine learning based COVID-19 study performance prediction
Approach and Philosophy of On baking technology

Test analysis identifying test conditions

  • 1. Departement information System Faculty Science and Technology University of Islam Negri Sultan Syarif Kasim Riau ROMI WISARTA 11453101627
  • 2. Test analysis is the process of looking at something that can be used to derive test information. This basis for the tests is called the 'test basis'. It could be a system requirement, a technical specification, the code itself (for structural testing), or a business process. Sometimes tests can be based on an experienced user's knowledge of the system, which may not be documented. The test basis includes whatever the tests are based on. This was also discussed in Chapter 1. From a testing perspective, we look at the test basis in order to see what could be tested - these are the test conditions. A test condition is simply something that we could test. If we are looking to measure coverage of code decisions (branches), then the test basis would be the code itself, and the list of test conditions would be the decision outcomes (True and False). If we have a requirements specification, the table of contents can be our initial list of test conditions.
  • 3. A good way to understand requirements better is to try to define tests to meet those requirements, as pointed out by [Hetzel, 1988]. For example, if we are testing a customer management and marketing system for a mobile phone company, we might have test conditions that are related to a marketing campaign, such as age of customer (pre-teen, teenager, young adult, mature), gender, postcode or zip code, and purchasing preference (pay- as-you-go or contract). A particular advertising campaign could be aimed at male teenaged customers in the mid-west of the USA on pay-as-you-go, for example.
  • 4. Testing experts use different names to represent the basic idea of 'a list of things that we could test'. For example, Marick refers to 'test requirements' as things that should be tested. Although it is not intended to imply that everything must be tested, it is too easily interpreted in that way. [Marick, 1994] In con- trast, Hutcheson talks about the 'test inventory' as a list of things that could be tested [Hutcheson, 2003]; Craig talks about 'test objectives' as broad categories of things to test and 'test inventories' as the actual list of things that need to be tested [Craig, 2002]. These authors are all referring to what the ISTQB glossary calls a test condition.
  • 5. When identifying test conditions, we want to 'throw the net wide' to identify as many as we can, and then we will start being selective about which ones to take forward to develop in more detail and combine into test cases. We could call them 'test possibilities'. In Chapter 1 we explained that testing everything is known as exhaustive testing (defined as exercising every combination of inputs and preconditions) and we demonstrated that this is an impractical goal. Therefore, as we cannot test everything, we have to select a subset of all possible tests. In practice the subset we select may be a very small subset and yet it has to have a high proba- bility of finding most of the defects in a system. We need some intelligent thought processes to guide our selection; test techniques (i.e. test design tech- niques) are such thought processes.
  • 6. A testing technique helps us select a good set of tests from the total number of all possible tests for a given system. Different techniques offer different ways of looking at the software under test, possibly challenging assumptions made about it. Each technique provides a set of rules or guidelines for the tester to follow in identifying test conditions and test cases. Techniques are described in detail later in this chapter.
  • 7. The test conditions that are chosen will depend on the test strategy or detailed test approach. For example, they might be based on risk, models of the system, likely failures, compliance requirements, expert advice or heuristics. The word 'heuristic' comes from the same Greek root as eureka, which means 'I find'. A heuristic is a way of directing your attention, a common sense rule useful in solving a problem. Test conditions should be able to be linked back to their sources in the test basis - this is called traceability. Traceability can be either horizontal through all the test documentation for a given test level (e.g. system testing, from test conditions through test cases to test scripts) or vertical through the layers of development documentation (e.g. from requirements to components).
  • 8. Why is traceability important? Consider these examples: • The requirements for a given function or feature have changed. Some of the fields now have different ranges that can be entered. Which tests were looking at those boundaries? They now need to be changed. How many tests will actually be affected by this change in the requirements? These questions can be answered easily if the requirements can easily be traced to the tests. • A set of tests that has run OK in the past has started to have serious prob lems. What functionality do these tests actually exercise? Traceability between the tests and the requirement being tested enables the functions or features affected to be identified more easily. • Before delivering a new release, we want to know whether or not we have tested all of the specified requirements in the requirements specification. We have the list of the tests that have passed - was every requirement tested?
  • 9. Having identified a list of test conditions, it is important to prioritize them, so that the most important test conditions are identified (before a lot of time is spent in designing test cases based on them). It is a good idea to try and think of twice as many test conditions as you need - then you can throw away the less important ones, and you will have a much better set of test conditions! Note that spending some extra time now, while identifying test conditions, doesn't take very long, as we are only listing things that we could test. This is a good investment of our time - we don't want to spend time implementing poor tests!
  • 10. Test conditions can be identified for test data as well as for test inputs and test outcomes, for example, different types of record, different distribution of types of record within a file or database, different sizes of records or fields in a record. The test data should be designed to represent the most important types of data, i.e. the most important data conditions. Test conditions are documented in the IEEE 829 document called a Test Design Specification, shown below. (This document could have been called a Test Condition Specification, as the contents referred to in the standard are actually test conditions.)