Description
1. Problem Statement
Create an original version of the stringclass named myString. Each instance of myStringwill be able to handle 25 characters and each method will need to contain a reference “status variable”.
2. Requirements
2.1 Assumptions
-
Default stringclass may be used for screen input
-
Default stringclass may be used for setStringmethod
-
User will not input strings that include spaces
2.2 Specifications
-
Functions to replicate
-
-
size()
-
addStart()
-
-
-
addEnd()
-
-
-
partString()
-
-
-
replPartString()
-
-
-
replWholeString()
-
-
-
compareString()
-
-
-
initString()
-
-
-
setString()
-
-
-
getString()
-
-
-
printStringScreen()
-
-
-
numericString()
-
-
-
alphabeticString()
-
-
Program will test each function systematically
-
-
Some results will be shown to the user
-
-
-
Some results will be printed to a file
-
-
-
May allow for methods to be tested out of order/individually
-
-
Decomposition Diagram
-
-
myStringClass Program
-
Input
-
-
-
-
-
-
User inputs string under 25 characters
-
-
-
-
-
-
-
User inputs via command line
-
-
-
-
-
-
Process
-
-
-
-
-
-
Count the number of characters in a string
-
-
-
-
-
-
-
Iterate character array to append beginning
-
-
-
-
-
-
-
Iterate through array to append to end
-
-
-
-
-
-
-
Replace part of array from given position
-
-
-
-
-
-
-
Replace entire array of characters
-
-
-
-
-
-
-
Compare given array with saved array
-
-
-
-
-
-
-
Initialize/Wipe string to null
-
Insert string into myString
-
-
-
-
-
-
-
Determine if string is integer or real number
-
-
-
-
-
-
-
Determine if string is alphabetic exclusively
-
-
-
-
-
-
Output
-
-
-
-
-
-
Iterate and return portion of string from any start point
-
-
-
-
-
-
-
Return and print current array of characters
-
-
-
-
Test Strategy
-
-
Valid Data
-
-
-
Invalid Data
-
-
Test Plan Version 1
Test Strategy |
# |
Description |
Input |
Expected Output |
Actual Output |
Pass/Fail |
Valid Data |
1 |
size() |
||||
Valid Data |
2 |
addStart() |
||||
Valid Data |
3 |
addEnd() |
||||
Valid Data |
4 |
partString() |
||||
Valid Data |
5 |
replPartString() |
||||
Valid Data |
6 |
compareString() |
||||
Valid Data |
7 |
initString() |
Valid Data |
8 |
setString() |
||||
Valid Data |
9 |
getString() |
||||
Valid Data |
10 |
printStringScreen() |
||||
Valid Data |
11 |
numericString() |
||||
Valid Data |
12 |
alphabeticString() |
||||
Invalid Data |
1 |
addStart() |
||||
Invalid Data |
2 |
addEnd() |
||||
Invalid Data |
3 |
partString() |
||||
Invalid Data |
4 |
replPartString() |
||||
Invalid Data |
5 |
replWholeString() |
||||
Invalid Data |
6 |
compareString() |
||||
Invalid Data |
7 |
setString() |
||||
Invalid Data |
8 |
getString() |
||||
Invalid Data |
9 |
printStringScreen() |
-
Initial Algorithm
-
-
Create Class myString
-
Create Function size()
-
-
-
-
-
-
Return number of characters in string
-
-
-
-
-
-
-
Count all non-null characters and add to total
-
-
Create Function addStart(myString)
-
-
-
-
-
-
Add input to beginning of string
-
-
-
-
-
-
-
Move current characters forward and insert
-
-
-
-
-
-
Create Function addEnd(myString)
-
Append string with input
-
-
-
-
-
-
-
Insert characters to end up to 25
-
-
-
-
-
-
Create Function partString(startPos, length)
-
Return portion of string from inputted index
-
-
-
-
-
-
-
Take in index integer and iterate from there
-
-
-
-
-
-
Create Function replPartString(myString, startPos)
-
Replace portion of string from inputted index
-
-
-
-
-
-
-
Take in index of string and replace
-
-
-
-
-
-
-
Wipe string and insert characters
-
-
-
-
-
-
Create Function compareString(myString)
-
Compare current string to user input
-
-
-
-
-
-
-
Iterate both and check each index
-
-
-
-
-
-
Create Function initString()
-
Wipe/Initialize string to null
-
-
-
-
-
-
-
Iterate and clear each index
-
-
-
-
-
-
Create Function setString(string)
-
Set string to current input
-
-
-
-
-
-
-
Iterate and fill each index with corresponding index
-
-
-
-
-
-
Create Function getString()
-
Return current string
-
-
-
-
-
-
-
Iterate and return each index into string
-
-
-
-
-
-
Create Function printStringScreen()
-
Print current string to screen
-
-
-
-
-
-
-
Iterate and print each index
-
-
-
-
-
-
Create Function numericString()
-
Determine if string is integer or real number
-
-
-
-
-
-
-
Iterate and check for numeric or real number characters in correct order
-
-
-
-
-
-
Create Function alphabeticString()
-
Determine if string is all alphabetic
-
-
-
-
-
-
-
Iterate and check for alpha characters
-
-
-
-
-
Create Function outputFile()
-
Will print results of each function in class myStringto file
-
-
-
-
MAIN FUNCTION
-
-
-
-
Test each function of class myString
-
-
-
-
-
Print results of each function to file with outputFile().
-
-
-
Test Plan Version 2
Test Strategy |
# |
Description |
Input |
Expected Output |
Actual Output |
Pass/Fail |
Valid Data |
1 |
size() |
“string” |
6 |
||
Valid Data |
2 |
addStart() |
“my“ |
“mystring” |
||
Valid Data |
3 |
addEnd() |
“s” |
“mystrings” |
||
Valid Data |
4 |
partString() |
0, 5 |
“mystr” |
||
Valid Data |
5 |
replPartString() |
3, “Test” |
“myTest” |
Valid Data |
6 |
compareString() |
“mystring” “test” |
FALSE |
||
Valid Data |
7 |
initString() |
null |
null string |
||
Valid Data |
8 |
setString() |
“mystr” string |
“mystr” myString |
||
Valid Data |
9 |
getString() |
“mystr” myString |
“mystr” string |
||
Valid Data |
10 |
printStringScreen() |
“mystr” |
“mystr” Print |
||
Valid Data |
11 |
numericString() |
“6.502” |
TRUE |
||
Valid Data |
12 |
alphabeticString() |
“abc” |
TRUE |
||
Invalid Data |
1 |
addStart() |
“abcd…z” |
overflow |
||
Invalid Data |
2 |
addEnd() |
“zyxw…a” |
overflow |
||
Invalid Data |
3 |
partString() |
“-1, 5” |
Invalid Index |
||
Invalid Data |
4 |
replPartString() |
“my“, -1 |
Invalid Index |
||
Invalid Data |
5 |
replWholeString() |
“abc…z” |
overflow |
||
Invalid Data |
6 |
compareString() |
“” |
null |
||
Invalid Data |
7 |
setString() |
“” |
null |
||
Invalid Data |
8 |
getString() |
“” |
null – empty |
||
Invalid Data |
9 |
printStringScreen() |
“” |
null – empty |
12. Error Log
Error Type (Logic/Runtime) |
Cause of Error |
Solution to Error |
Logic |
Casting charArray to double |
None at the moment. |
within numericString() give |
||
correct answer every time |
||
except with input = 0 |
||
13. Status
Program is working.