Domain testing

Last updated

Domain testing is a software testing technique that involves selecting a small number of test cases from a nearly infinite group of candidate test cases. It is one of the most widely practiced software testing techniques. Domain knowledge plays a very critical role while testing domain-specific work. [1] [2] [3] [4] [5] [6] [7]

Contents

Related Research Articles

A vulnerability scanner is a computer program designed to assess computers, networks or applications for known weaknesses. These scanners are used to discover the weaknesses of a given system. They are utilized in the identification and detection of vulnerabilities arising from mis-configurations or flawed programming within a network-based asset such as a firewall, router, web server, application server, etc. Modern vulnerability scanners allow for both authenticated and unauthenticated scans. Modern scanners are typically available as SaaS ; provided over the internet and delivered as a web application. The modern vulnerability scanner often has the ability to customize vulnerability reports as well as the installed software, open ports, certificates and other host information that can be queried as part of its workflow.

Ada Programming Support Environment or APSE, was a specification for a programming environment to support software development in the Ada programming language. This represented the second stage of the U.S. military Ada project; once the language was implemented, it was felt necessary to specify and implement a standard set of tools, hence the APSE. CAIS-A, Common APSE Interface Set A, was defined in MIL STD-1838A.

In software engineering, a test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular software testing objective, such as to exercise a particular program path or to verify compliance with a specific requirement. Test cases underlie testing that is methodical rather than haphazard. A battery of test cases can be built to produce the desired coverage of the software being tested. Formally defined test cases allow the same tests to be run repeatedly against successive versions of the software, allowing for effective and consistent regression testing.

<span class="mw-page-title-main">Component-based software engineering</span> Branch of software engineering

Component-based software engineering (CBSE), also called component-based development (CBD), is a style of software engineering that aims to build software out of loosely-coupled, modular components. It emphasizes the separation of concerns among different parts of a software system.

Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution. Cem Kaner, who coined the term in 1984, defines exploratory testing as "a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project."

The psychology of programming (PoP) is the field of research that deals with the psychological aspects of writing programs. The field has also been called the empirical studies of programming (ESP). It covers research into computer programmers' cognition, tools and methods for programming-related activities, and programming education.

Paul Alexander Desmond de Maine was a leading figure in the early development of computer-based automatic indexing and information retrieval and one of the founders of academic computer science in the 1960s.

Cem Kaner is a professor of software engineering at Florida Institute of Technology, and the Director of Florida Tech's Center for Software Testing Education & Research (CSTER) since 2004. He is perhaps best known outside academia as an advocate of software usability and software testing.

A software regression is a type of software bug where a feature that has worked before stops working. This may happen after changes are applied to the software's source code, including the addition of new features and bug fixes. They may also be introduced by changes to the environment in which the software is running, such as system upgrades, system patching or a change to daylight saving time. A software performance regression is a situation where the software still functions correctly, but performs more slowly or uses more memory or resources than before. Various types of software regressions have been identified in practice, including the following:

<span class="mw-page-title-main">Özalp Babaoğlu</span> Turkish computer scientist (born 1955)

Özalp Babaoğlu, is a Turkish computer scientist. He is currently professor of computer science at the University of Bologna, Italy. He received a Ph.D. in 1981 from the University of California at Berkeley. He is the recipient of 1982 Sakrison Memorial Award, 1989 UNIX InternationalRecognition Award and 1993 USENIX AssociationLifetime Achievement Award for his contributions to the UNIX system community and to Open Industry Standards. Before moving to Bologna in 1988, Babaoğlu was an associate professor in the Department of Computer Science at Cornell University. He has participated in several European research projects in distributed computing and complex systems. Babaoğlu is an ACM Fellow and has served as a resident fellow of the Institute of Advanced Studies at the University of Bologna and on the editorial boards for ACM Transactions on Computer Systems, ACM Transactions on Autonomous and Adaptive Systems and Springer-Verlag Distributed Computing.

