SlideShare a Scribd company logo
Test analysis: identifying test conditions
Presentation of Jeri Handika
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
Referensi Graham et.al (2006)
Program Studi S1
Sistem Informasi
Fakultas Sains dan Teknologi
Universitas Islam Negeri Sultan Syarif Kasim Riau
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.)
Test analysis: indentifying test conditions

More Related Content

What's hot

Reliability And Validity
Reliability And ValidityReliability And Validity
Reliability And Validity
James Penny
 
Embase intro webinar july 2015
Embase intro webinar july 2015Embase intro webinar july 2015
Embase intro webinar july 2015
Ann-Marie Roche
 
How to write effective test cases
How to write effective test casesHow to write effective test cases
How to write effective test cases
Harshad Ingle
 
Test Axioms – An Introduction
Test Axioms – An IntroductionTest Axioms – An Introduction
Test Axioms – An Introduction
Paul Gerrard
 
Introduction to standard setting (cutscores)
Introduction to standard setting (cutscores)Introduction to standard setting (cutscores)
Introduction to standard setting (cutscores)
Nathan Thompson
 
Methodology and IRB/URR
Methodology and IRB/URRMethodology and IRB/URR
Methodology and IRB/URR
Statistics Solutions
 
系統的レビューの出版数
系統的レビューの出版数系統的レビューの出版数
系統的レビューの出版数
SR WS
 

What's hot (7)

Reliability And Validity
Reliability And ValidityReliability And Validity
Reliability And Validity
 
Embase intro webinar july 2015
Embase intro webinar july 2015Embase intro webinar july 2015
Embase intro webinar july 2015
 
How to write effective test cases
How to write effective test casesHow to write effective test cases
How to write effective test cases
 
Test Axioms – An Introduction
Test Axioms – An IntroductionTest Axioms – An Introduction
Test Axioms – An Introduction
 
Introduction to standard setting (cutscores)
Introduction to standard setting (cutscores)Introduction to standard setting (cutscores)
Introduction to standard setting (cutscores)
 
Methodology and IRB/URR
Methodology and IRB/URRMethodology and IRB/URR
Methodology and IRB/URR
 
系統的レビューの出版数
系統的レビューの出版数系統的レビューの出版数
系統的レビューの出版数
 

Similar to Test analysis: indentifying test conditions

Test analysis
Test analysisTest analysis
Test analysis
Ozi Saputra
 
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASESIDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
Nathandisya
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
Taufik hidayat
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
Arif Rakhmatullah.M
 
Rekno widyawati
Rekno widyawatiRekno widyawati
Rekno widyawati
Rekno Widyawati
 
Fundamental test process
Fundamental test process Fundamental test process
Fundamental test process
alex swandi
 
2 . fundamental test process
2 . fundamental test process2 . fundamental test process
2 . fundamental test process
sabrian SIF
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
Dinul
 
Fundamental test process (andika m)
Fundamental test process (andika m)Fundamental test process (andika m)
Fundamental test process (andika m)
Andika Mardanu
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
M Branikno Ramadhan
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
Yoga Setiawan
 
Fundamental test process 1
Fundamental test process 1Fundamental test process 1
Fundamental test process 1
Bima Alvamiko
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
muhammad afif
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
M Branikno Ramadhan
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
Aji Pamungkas Prasetio
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
Riski Indra Hilman
 
Testing 3 test design techniques
Testing 3 test design techniquesTesting 3 test design techniques
Testing 3 test design techniques
Mini Marsiah
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
Irvan Febry
 
Fundamental Test Process
Fundamental Test ProcessFundamental Test Process
Fundamental Test Process
RakhesLeoPutra
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
M HiDayat
 

Similar to Test analysis: indentifying test conditions (20)

Test analysis
Test analysisTest analysis
Test analysis
 
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASESIDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
IDENTIFYING TEST CONDITIONS AND DESIGNING TEST CASES
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Rekno widyawati
Rekno widyawatiRekno widyawati
Rekno widyawati
 
Fundamental test process
Fundamental test process Fundamental test process
Fundamental test process
 
2 . fundamental test process
2 . fundamental test process2 . fundamental test process
2 . fundamental test process
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
Fundamental test process (andika m)
Fundamental test process (andika m)Fundamental test process (andika m)
Fundamental test process (andika m)
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
Fundamental test process 1
Fundamental test process 1Fundamental test process 1
Fundamental test process 1
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Testing 3 test design techniques
Testing 3 test design techniquesTesting 3 test design techniques
Testing 3 test design techniques
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
Fundamental Test Process
Fundamental Test ProcessFundamental Test Process
Fundamental Test Process
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 

Recently uploaded

Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
eBook.com.bd (প্রয়োজনীয় বাংলা বই)
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching AptitudeUGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
S. Raj Kumar
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
Himanshu Rai
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
Dr. Mulla Adam Ali
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
Jyoti Chand
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
siemaillard
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
imrankhan141184
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
HajraNaeem15
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Diana Rendina
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
AyyanKhan40
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
haiqairshad
 

Recently uploaded (20)

Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching AptitudeUGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
 

Test analysis: indentifying test conditions

  • 1. Test analysis: identifying test conditions Presentation of Jeri Handika http://sif.uin-suska.ac.id/ http://fst.uin-suska.ac.id/ http://www.uin-suska.ac.id/ Referensi Graham et.al (2006) Program Studi S1 Sistem Informasi Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau
  • 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.)