SlideShare a Scribd company logo
SPECIFICATION BASED
OR BLACK BOX
TECHNIQUES
By Graham et.al (2011)
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
MUHAMMAD BRANIKNO R
UNIVERSITAS ISLAM NEGERI
SULTAN SYARIF KASIM RIAU
In this section, look for the definitions of the
glossary terms: boundary value analysis,
decision table testing, equivalence
partitioning, state transition testing and
use case testing.
The four specification-based techniques we
will cover in detail are:
equivalence partitioning;
boundary value analysis;
decision tables;
state transition testing.
Introduction
Equivalence partitioning (EP) is a good all-round specification-based
black-box technique. It can be applied at any level of testing and is often a good
technique to use first. It is a common sense approach to testing, so much so that
most testers practise it informally even though they may not realize it. However,
while it is better to use the technique informally than not at all, it is much better to
use the technique in a formal way to attain the full benefits that it can deliver. This
technique will be found in most testing books, including [Myers, 1979] and
[Copeland, 2003].
The idea behind the technique is to divide (i.e. to partition) a set of test
conditions into groups or sets that can be considered the same (i.e. the system
should handle them equivalently), hence 'equivalence partitioning'. Equivalence
partitions are also known as equivalence classes – the two terms mean exactly
the same thing.
Equivalence partitioning and
boundary value analysis
1
The equivalence-partitioning technique then requires that we
need test only one condition from each partition. This is because we are
assuming that all the conditions in one partition will be treated in the
same way by the software. If one condition in a partition works, we
assume all of the conditions in that partition will work, and so there is
little point in testing any of these others. Conversely, if one of the
conditions in a partition does not work, then we assume that none of the
conditions in that partition will work so again there is little point in testing
any more in that partition. Of course these are simplifying assumptions
that may not always be right but if we write them down, at least it gives
other people the chance to challenge the assumptions we have made
and hopefully help to identify better partitions. If you have time, you may
want to try more than one value from a partition, especially if you want
to confirm a selection of typical user inputs.
Cont…

Recommended for you

Specification based or black box techniques
Specification based or black box techniquesSpecification based or black box techniques
Specification based or black box techniques

Technology backlink: http://sif.uin-suska.ac.id http://fst.uin-suska.ac.id http://uin-suska.ac.id

technologyinformation technologytesting
Specification based or black box techniques 3
Specification based or black box techniques 3Specification based or black box techniques 3
Specification based or black box techniques 3

Nama : Bima Alvamiko Pratama Program Studi S1 Sistem Informasi Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau

Specification based or black box techniques
Specification based or black box techniquesSpecification based or black box techniques
Specification based or black box techniques

This document discusses and defines four specification-based black-box testing techniques: equivalence partitioning, boundary value analysis, decision table testing, and state transition testing. It provides details on how each technique works, including dividing test conditions into equivalent groups (equivalence partitioning), testing boundary values (boundary value analysis), systematically testing combinations of inputs (decision table testing), and modeling systems as finite state machines to test state transitions (state transition testing). The document also briefly discusses use case testing which involves testing complete transactions from start to finish based on use cases.

testing and implementationinformation systembook
Why use decision tables?
The techniques of equivalence partitioning and boundary value analysis
are often applied to specific situations or inputs. However, if different combinations
of inputs result in different actions being taken, this can be more difficult to show
using equivalence partitioning and boundary value analysis, which tend to be more
focused on the user interface. The other two specification-based techniques,
decision tables and state transition testing are more focused on business logic or
business rules.
A decision table is a good way to deal with combinations of things (e.g.
inputs). This technique is sometimes also referred to as a 'cause-effect' table. The
reason for this is that there is an associated logic diagramming technique called
'cause-effect graphing' which was sometimes used to help derive the decision
table (Myers describes this as a combinatorial logic network [Myers, 1979]).
However, most people find it more useful just to use the table described in
[Copeland, 2003].
Decision table testing2
If you begin using decision tables to explore what the business rules
are that should be tested, you may find that the analysts and developers find the
tables very helpful and want to begin using them too. Do encourage this, as it will
make your job easier in the future. Decision tables provide a systematic way of
stating complex business rules, which is useful for developers as well as for
testers. Decision tables can be used in test design whether or not they are used
in specifications, as they help testers explore the effects of combinations of
different inputs and other software states that must correctly implement business
rules. Helping the developers do a better job can also lead to better relationships
with them.
Testing combinations can be a challenge, as the number of
combinations can often be huge. Testing all combinations may be impractical if
not impossible. We have to be satisfied with testing just a small subset of
combinations but making the choice of which combinations to test and which to
leave out is not trivial. If you do not have a systematic way of selecting
combinations, an arbitrary subset will be used and this may well result in an
ineffective test effort.
Cont…
Decision tables aid the systematic selection of effective test cases and
can have the beneficial side-effect of finding problems and ambiguities in the
specification. It is a technique that works well in conjunction with equivalence
partitioning. The combination of conditions explored may be combinations of
equivalence partitions.
In addition to decision tables, there are other techniques that deal with
testing combinations of things: pairwise testing and orthogonal arrays. These are
described in [Copeland, 2003]. Another source of techniques is [Pol et al., 2001].
Decision tables and cause-effect graphing are described in [BS7925-2], including
designing tests and measuring coverage.
Cont…
State transition testing is used where some aspect of the system can be
described in what is called a 'finite state machine'. This simply means that the
system can be in a (finite) number of different states, and the transitions from one
state to another are determined by the rules of the 'machine'. This is the model on
which the system and the tests are based. Any system where you get a different
output for the same input, depending on what has happened before, is a finite
state system. A finite state system is often shown as a state diagram (see Figure).
State transition testing3

