This document discusses specification-based or black box testing techniques, specifically equivalence partitioning, boundary value analysis, decision tables, state transition testing, and use case testing. It provides definitions and explanations of each technique, including that equivalence partitioning divides test conditions into groups that should be handled equivalently by the system, decision tables deal with combinations of inputs and conditions, state transition testing models systems that can be in different states, and use case testing identifies test cases that exercise full system transactions.
Specification based or black box techniques 3alex swandi
Alex Swandi
Program Studi S1 Sistem Informasi
Fakultas Sains dan Teknologi
Universitas Islam Negeri Sultan Syarif Kasim Riau
Backlink ke website resmi kampus:
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
1. Write test cases from given software models using the following test
design techniques. (K3)
a equivalence partitioning;
b boundary value analysis;
c decision tables;
d state transition testing.
2. Understand the main purpose of each of the four techniques, what level and type of testing could use the technique, and how coverage may be measured. (K2)
3. Understand the concept of use case testing and its benefits.
backlink:
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
Specification based or black box techniques 3alex swandi
Alex Swandi
Program Studi S1 Sistem Informasi
Fakultas Sains dan Teknologi
Universitas Islam Negeri Sultan Syarif Kasim Riau
Backlink ke website resmi kampus:
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
1. Write test cases from given software models using the following test
design techniques. (K3)
a equivalence partitioning;
b boundary value analysis;
c decision tables;
d state transition testing.
2. Understand the main purpose of each of the four techniques, what level and type of testing could use the technique, and how coverage may be measured. (K2)
3. Understand the concept of use case testing and its benefits.
backlink:
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
Specification based or black box techniquesmuhammad afif
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
Specification Based or Black Box TechniquesRakhesLeoPutra
Materi Testing dan Implementasi : Specification Based or Black Box Techniques
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
Test Optimization With Design of Experimentajitbkulkarni
This presentation describes optimization techniques using JMP tool to significantly reduce the test resources and test execution time without sacrificing test coverage.
Cause-Effect Graphing: Rigorous Test Case DesignTechWell
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 componentsputiadetiara
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/
Guidelines to Understanding Design of Experiment and Reliability Predictionijsrd.com
This paper will focus on how to plan experiments effectively and how to analyse data correctly. Practical and correct methods for analysing data from life testing will also be provided. This paper gives an extensive overview of reliability issues, definitions and prediction methods currently used in the industry. It defines different methods and correlations between these methods in order to make reliability comparison statements from different manufacturers' in easy way that may use different prediction methods and databases for failure rates. The paper finds however such comparison very difficult and risky unless the conditions for the reliability statements are scrutinized and analysed in detail.
Specification based or black box techniquesmuhammad afif
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
Specification Based or Black Box TechniquesRakhesLeoPutra
Materi Testing dan Implementasi : Specification Based or Black Box Techniques
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
Test Optimization With Design of Experimentajitbkulkarni
This presentation describes optimization techniques using JMP tool to significantly reduce the test resources and test execution time without sacrificing test coverage.
Cause-Effect Graphing: Rigorous Test Case DesignTechWell
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 componentsputiadetiara
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/
Guidelines to Understanding Design of Experiment and Reliability Predictionijsrd.com
This paper will focus on how to plan experiments effectively and how to analyse data correctly. Practical and correct methods for analysing data from life testing will also be provided. This paper gives an extensive overview of reliability issues, definitions and prediction methods currently used in the industry. It defines different methods and correlations between these methods in order to make reliability comparison statements from different manufacturers' in easy way that may use different prediction methods and databases for failure rates. The paper finds however such comparison very difficult and risky unless the conditions for the reliability statements are scrutinized and analysed in detail.
Approaches to unraveling a complex test problemJohan Hoberg
When testing a complex system you are often faced with complex test problems. Cause and effect cannot be deduced in advance, only in retrospect.
According to the Cynefin framework, the general approach to tackle complexity is probe-sense-respond. Try something, analyze the outcome, and based on that outcome, try something else. This is the basis of all my approaches to begin unraveling complex test problems. But how do I select my test scope for a specific complex test problem?
Abstract—Combinatorial testing (also called interaction testing) is an effective specification-based test input generation technique. By now most of research work in combinatorial testing aims to propose novel approaches trying to generate test suites with minimum size that still cover all the pairwise, triple, or n-way combinations of factors. Since the difficulty of solving this problem is demonstrated to be NP-hard, existing approaches have been designed to generate optimal or near optimal combinatorial test suites in polynomial time. In this paper, we try to apply particle swarm optimization (PSO), a kind of meta-heuristic search technique, to pairwise testing (i.e. a special case of combinatorial testing aiming to cover all the pairwise combinations). To systematically build pairwise test suites, we propose two different PSO based algorithms. One algorithm is based on one-test-at-a-time strategy and the other is based on IPO-like strategy. In these two different algorithms, we use PSO to complete the construction of a single test. To successfully apply PSO to cover more uncovered pairwise combinations in this construction process, we provide a detailed description on how to formulate the search space, define the fitness function and set some heuristic settings. To verify the effectiveness of our approach, we implement these algorithms and choose some typical inputs. In our empirical study, we analyze the impact factors of our approach and compare our approach to other well-known approaches. Final empirical results show the effectiveness and efficiency of our approach.
Modified System Usability Scale Please answer the foIlonaThornburg83
Modified System Usability Scale
Please answer the following questions as it pertains to ________.
Strongly Strongly
disagree agree
1. I use this system frequently
2. I feel the system is unnecessarily
complex
3. I feel the system is easy
to use
4. I feel I need a technical person to help
me use this system
5. I found the various functions in
this system to be well integrated
6. There is too much
inconsistency in this system
7. I imagine that most people
would learn to use this system
very quickly
8. The system is very
cumbersome to use
9. I feel very confident using
ths system.
10. I needed to learn a lot of
things before I could get going
with this system
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
SUS - A quick and dirty usability scale
John Brooke
Redhatch Consulting Ltd.,
12 Beaconsfield Way,
Earley, READING RG6 2UX
United Kingdom
email: [email protected]
Abstract
Usability does not exist in any absolute sense; it can only be defined with reference to
particular contexts. This, in turn, means that there are no absolute measures of usability,
since, if the usability of an artefact is defined by the context in which that artefact is used,
measures of usability must of necessity be defined by that context too. Despite this, there is a
need for broad general measures which can be used to compare usability across a range of
contexts. In addition, there is a need for “quick and dirty” methods to allow low cost
assessments of usability in industrial systems evaluation. This chapter describes the System
Usability Scale (SUS) a reliable, low-cost usability scale that can be used for global
assessments of systems usability.
Usability and context
Usability is not a quality that exists in any real or absolute sense. Perhaps it can be best
summed up as being a general quality of the appropriateness to a purpose of any particular
artefact. This notion is neatly summed up by Terry Pratchett in his novel “Moving Pictures”:
“ ‘Well, at least he keeps himself fit,’ said the Archchancellor nastily. ‘Not like the rest of you fellows. I
went into the Uncommon Room this morning and it was full of chaps snoring!’
‘That would be the senior masters, Master,’ said the Bursar. ‘I would say they are supremely fit,
myself.’
‘Fit? The Dean looks like a man who’s swallered a bed!’
‘Ah, but Master,’ said the Bursar, smiling indulgently, ‘the word “fit”,as I understand it, means
“appropriate to a purpose”, and I would say that the body of the Dean is supremely appropriate to the
purpose of sitting around all day and eating big heavy meals.’ The Dean permitted himself a little
smile. “ (Pratchett, 1990)
In just the same way, ...
This paper presents a set of methods that uses a genetic algorithm for automatic test-data generation in
software testing. For several years researchers have proposed several methods for generating test data
which had different drawbacks. In this paper, we have presented various Genetic Algorithm (GA) based test
methods which will be having different parameters to automate the structural-oriented test data generation
on the basis of internal program structure. The factors discovered are used in evaluating the fitness
function of Genetic algorithm for selecting the best possible Test method. These methods take the test
populations as an input and then evaluate the test cases for that program. This integration will help in
improving the overall performance of genetic algorithm in search space exploration and exploitation fields
with better convergence rate.
DBTest 2013 - In Data Veritas - Data Driven Testing for Distributed SystemsMihir Gandhi
The increasing deployment of distributed systems to solve
large data and computational problems has not seen a con-
comitant increase in tools and techniques to test these sys-
tems. In this paper, we propose a data driven approach to
testing. We translate our intuitions and expectations about
how the system should behave into invariants, the truth of
which can be verified from data emitted by the system. Our
particular implementation of the invariants uses Q, a high-
performance analytical database, programmed with a vector
language.
This publication is to help software engineering students to understand the basis in software testing. Software testing is an inevitable process in software development.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Specification based or black box techniques (andika m)
1. SPECIFICATION BASED OR BLACK BOX TECHNIQUES
By Graham et.al (2011)
ANDIKA MARDANU
PRODI S1 SISTEM INFORMASI
FAKULTAS SAINS & TEKNOLOGI
UIN SUSKA 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…