scispace - formally typeset
Search or ask a question
Topic

Black-box testing

About: Black-box testing is a research topic. Over the lifetime, 906 publications have been published within this topic receiving 16811 citations.


Papers
More filters
Book
11 Dec 2006
TL;DR: In this paper, the authors give a practical introduction to model-based testing, showing how to write models for testing purposes and how to use modelbased testing tools to generate test suites.
Abstract: This book gives a practical introduction to model-based testing, showing how to write models for testing purposes and how to use model-based testing tools to generate test suites. It is aimed at testers and software developers who wish to use model-based testing, rather than at tool-developers or academics. The book focuses on the mainstream practice of functional black-box testing and covers different styles of models, especially transition-based models (UML state machines) and pre/post models (UML/OCL specifications and B notation). The steps of applying model-based testing are demonstrated on examples and case studies from a variety of software domains, including embedded software and information systems. From this book you will learn: * The basic principles and terminology of model-based testing * How model-based testing differs from other testing processes * How model-based testing fits into typical software lifecycles such as agile methods and the Unified Process * The benefits and limitations of model-based testing, its cost effectiveness and how it can reduce time-to-market * A step-by-step process for applying model-based testing * How to write good models for model-based testing * How to use a variety of test selection criteria to control the tests that are generated from your models * How model-based testing can connect to existing automated test execution platforms such as Mercury Test Director, Java JUnit, and proprietary test execution environments * Presents the basic principles and terminology of model-based testing * Shows how model-based testing fits into the software lifecycle, its cost-effectiveness, and how it can reduce time to market * Offers guidance on how to use different kinds of modeling techniques, useful test generation strategies, how to apply model-based testing techniques to real applications using case studies

890 citations

Proceedings ArticleDOI
01 May 2000
TL;DR: The state of the art in software testing is assessed, some future directions inSoftware testing are outlined, and some pointers to software testing resources are given.
Abstract: Testing is an important process that is performed to support quality assurance. Testing activities support quality assurance by gathering information about the nature of the software being studied. These activities consist of designing test cases, executing the software with those test cases, and examining the results produced by those executions. Studies indicate that more than fty percent of the cost of software development is devoted to testing, with the percentage for testing critical software being even higher. As software becomes more pervasive and is used more often to perform critical tasks, it will be required to be of higher quality. Unless we can nd ecient ways to perform eective testing, the percentage of development costs devoted to testing will increase signicantly. This report briefly assesses the state of the art in software testing, outlines some future directions in software testing, and gives some pointers to software testing resources.

404 citations

Book ChapterDOI
01 May 2001
TL;DR: This paper outlines a design for a system that will approximate mutation, but in a way that will be accessible to every day programmers, and believes this system could be efficient enough to be adopted by leading-edge software developers.
Abstract: Mutation testing is a powerful, but computationally expensive, technique for unit testing software. This expense has prevented mutation form becoming widely used in practical situations, but recent engineering advances have given us techniques and algorithms for significantly reducing the cost of mutation testing. These technique include a new algorithmic execution technique include a new algorithmic execution technique called schema-based mutation, a reduction technique called selective mutation, heuristics for detecting equivalent mutants, and algorithms for automatic test data generation. This paper reviews experimentation with these advances and outlines a design for a system that will approximate mutation, but in a way that will be accessible to every day programmers. We envision a system to which a programmer can submit a program unit and get back a set of input/output pairs that are guaranteed to form an effective test of the unit by being close to mutation adequate. We believe this system could be efficient enough to be adopted by leading-edge software developers. Full automation in unit testing has the potential to dramatically change the economic balance between testing and development, by reducing the cost of testing from the major part of the total development cost to a small fraction.

369 citations

Journal ArticleDOI
TL;DR: In this article, the author sheds some light on why testing today's software products is so challenging, and identifies several solid approaches that all testers should be able to apply thoughtfully.
Abstract: The author sheds some light on why testing today's software products is so challenging, and he identifies several solid approaches that all testers should be able to thoughtfully apply. The effective tester has a rich toolkit of fundamental testing techniques, understands how the product will be used in its operating environment, and has a nose for where subtle bugs might lurk in the product and a bag of tricks for flushing them out. The methods described can help testers provide a sensible answer to the question of what they really mean when they say they have finished testing a software system.

346 citations

Proceedings ArticleDOI
26 Feb 2010
TL;DR: Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results, or reliability estimation.
Abstract: Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. Although crucial to software quality and widely deployed by programmers and testers, software testing still remains an art, due to limited understanding of the principles of software. The difficulty in software testing stems from the complexity of software: we can not completely test a program with moderate complexity. Testing is more than just debugging. The purpose of testing can be quality assurance, verification and validation, or reliability estimation. Testing can be used as a generic metric as well. Correctness testing and reliability testing are two major areas of testing. Software testing is a trade-off between budget, time and quality.

327 citations


Network Information
Related Topics (5)
Software development
73.8K papers, 1.4M citations
85% related
Software construction
36.2K papers, 743.8K citations
83% related
Software system
50.7K papers, 935K citations
83% related
Web service
57.6K papers, 989K citations
76% related
Source code
30.1K papers, 687.1K citations
75% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
202317
202224
202112
202015
201914
201810