Recommended for you

Test Optimization With Design of Experiment
Test Optimization With Design of ExperimentTest Optimization With Design of Experiment
Test Optimization With Design of Experiment

This presentation describes optimization techniques using JMP tool to significantly reduce the test resources and test execution time without sacrificing test coverage.

Sensitivity analysis
Sensitivity analysisSensitivity analysis
Sensitivity analysis

Sensitivity analysis is the study of how uncertainty in the inputs of a mathematical model propagates to uncertainty in the model's outputs. It is useful for understanding relationships between inputs and outputs, identifying important inputs, and reducing uncertainty. Sensitivity analysis typically involves running the model many times while varying inputs, and calculating sensitivity measures from the resulting outputs to determine which inputs most influence uncertainty in the outputs. Common methods include variance-based approaches and screening methods.

Sensitivity analysis
Sensitivity analysisSensitivity analysis
Sensitivity analysis

Introduction in local and regional (global) sensitiviy analysis. Part of the Eawag Summer school on System Analysis

sensitiviy analysisvariance decompositionmodeling
Decision tables aid the systematic selection of effective test cases and
can have the beneficial side-effect of finding problems and ambiguities in the
specification. It is a technique that works well in conjunction with equivalence
partitioning. The combination of conditions explored may be combinations of
equivalence partitions.
In addition to decision tables, there are other techniques that deal with
testing combinations of things: pairwise testing and orthogonal arrays. These are
described in [Copeland, 2003]. Another source of techniques is [Pol et al., 2001].
Decision tables and cause-effect graphing are described in [BS7925-2], including
designing tests and measuring coverage.
Cont…
Use case testing is a technique that helps us identify test cases that
exercise the whole system on a transaction by transaction basis from start to
finish. They are described by Ivar Jacobson in his book Object-Oriented Software
Engineering: A Use Case Driven Approach [Jacobson, 1992].
A use case is a description of a particular use of the system by an actor
(a user of the system). Each use case describes the interactions the actor has with
the system in order to achieve a specific task (or, at least, produce something of
value to the user). Actors are generally people but they may also be other
systems. Use cases are a sequence of steps that describe the interactions
between the actor and the system.
Use cases are defined in terms of the actor, not the system, describing
what the actor does and what the actor sees rather than what inputs the system
expects and what the system'outputs. They often use the language and terms of
the business rather than technical terms, especially when the actor is a business
user. They serve as the foundation for developing test cases mostly at the system
and acceptance testing levels.
Use case testing4
Use cases can uncover integration defects, that is, defects caused by
the incorrect interaction between different components. Used in this way, the
actor may be something that the system interfaces to such as a communication
link or sub-system.
Use cases describe the process flows through a system based on its
most likely use. This makes the test cases derived from use cases particularly
good for finding defects in the real-world use of the system (i.e. the defects that
the users are most likely to come across when first using the system). Each use
case usually has a mainstream (or most likely) scenario and sometimes
additional alternative branches (covering, for example, special cases or
exceptional conditions). Each use case must specify any preconditions that need
to be met for the use case to work. Use cases must also specify postconditions
that are observable results and a description of the final state of the system after
the use case has been executed successfully.
Cont…
Specification based or black box techniques

Recommended for you

Cause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case DesignCause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case Design

A tester’s toolbox today contains a number of test case design techniques—classification trees, pairwise testing, design of experiments-based methods, and combinatorial testing. Each of these methods is supported by automated tools. Tools provide consistency in test case design, which can increase the all-important test coverage in software testing. Cause-effect graphing, another test design technique, is superior from a test coverage perspective, reducing the number of test cases needed to provide excellent coverage. Gary Mogyorodi describes these black box test case design techniques, summarizes the advantages and disadvantages of each technique, and provides a comparison of the features of the tools that support them. Using an example problem, he compares the number of test cases derived and the test coverage obtained using each technique, highlighting the advantages of cause-effect graphing. Join Gary to see what new techniques you might want to add to your toolbox.

Black box testing methods for software components
Black box testing methods for software componentsBlack box testing methods for software components
Black box testing methods for software components

