Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Derive input space partitioning test inputs for the BoundedQueue class with the following method signatures: public BoundedQueue (int capacity); // The maximum number of elements

Derive input space partitioning test inputs for the BoundedQueue class with the following method signatures: public BoundedQueue (int capacity); // The maximum number of elements public void enQueue (Object X); public Object deQueue (); public boolean isEmpty (); public boolean isFull (); Assume the usual semantics for a queue with a fixed, maximal capacity. Try to keep your partitioning simplechoose a small number of partitions and blocks. (a) List all of the input variables, including the state variables. (b) Define characteristics of the input variables. Make sure you cover all input variables. (c) Partition the characteristics into blocks. Designate one block in each partition as the Base block. (d) Define values for each block. (e) Define a test set that satisfies Base Choice Coverage (BCC).

// Introduction to Software Testing // Authors: Paul Ammann & Jeff Offutt // Chapter 3, page ?? // See BoundedQueueTest.java for JUnit tests. (Instructor only) public class BoundedQueue { // Overview: a BoundedQueue is a mutable, bounded FIFO data structure // of fixed size , with size being set in the constructor // A typical Queue is [], [o1], or [o1, o2], where neither o1 nor o2 // are ever null. Older elements are listed before newer ones. private final Object[] elements; private int size, front, back; private final int capacity; public BoundedQueue (int capacity) { if (capacity < 0) throw new IllegalArgumentException ("BoundedQueue.constructor"); this.capacity = capacity; elements = new Object [capacity]; size = 0; front = 0; back = 0; } public void enQueue (Object o) throws NullPointerException, IllegalStateException { // Modifies: this // Effects: If argument is null throw NullPointerException // else if this is full, throw IllegalStateException, // else make o the newest element of this if (o == null) throw new NullPointerException ("BoundedQueue.enQueue"); else if (size == capacity) throw new IllegalStateException ("BoundedQueue.enQueue"); else { size++; elements [back] = o; back = (back+1) % capacity; } } public Object deQueue () throws IllegalStateException { // Modifies: this // Effects: If queue is empty, throw IllegalStateException, // else remove and return oldest element of this if (size == 0) throw new IllegalStateException ("BoundedQueue.deQueue"); else { size--; Object o = elements [ (front % capacity) ]; elements [front] = null; front = (front+1) % capacity; return o; } } public boolean isEmpty() { return (size == 0); } public boolean isFull() { return (size == capacity); } public String toString() { String result = "["; for (int i = 0; i < size; i++) { result += elements[ (front + i) % capacity ] . toString(); if (i < size -1) { result += ", "; } } result += "]"; return result; } }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions