Skip to main content
U.S. flag

An official website of the United States government

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Issues in Software Component Testing



William J. Majurski


The purpose of this project is to construct a tool for testing software APIs that integrates two established software test generation techniques: context free grammars and constraint satisfaction. Context free grammars with extensions have been used to generate tests for VLSI circuits[1]. Grammars can generate large collections of test cases form compact specifications but require extension for two reasons: control of repeating patterns and selectivity (targeting the user's intent). Constraint satisfaction approaches have been used in white-box testing of software [2] as an intermediate form between source code analysis tools and test environments. Constraints are used to describe the branching structure of program logic. Solutions of the constraints are candidate test data for evaluating he targeted program logic.We have integrated these two techniques into a single tool. We find the results appealing for two reasons. The constraints complement the grammars by allowing selective restrictions on the test space along with the stochastic restrictions placed on grammar expansions. Secondly, constraints and grammars both use a consistent declarative style. We believe this combination supports manual test design for black-box tests, automated test design as from analysis of code, and test design extracted from analysis of formal specification.
Acm Computing Surveys


computer software, software, software testing


Majurski, W. (1998), Issues in Software Component Testing, Acm Computing Surveys (Accessed April 21, 2024)
Created December 17, 1998, Updated February 17, 2017