Berikut adalah penjelasan apa itu black box testing untuk software. oleh : Ade Tiara Putri Program Studi S1 Sistem Informasi Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau please visit http://sif.uin-suska.ac.id/ http://fst.uin-suska.ac.id/ http://www.uin-suska.ac.id/

#testing#blackbox#software
Comparison statisticalsignificancetestir
Comparison statisticalsignificancetestirComparison statisticalsignificancetestir
Comparison statisticalsignificancetestir

The document compares different statistical significance tests for evaluating information retrieval systems: 1) Randomization, bootstrap, and Student's t-test produced similar significance values and are recommended. 2) The Wilcoxon and sign tests produced different p-values and can incorrectly predict or fail to detect significant differences between systems. 3) The randomization test is recommended as it can use any evaluation metric and does not assume a specific distribution of test statistics.

statistical significance testsinformation retrieval

More Related Content

What's hot

Specification based or black box techniques (andika m)
Specification based or black box techniques (andika m)Specification based or black box techniques (andika m)
Specification based or black box techniques (andika m)
Andika Mardanu
 
Specification based or black box techniques
Specification based or black box techniques Specification based or black box techniques
Specification based or black box techniques
Muhammad Ibnu Wardana
 
Specification Based or Black Box Techniques
Specification Based or Black Box TechniquesSpecification Based or Black Box Techniques
Specification Based or Black Box Techniques
RakhesLeoPutra
 
Specification based or black box techniques
Specification based or black box techniquesSpecification based or black box techniques
Specification based or black box techniques
M HiDayat
 
Specification based or black box techniques 3
Specification based or black box techniques 3Specification based or black box techniques 3
Specification based or black box techniques 3
Bima Alvamiko
 
Specification based or black box techniques
Specification based or black box techniquesSpecification based or black box techniques
Specification based or black box techniques
Yoga Pratama Putra
 
Test Optimization With Design of Experiment
Test Optimization With Design of ExperimentTest Optimization With Design of Experiment
Test Optimization With Design of Experiment
ajitbkulkarni
 
Sensitivity analysis
Sensitivity analysisSensitivity analysis
Sensitivity analysis
sunilgv06
 
Sensitivity analysis
Sensitivity analysisSensitivity analysis
Sensitivity analysis
Andreas Scheidegger
 
Cause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case DesignCause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case Design
TechWell
 
Black box testing methods for software components
Black box testing methods for software componentsBlack box testing methods for software components
Black box testing methods for software components
putiadetiara
 
Comparison statisticalsignificancetestir
Comparison statisticalsignificancetestirComparison statisticalsignificancetestir
Comparison statisticalsignificancetestir
Claudia Ribeiro
 
Decision table
Decision tableDecision table
Decision table
jeebala
 
applications of operation research in business
applications of operation research in businessapplications of operation research in business
applications of operation research in business
raaz kumar
 
Doe01 intro
Doe01 introDoe01 intro
Doe01 intro
Arif Rahman
 
Cause effect graphing technique
Cause effect graphing techniqueCause effect graphing technique
Cause effect graphing technique
Ankush Kumar
 
Steps In Experimental Design ( QE )
Steps In Experimental Design ( QE )Steps In Experimental Design ( QE )
Steps In Experimental Design ( QE )
Pandya Kartik
 
Factorial design \Optimization Techniques
Factorial design \Optimization TechniquesFactorial design \Optimization Techniques
Factorial design \Optimization Techniques
Priyanka Tambe
 
Design of experiments
Design of experimentsDesign of experiments
Design of experiments
Upendra K
 
Input modeling
Input modelingInput modeling

What's hot (20)

Specification based or black box techniques (andika m)
Specification based or black box techniques (andika m)Specification based or black box techniques (andika m)
Specification based or black box techniques (andika m)
 
Specification based or black box techniques
Specification based or black box techniques Specification based or black box techniques
Specification based or black box techniques
 
Specification Based or Black Box Techniques
Specification Based or Black Box TechniquesSpecification Based or Black Box Techniques
Specification Based or Black Box Techniques
 
Specification based or black box techniques
Specification based or black box techniquesSpecification based or black box techniques
Specification based or black box techniques
 
Specification based or black box techniques 3
Specification based or black box techniques 3Specification based or black box techniques 3
Specification based or black box techniques 3
 
Specification based or black box techniques
Specification based or black box techniquesSpecification based or black box techniques
Specification based or black box techniques
 
Test Optimization With Design of Experiment
Test Optimization With Design of ExperimentTest Optimization With Design of Experiment
Test Optimization With Design of Experiment
 
Sensitivity analysis
Sensitivity analysisSensitivity analysis
Sensitivity analysis
 
Sensitivity analysis
Sensitivity analysisSensitivity analysis
Sensitivity analysis
 
Cause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case DesignCause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case Design
 
Black box testing methods for software components
Black box testing methods for software componentsBlack box testing methods for software components
Black box testing methods for software components
 
Comparison statisticalsignificancetestir
Comparison statisticalsignificancetestirComparison statisticalsignificancetestir
Comparison statisticalsignificancetestir
 
Decision table
Decision tableDecision table
Decision table
 
applications of operation research in business
applications of operation research in businessapplications of operation research in business
applications of operation research in business
 
Doe01 intro
Doe01 introDoe01 intro
Doe01 intro
 
Cause effect graphing technique
Cause effect graphing techniqueCause effect graphing technique
Cause effect graphing technique
 
Steps In Experimental Design ( QE )
Steps In Experimental Design ( QE )Steps In Experimental Design ( QE )
Steps In Experimental Design ( QE )
 
Factorial design \Optimization Techniques
Factorial design \Optimization TechniquesFactorial design \Optimization Techniques
Factorial design \Optimization Techniques
 
Design of experiments
Design of experimentsDesign of experiments
Design of experiments
 
Input modeling
Input modelingInput modeling
Input modeling
 

Similar to Specification based or black box techniques

Thetheoryofsoftwaretesting
ThetheoryofsoftwaretestingThetheoryofsoftwaretesting
Thetheoryofsoftwaretesting
PiyushMehta57
 
Bt0081 software engineering2
Bt0081 software engineering2Bt0081 software engineering2
Bt0081 software engineering2
Techglyphs
 
Test analysis
Test analysisTest analysis
Test analysis
Ozi Saputra
 
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASESA PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
Kula Sekhar Reddy Yerraguntla
 
Software Testing Using Genetic Algorithms
Software Testing Using Genetic AlgorithmsSoftware Testing Using Genetic Algorithms
Software Testing Using Genetic Algorithms
IJCSES Journal
 
prova4
prova4prova4
prova4
mbsoftware
 
provalast
provalastprovalast
provalast
mbsoftware
 
test3
test3test3
test
testtest
stasera1
stasera1stasera1
stasera1
mbsoftware
 
prova1
prova1prova1
prova1
mbsoftware
 
provaoggi2
provaoggi2provaoggi2
provaoggi2
lmscollaborative2
 
prova2
prova2prova2
prova2
mbsoftware
 
testsfw2
testsfw2testsfw2
prova2
prova2prova2
prova2
mbsoftware
 
provarealw2
provarealw2provarealw2
provarealw2
lmscollaborative2
 
provarealw3
provarealw3provarealw3
provarealw3
lmscollaborative2
 
testsfw3
testsfw3testsfw3
test2
test2test2

Similar to Specification based or black box techniques (20)

Thetheoryofsoftwaretesting
ThetheoryofsoftwaretestingThetheoryofsoftwaretesting
Thetheoryofsoftwaretesting
 
Bt0081 software engineering2
Bt0081 software engineering2Bt0081 software engineering2
Bt0081 software engineering2
 
Test analysis
Test analysisTest analysis
Test analysis
 
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASESA PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
 
Software Testing Using Genetic Algorithms
Software Testing Using Genetic AlgorithmsSoftware Testing Using Genetic Algorithms
Software Testing Using Genetic Algorithms
 
prova4
prova4prova4
prova4
 
provalast
provalastprovalast
provalast
 
test3
test3test3
test3
 
test
testtest
test
 
stasera1
stasera1stasera1
stasera1
 
prova1
prova1prova1
prova1
 
provaoggi2
provaoggi2provaoggi2
provaoggi2
 
prova2
prova2prova2
prova2
 
testsfw2
testsfw2testsfw2
testsfw2
 
prova2
prova2prova2
prova2
 
provarealw2
provarealw2provarealw2
provarealw2
 
provarealw3
provarealw3provarealw3
provarealw3
 
testsfw3
testsfw3testsfw3
testsfw3
 
 
test2
test2test2
test2
 

More from M Branikno Ramadhan

Introducing a tool into an organization
Introducing a tool into an organizationIntroducing a tool into an organization
Introducing a tool into an organization
M Branikno Ramadhan
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
M Branikno Ramadhan
 
Introducing a tool into an organization
Introducing a tool into an organizationIntroducing a tool into an organization
Introducing a tool into an organization
M Branikno Ramadhan
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
M Branikno Ramadhan
 
Ssl(secure socket layer)
Ssl(secure socket layer)Ssl(secure socket layer)
Ssl(secure socket layer)
M Branikno Ramadhan
 
Tutorial membuat pki menggunakan thunderbird
Tutorial membuat pki menggunakan thunderbirdTutorial membuat pki menggunakan thunderbird
Tutorial membuat pki menggunakan thunderbird
M Branikno Ramadhan
 

More from M Branikno Ramadhan (6)

Introducing a tool into an organization
Introducing a tool into an organizationIntroducing a tool into an organization
Introducing a tool into an organization
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
Introducing a tool into an organization
Introducing a tool into an organizationIntroducing a tool into an organization
Introducing a tool into an organization
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
Ssl(secure socket layer)
Ssl(secure socket layer)Ssl(secure socket layer)
Ssl(secure socket layer)
 
