Pittsburgh, Pennsylvania
June 22, 2008
June 22, 2008
June 25, 2008
2153-5965
Software Engineering Constituent Committee
13
13.1149.1 - 13.1149.13
10.18260/1-2--3308
https://peer.asee.org/3308
831
Using Specification Patterns to Teach Black-Box Testing
Ann Q. Gates Computer Science Dept., University of Texas at El Paso. Salamah Salamah Computer and Software Engineering Dept., Embry-Riddle Aeronautical University.
Abstract
Software verification is one of the most important activities in the software development cycle, and testing remains the most common approach to verification used in industry. The goal of black- box testing (functional testing) is to verify the system’s adherence to specifications. The notion of patterns and scopes developed by Dwyer et al. provides a cohesive and rich set of examples to teach black-box testing strategies. A pattern describes a recurring software property, and a scope specifies the interval of program execution where a pattern must hold. A property specified using a pattern and scope combination has characteristics that must be satisfied if it is to hold. Based on these characteristics, there is a large set of behaviors that can be examined using black-box testing techniques. In a complementary fashion, the behaviors specified by patterns and scopes provide clear and simple examples that can enhance the understanding of these testing techniques. In this paper, we describe an approach and present general lessons and exercises that demonstrate how patterns and scopes can be used to teach boundary value analysis and equivalence class testing, which are two of the most commonly used black-box testing techniques. As a side effect of this approach, students are exposed to, and become familiar with, formally specifying system behavior.
1 Introduction
Testing remains the most natural and customary way of verifying a piece of software [6]. In software development, testing ranges from verifying the separate components of the system (meth- ods, classes, etc.) to verifying the system as a whole (system testing). Testing approaches also differ in their techniques, which are based on the accessibility to the internal structure (code) of the system. In black-box testing techniques, test cases are defined based on system specification and without any consideration for the design or implementation of the system. Conversely, white-box techniques focus on testing the actual code of the system. As such, black-box testing is referred to as specification-based testing, and white-box testing is refereed to as implementation-based testing [6]. In this work, we focus on two of the most common black-box testing techniques: equivalence class testing, and boundary value analysis. Specifically, we discuss the Specification Pattern System (SPS) and the notions of patterns and scopes introduced by Dwyer et. al., [4] and how they are used to assist in defining system specifications. We then introduce an approach that uses patterns and scopes to teach the aforementioned testing techniques. This paper is organized as follows; Section 2 provides the background information about the work. This includes a detailed description of SPS’ patterns and scopes. In addition, descriptions
1
Salamah, S., & Gates, A. (2008, June), Teaching Black Box Testing Techniques Through Specification Patterns Paper presented at 2008 Annual Conference & Exposition, Pittsburgh, Pennsylvania. 10.18260/1-2--3308
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2008 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015