Requirements traceability is a sub-discipline of requirements management within software development and systems engineering. Traceability as a general term is defined by the IEEE Systems and Software Engineering Vocabulary as (1) the degree to which a relationship can be established between two or more products of the development process, especially products having a predecessor-successor or primary-subordinate relationship to one another; (2) the identification and documentation of derivation paths (upward) and allocation or flowdown paths (downward) of work products in the work product hierarchy; (3) the degree to which each element in a software development product establishes its reason for existing; and (4) discernible association among two or more logical entities, such as requirements, system elements, verifications, or tasks.

Search-based software engineering (SBSE) applies metaheuristic search techniques such as genetic algorithms, simulated annealing and tabu search to software engineering problems. Many activities in software engineering can be stated as optimization problems. Optimization techniques of operations research such as linear programming or dynamic programming are often impractical for large scale software engineering problems because of their computational complexity or their assumptions on the problem structure. Researchers and practitioners use metaheuristic search techniques, which impose little assumptions on the problem structure, to find near-optimal or "good-enough" solutions.

Elaine Jessica Weyuker is an ACM Fellow, an IEEE Fellow, and an AT&T Fellow at Bell Labs for research in software metrics and testing as well as elected to the National Academy of Engineering. She is the author of over 130 papers in journals and refereed conference proceedings.

In computing, software engineering, and software testing, a test oracle is a mechanism for determining whether a test has passed or failed. The use of oracles involves comparing the output(s) of the system under test, for a given test-case input, to the output(s) that the oracle determines that product should have. The term "test oracle" was first introduced in a paper by William E. Howden. Additional work on different kinds of oracles was explored by Elaine Weyuker.

The Classification Tree Method is a method for test design, as it is used in different areas of software development. It was developed by Grimm and Grochtmann in 1993. Classification Trees in terms of the Classification Tree Method must not be confused with decision trees.

<span class="mw-page-title-main">T.H. Tse</span>

T.H. Tse is a Hong Kong academic who is a professor and researcher in program testing and debugging. He is ranked internationally as the second most prolific author in metamorphic testing. According to Bruel et al., "Research on integrated formal and informal techniques can trace its roots to the work of T.H. Tse in the mid-eighties." The application areas of his research include object-oriented software, services computing, pervasive computing, concurrent systems, imaging software, and numerical programs. In addition, he creates graphic designs for non-government organizations.

Cecilia Mascolo is a Professor of Mobile Systems at the Department of Computer Science and Technology at the University of Cambridge, and a Fellow of Jesus College, Cambridge.

<span class="mw-page-title-main">Gail C. Murphy</span> Canadian computer scientist

Gail C. Murphy is a Canadian computer scientist who specializes in software engineering and knowledge worker productivity. Murphy is a full professor in the Department of Computer Science at the University of British Columbia, Vancouver. In 2016, she was named Associate Vice President Research pro tem and assumed the role of Vice-President, Research & Innovation on August 14, 2017. Murphy is co-founder and was Chief Scientist at Tasktop Technologies Incorporated.

<span class="mw-page-title-main">Transition (computer science)</span>

Transition refers to a computer science paradigm in the context of communication systems which describes the change of communication mechanisms, i.e., functions of a communication system, in particular, service and protocol components. In a transition, communication mechanisms within a system are replaced by functionally comparable mechanisms with the aim to ensure the highest possible quality, e.g., as captured by the quality of service.

References

  1. Kaner 1997, p. 28.
  2. Clarke 1976, pp. 215–222.
  3. Clarke, Hassell & Richardson 1982, pp. 380–390.
  4. Myers 1979.
  5. Ostrand & Balcer 1988, pp. 676–686.
  6. Weyuker & Jeng 1991, pp. 703–711.
  7. White, Cohen & Zeil 1981, pp. 103–112.

Sources

Books
  • Myers, Glenford J. (1979). The Art of Software Testing . New York: John Wiley & Sons. ISBN   0-471-04328-1. OCLC   4194539.
  • White, Lee J.; Cohen, Edward I; Zeil, Steven J. (1981). "A Domain Strategy for Computer Program Testing". In Chandrasekaran, B.; Radicchi, S. (eds.). Computer Program Testing: Proceedings of the Summer School on Computer Program Testing Held at SOGESTA, Urbino, Italy, June 29-July 3, 1981. Amsterdam; New York: North Holland. pp. 103–112. ISBN   0-444-86292-7. OCLC   7875177.
Journals