Tutorial membuat pki menggunakan thunderbird
Tutorial membuat pki menggunakan thunderbirdTutorial membuat pki menggunakan thunderbird
Tutorial membuat pki menggunakan thunderbird
 

Recently uploaded

Lecture_Notes_Unit4_Chapter_8_9_10_RDBMS for the students affiliated by alaga...
Lecture_Notes_Unit4_Chapter_8_9_10_RDBMS for the students affiliated by alaga...Lecture_Notes_Unit4_Chapter_8_9_10_RDBMS for the students affiliated by alaga...
Lecture_Notes_Unit4_Chapter_8_9_10_RDBMS for the students affiliated by alaga...
Murugan Solaiyappan
 
Bedok NEWater Photostory - COM322 Assessment (Story 2)
Bedok NEWater Photostory - COM322 Assessment (Story 2)Bedok NEWater Photostory - COM322 Assessment (Story 2)
Bedok NEWater Photostory - COM322 Assessment (Story 2)
Liyana Rozaini
 
Principles of Roods Approach!!!!!!!.pptx
Principles of Roods Approach!!!!!!!.pptxPrinciples of Roods Approach!!!!!!!.pptx
Principles of Roods Approach!!!!!!!.pptx
ibtesaam huma
 
How to Handle the Separate Discount Account on Invoice in Odoo 17
How to Handle the Separate Discount Account on Invoice in Odoo 17How to Handle the Separate Discount Account on Invoice in Odoo 17
How to Handle the Separate Discount Account on Invoice in Odoo 17
Celine George
 
How to Create Sequence Numbers in Odoo 17
How to Create Sequence Numbers in Odoo 17How to Create Sequence Numbers in Odoo 17
How to Create Sequence Numbers in Odoo 17
Celine George
 
BRIGADA ESKWELA OPENING PROGRAM KICK OFF.pptx
BRIGADA ESKWELA OPENING PROGRAM KICK OFF.pptxBRIGADA ESKWELA OPENING PROGRAM KICK OFF.pptx
BRIGADA ESKWELA OPENING PROGRAM KICK OFF.pptx
kambal1234567890
 
Front Desk Management in the Odoo 17 ERP
Front Desk  Management in the Odoo 17 ERPFront Desk  Management in the Odoo 17 ERP
Front Desk Management in the Odoo 17 ERP
Celine George
 
Understanding and Interpreting Teachers’ TPACK for Teaching Multimodalities i...
Understanding and Interpreting Teachers’ TPACK for Teaching Multimodalities i...Understanding and Interpreting Teachers’ TPACK for Teaching Multimodalities i...
Understanding and Interpreting Teachers’ TPACK for Teaching Multimodalities i...
Neny Isharyanti
 
(T.L.E.) Agriculture: Essentials of Gardening
(T.L.E.) Agriculture: Essentials of Gardening(T.L.E.) Agriculture: Essentials of Gardening
(T.L.E.) Agriculture: Essentials of Gardening
MJDuyan
 
How to Show Sample Data in Tree and Kanban View in Odoo 17
How to Show Sample Data in Tree and Kanban View in Odoo 17How to Show Sample Data in Tree and Kanban View in Odoo 17
How to Show Sample Data in Tree and Kanban View in Odoo 17
Celine George
 
Book Allied Health Sciences kmu MCQs.docx
Book Allied Health Sciences kmu MCQs.docxBook Allied Health Sciences kmu MCQs.docx
Book Allied Health Sciences kmu MCQs.docx
drtech3715
 
Views in Odoo - Advanced Views - Pivot View in Odoo 17
Views in Odoo - Advanced Views - Pivot View in Odoo 17Views in Odoo - Advanced Views - Pivot View in Odoo 17
Views in Odoo - Advanced Views - Pivot View in Odoo 17
Celine George
 
Split Shifts From Gantt View in the Odoo 17
Split Shifts From Gantt View in the  Odoo 17Split Shifts From Gantt View in the  Odoo 17
Split Shifts From Gantt View in the Odoo 17
Celine George
 
Ardra Nakshatra (आर्द्रा): Understanding its Effects and Remedies
Ardra Nakshatra (आर्द्रा): Understanding its Effects and RemediesArdra Nakshatra (आर्द्रा): Understanding its Effects and Remedies
Ardra Nakshatra (आर्द्रा): Understanding its Effects and Remedies
Astro Pathshala
 
Configuring Single Sign-On (SSO) via Identity Management | MuleSoft Mysore Me...
Configuring Single Sign-On (SSO) via Identity Management | MuleSoft Mysore Me...Configuring Single Sign-On (SSO) via Identity Management | MuleSoft Mysore Me...
Configuring Single Sign-On (SSO) via Identity Management | MuleSoft Mysore Me...
MysoreMuleSoftMeetup
 
NAEYC Code of Ethical Conduct Resource Book
NAEYC Code of Ethical Conduct Resource BookNAEYC Code of Ethical Conduct Resource Book
NAEYC Code of Ethical Conduct Resource Book
lakitawilson
 
How to Install Theme in the Odoo 17 ERP
How to  Install Theme in the Odoo 17 ERPHow to  Install Theme in the Odoo 17 ERP
How to Install Theme in the Odoo 17 ERP
Celine George
 
SYBCOM SEM III UNIT 1 INTRODUCTION TO ADVERTISING
SYBCOM SEM III UNIT 1 INTRODUCTION TO ADVERTISINGSYBCOM SEM III UNIT 1 INTRODUCTION TO ADVERTISING
SYBCOM SEM III UNIT 1 INTRODUCTION TO ADVERTISING
Dr Vijay Vishwakarma
 
Webinar Innovative assessments for SOcial Emotional Skills
Webinar Innovative assessments for SOcial Emotional SkillsWebinar Innovative assessments for SOcial Emotional Skills
Webinar Innovative assessments for SOcial Emotional Skills
EduSkills OECD
 
"DANH SÁCH THÍ SINH XÉT TUYỂN SỚM ĐỦ ĐIỀU KIỆN TRÚNG TUYỂN ĐẠI HỌC CHÍNH QUY ...
"DANH SÁCH THÍ SINH XÉT TUYỂN SỚM ĐỦ ĐIỀU KIỆN TRÚNG TUYỂN ĐẠI HỌC CHÍNH QUY ..."DANH SÁCH THÍ SINH XÉT TUYỂN SỚM ĐỦ ĐIỀU KIỆN TRÚNG TUYỂN ĐẠI HỌC CHÍNH QUY ...
"DANH SÁCH THÍ SINH XÉT TUYỂN SỚM ĐỦ ĐIỀU KIỆN TRÚNG TUYỂN ĐẠI HỌC CHÍNH QUY ...
thanhluan21
 

Recently uploaded (20)

Lecture_Notes_Unit4_Chapter_8_9_10_RDBMS for the students affiliated by alaga...
Lecture_Notes_Unit4_Chapter_8_9_10_RDBMS for the students affiliated by alaga...Lecture_Notes_Unit4_Chapter_8_9_10_RDBMS for the students affiliated by alaga...
Lecture_Notes_Unit4_Chapter_8_9_10_RDBMS for the students affiliated by alaga...
 
Bedok NEWater Photostory - COM322 Assessment (Story 2)
Bedok NEWater Photostory - COM322 Assessment (Story 2)Bedok NEWater Photostory - COM322 Assessment (Story 2)
Bedok NEWater Photostory - COM322 Assessment (Story 2)
 
Principles of Roods Approach!!!!!!!.pptx
Principles of Roods Approach!!!!!!!.pptxPrinciples of Roods Approach!!!!!!!.pptx
Principles of Roods Approach!!!!!!!.pptx
 
How to Handle the Separate Discount Account on Invoice in Odoo 17
How to Handle the Separate Discount Account on Invoice in Odoo 17How to Handle the Separate Discount Account on Invoice in Odoo 17
How to Handle the Separate Discount Account on Invoice in Odoo 17
 
How to Create Sequence Numbers in Odoo 17
How to Create Sequence Numbers in Odoo 17How to Create Sequence Numbers in Odoo 17
How to Create Sequence Numbers in Odoo 17
 
BRIGADA ESKWELA OPENING PROGRAM KICK OFF.pptx
BRIGADA ESKWELA OPENING PROGRAM KICK OFF.pptxBRIGADA ESKWELA OPENING PROGRAM KICK OFF.pptx
BRIGADA ESKWELA OPENING PROGRAM KICK OFF.pptx
 
Front Desk Management in the Odoo 17 ERP
Front Desk  Management in the Odoo 17 ERPFront Desk  Management in the Odoo 17 ERP
Front Desk Management in the Odoo 17 ERP
 
Understanding and Interpreting Teachers’ TPACK for Teaching Multimodalities i...
Understanding and Interpreting Teachers’ TPACK for Teaching Multimodalities i...Understanding and Interpreting Teachers’ TPACK for Teaching Multimodalities i...
Understanding and Interpreting Teachers’ TPACK for Teaching Multimodalities i...
 
(T.L.E.) Agriculture: Essentials of Gardening
(T.L.E.) Agriculture: Essentials of Gardening(T.L.E.) Agriculture: Essentials of Gardening
(T.L.E.) Agriculture: Essentials of Gardening
 
How to Show Sample Data in Tree and Kanban View in Odoo 17
How to Show Sample Data in Tree and Kanban View in Odoo 17How to Show Sample Data in Tree and Kanban View in Odoo 17
How to Show Sample Data in Tree and Kanban View in Odoo 17
 
Book Allied Health Sciences kmu MCQs.docx
Book Allied Health Sciences kmu MCQs.docxBook Allied Health Sciences kmu MCQs.docx
Book Allied Health Sciences kmu MCQs.docx
 
Views in Odoo - Advanced Views - Pivot View in Odoo 17
Views in Odoo - Advanced Views - Pivot View in Odoo 17Views in Odoo - Advanced Views - Pivot View in Odoo 17
Views in Odoo - Advanced Views - Pivot View in Odoo 17
 
Split Shifts From Gantt View in the Odoo 17
Split Shifts From Gantt View in the  Odoo 17Split Shifts From Gantt View in the  Odoo 17
Split Shifts From Gantt View in the Odoo 17
 
Ardra Nakshatra (आर्द्रा): Understanding its Effects and Remedies
Ardra Nakshatra (आर्द्रा): Understanding its Effects and RemediesArdra Nakshatra (आर्द्रा): Understanding its Effects and Remedies
Ardra Nakshatra (आर्द्रा): Understanding its Effects and Remedies
 
Configuring Single Sign-On (SSO) via Identity Management | MuleSoft Mysore Me...
Configuring Single Sign-On (SSO) via Identity Management | MuleSoft Mysore Me...Configuring Single Sign-On (SSO) via Identity Management | MuleSoft Mysore Me...
Configuring Single Sign-On (SSO) via Identity Management | MuleSoft Mysore Me...
 
NAEYC Code of Ethical Conduct Resource Book
NAEYC Code of Ethical Conduct Resource BookNAEYC Code of Ethical Conduct Resource Book
NAEYC Code of Ethical Conduct Resource Book
 
How to Install Theme in the Odoo 17 ERP
How to  Install Theme in the Odoo 17 ERPHow to  Install Theme in the Odoo 17 ERP
How to Install Theme in the Odoo 17 ERP
 
SYBCOM SEM III UNIT 1 INTRODUCTION TO ADVERTISING
SYBCOM SEM III UNIT 1 INTRODUCTION TO ADVERTISINGSYBCOM SEM III UNIT 1 INTRODUCTION TO ADVERTISING
SYBCOM SEM III UNIT 1 INTRODUCTION TO ADVERTISING
 
Webinar Innovative assessments for SOcial Emotional Skills
Webinar Innovative assessments for SOcial Emotional SkillsWebinar Innovative assessments for SOcial Emotional Skills
Webinar Innovative assessments for SOcial Emotional Skills
 
"DANH SÁCH THÍ SINH XÉT TUYỂN SỚM ĐỦ ĐIỀU KIỆN TRÚNG TUYỂN ĐẠI HỌC CHÍNH QUY ...
"DANH SÁCH THÍ SINH XÉT TUYỂN SỚM ĐỦ ĐIỀU KIỆN TRÚNG TUYỂN ĐẠI HỌC CHÍNH QUY ..."DANH SÁCH THÍ SINH XÉT TUYỂN SỚM ĐỦ ĐIỀU KIỆN TRÚNG TUYỂN ĐẠI HỌC CHÍNH QUY ...
"DANH SÁCH THÍ SINH XÉT TUYỂN SỚM ĐỦ ĐIỀU KIỆN TRÚNG TUYỂN ĐẠI HỌC CHÍNH QUY ...
 

Specification based or black box techniques

  • 1. SPECIFICATION BASED OR BLACK BOX TECHNIQUES By Graham et.al (2011) http://sif.uin-suska.ac.id/ http://fst.uin-suska.ac.id/ http://www.uin-suska.ac.id/ MUHAMMAD BRANIKNO R UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAU
  • 2. In this section, look for the definitions of the glossary terms: boundary value analysis, decision table testing, equivalence partitioning, state transition testing and use case testing. The four specification-based techniques we will cover in detail are: equivalence partitioning; boundary value analysis; decision tables; state transition testing. Introduction
  • 3. Equivalence partitioning (EP) is a good all-round specification-based black-box technique. It can be applied at any level of testing and is often a good technique to use first. It is a common sense approach to testing, so much so that most testers practise it informally even though they may not realize it. However, while it is better to use the technique informally than not at all, it is much better to use the technique in a formal way to attain the full benefits that it can deliver. This technique will be found in most testing books, including [Myers, 1979] and [Copeland, 2003]. The idea behind the technique is to divide (i.e. to partition) a set of test conditions into groups or sets that can be considered the same (i.e. the system should handle them equivalently), hence 'equivalence partitioning'. Equivalence partitions are also known as equivalence classes – the two terms mean exactly the same thing. Equivalence partitioning and boundary value analysis 1
  • 4. The equivalence-partitioning technique then requires that we need test only one condition from each partition. This is because we are assuming that all the conditions in one partition will be treated in the same way by the software. If one condition in a partition works, we assume all of the conditions in that partition will work, and so there is little point in testing any of these others. Conversely, if one of the conditions in a partition does not work, then we assume that none of the conditions in that partition will work so again there is little point in testing any more in that partition. Of course these are simplifying assumptions that may not always be right but if we write them down, at least it gives other people the chance to challenge the assumptions we have made and hopefully help to identify better partitions. If you have time, you may want to try more than one value from a partition, especially if you want to confirm a selection of typical user inputs. Cont…
  • 5. Why use decision tables? The techniques of equivalence partitioning and boundary value analysis are often applied to specific situations or inputs. However, if different combinations of inputs result in different actions being taken, this can be more difficult to show using equivalence partitioning and boundary value analysis, which tend to be more focused on the user interface. The other two specification-based techniques, decision tables and state transition testing are more focused on business logic or business rules. A decision table is a good way to deal with combinations of things (e.g. inputs). This technique is sometimes also referred to as a 'cause-effect' table. The reason for this is that there is an associated logic diagramming technique called 'cause-effect graphing' which was sometimes used to help derive the decision table (Myers describes this as a combinatorial logic network [Myers, 1979]). However, most people find it more useful just to use the table described in [Copeland, 2003]. Decision table testing2
  • 6. If you begin using decision tables to explore what the business rules are that should be tested, you may find that the analysts and developers find the tables very helpful and want to begin using them too. Do encourage this, as it will make your job easier in the future. Decision tables provide a systematic way of stating complex business rules, which is useful for developers as well as for testers. Decision tables can be used in test design whether or not they are used in specifications, as they help testers explore the effects of combinations of different inputs and other software states that must correctly implement business rules. Helping the developers do a better job can also lead to better relationships with them. Testing combinations can be a challenge, as the number of combinations can often be huge. Testing all combinations may be impractical if not impossible. We have to be satisfied with testing just a small subset of combinations but making the choice of which combinations to test and which to leave out is not trivial. If you do not have a systematic way of selecting combinations, an arbitrary subset will be used and this may well result in an ineffective test effort. Cont…
  • 7. Decision tables aid the systematic selection of effective test cases and can have the beneficial side-effect of finding problems and ambiguities in the specification. It is a technique that works well in conjunction with equivalence partitioning. The combination of conditions explored may be combinations of equivalence partitions. In addition to decision tables, there are other techniques that deal with testing combinations of things: pairwise testing and orthogonal arrays. These are described in [Copeland, 2003]. Another source of techniques is [Pol et al., 2001]. Decision tables and cause-effect graphing are described in [BS7925-2], including designing tests and measuring coverage. Cont…
  • 8. State transition testing is used where some aspect of the system can be described in what is called a 'finite state machine'. This simply means that the system can be in a (finite) number of different states, and the transitions from one state to another are determined by the rules of the 'machine'. This is the model on which the system and the tests are based. Any system where you get a different output for the same input, depending on what has happened before, is a finite state system. A finite state system is often shown as a state diagram (see Figure). State transition testing3
  • 9. Decision tables aid the systematic selection of effective test cases and can have the beneficial side-effect of finding problems and ambiguities in the specification. It is a technique that works well in conjunction with equivalence partitioning. The combination of conditions explored may be combinations of equivalence partitions. In addition to decision tables, there are other techniques that deal with testing combinations of things: pairwise testing and orthogonal arrays. These are described in [Copeland, 2003]. Another source of techniques is [Pol et al., 2001]. Decision tables and cause-effect graphing are described in [BS7925-2], including designing tests and measuring coverage. Cont…
  • 10. Use case testing is a technique that helps us identify test cases that exercise the whole system on a transaction by transaction basis from start to finish. They are described by Ivar Jacobson in his book Object-Oriented Software Engineering: A Use Case Driven Approach [Jacobson, 1992]. A use case is a description of a particular use of the system by an actor (a user of the system). Each use case describes the interactions the actor has with the system in order to achieve a specific task (or, at least, produce something of value to the user). Actors are generally people but they may also be other systems. Use cases are a sequence of steps that describe the interactions between the actor and the system. Use cases are defined in terms of the actor, not the system, describing what the actor does and what the actor sees rather than what inputs the system expects and what the system'outputs. They often use the language and terms of the business rather than technical terms, especially when the actor is a business user. They serve as the foundation for developing test cases mostly at the system and acceptance testing levels. Use case testing4
  • 11. Use cases can uncover integration defects, that is, defects caused by the incorrect interaction between different components. Used in this way, the actor may be something that the system interfaces to such as a communication link or sub-system. Use cases describe the process flows through a system based on its most likely use. This makes the test cases derived from use cases particularly good for finding defects in the real-world use of the system (i.e. the defects that the users are most likely to come across when first using the system). Each use case usually has a mainstream (or most likely) scenario and sometimes additional alternative branches (covering, for example, special cases or exceptional conditions). Each use case must specify any preconditions that need to be met for the use case to work. Use cases must also specify postconditions that are observable results and a description of the final state of the system after the use case has been executed successfully. Cont…