COMMENTS:
Testing Theory
These series of tests are designed to exercise all necessary functionality to have type compliance to the Atlas protocol.
In Level 1 compliance no rules are applied to Type's other than the normal standard programming definitions (for example the C definitions of types).
When creating a object it will also be necessary to destroy the objects after the test cases are complete.
All codec output shall be recorded and passed on with the test results.
Memory usage, Thread and Handle counts shall to be recorded for each test case as well as the beginning and end count for this test suite.
Benchmarks are to be recorded in milliseconds and divided by the (need benchmark program so benchmark is not dependent on hardware) Atlas benchmark program score.
All tests will need to be performed on all combinations of compression, encryption and codec type (binary, XML, string) that the library supports.
Test Case Numbering
Test case will use the following numbering scheme (fields are not fixed width) ATLASLIB:TYPE:L1:xxx:xxx:xx.xx ^ ^ ^ ^ ^ ^ | | | | | Test Case Number (e.g. 1, 2, 3.1) | | | | Test Case Type (e.g. Benchmark) | | | Test Plan Section (e.g. General, String, Uri_list) | | Test Plan Level (Acceptance Level of Test Plan) | Test Plan Section (e.g. Type, Action) Test Suite (Tests are for what worldforge Product)
Prerequisites
Library is capable of accepting codec input from file
Library is capable of recording codec output to file
Library has conversion capability to accept/ouput XML
Entity class tree
ROOT_TYPE
Benchmarks: 1. Memory Used (for standard root of Definition) 2. Transmit Entire Root 1,000,000 (Speed) 3. Receive Entire Root 1,000,000 (Speed) Invalids: 1. Receive Invalid Root Object 2. Transmit Invalid Root Object 3. Create Invalid Root Object 4. Delete Invalid Root Object 5. Create Null Root 6. Induce memory corruption of object. Stress: 1. Create and Delete 5 definitions of Root 1,000,000 (watch for memory leaks and threads/handles) 2. Encode and Decode 5 definitions of Root 1,000,000
STRING
Functions: (Create object, Transmit object to File, Receive object from File) 1. abcdefghijklmnopqrstvwxyz1234567890ABCDEFJHIJKLMNOPQRSTUVWXYZ 2. "" 3. ass>string> 4. String with 0x00 in middle of it 5. testing " test" 123. 6. testing 'test'123. 7. String with >32k data 8. Delete String Object's Benchmarks: 1. Encode and Decode String Object "the quick brown fox jumped over the lazy dog THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG ,. 1234567890 Compression: the the the the the the the the the the the the the the the the the aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" 1,000,000 Invalids: (Create object [should fail], Recieve object from File [should error and request re-try]) 1. (ToDo: theoretically no invalids? need more info on UTF-8) Stress: 1. Create and Delete 5 definitions of String 1,000,000 (watch for memory leaks and threads/handles) 2. Encode and Decode 5 definitions of Root * 1,000,000
INTEGER
Functions: (Create object, Transmit object to File, Receive object from File) 1. 0 2. 1 3. -1 4. 2147483648 5. -2147483647 6. (Random Positive) 7. (Random Negative) 8. Delete Integer Objects Benchmarks: 1. Encode and Decode Integer Object "2001001001" x 1,000,000 Invalids: (Create object [should fail], Recieve object from File [should error and request re-try]) 1. -0 2. 2147483649 3. -2147483648 4. 1.0 5. abc123 Stress: 1. Create and Delete 5 definitions of Integer 1,000,000 (watch for memory leaks and threads/handles) 2. Encode and Decode 5 definitions of Root * 1,000,000
FLOAT
Functions: (Create object, Transmit object to File, Receive object from File) 1. 0.0 2. 0000000000000000.0 3. 1.0 4. 1234567890.1234567890 5. 1.0e10 6. 1.0E20 7. 1.1234567890e123 8. Delete Float Objects Benchmarks: 1. Encode and Decode Integer Object "23423.345576567567567" x * 1,000,000 Invalids: (Create object [should fail], Recieve object from File [should error and request re-try]) 1. 0 2. -0.0 3. 1 4. 1.2efg3455456456 5. 1.2Edfgds234234 6. asdlasdfhk 7. 3456234534525 8. 1111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000
.1111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000 Stress: 1. Create and Delete 5 definitions of Float 1,000,000 2. Encode and Decode 5 definitions of Float 1,000,000
URI
Functions: (Create object, Transmit object to File, Receive object from File) 1. "" 2. "file:" 3. "http://www.worldforge.org/website/protocols/TestSuite/TypeLevel1" 4. "atlas://acorn.worldforge.org" Benchmarks: 1. Encode and Decode Uri Object "http://2001001001" x 1,000,000 Invailds: (Create object [should fail], Recieve object from File [should error and request re-try]) ToDo: find url to URI definition Stress: 1. Create and Delete 5 definitions of Float 1,000,000 2. Encode and Decode 5 definitions of Float * 1,000,000 OBJECT
Functions: (Create object, Transmit object to File, Receive object from File) Benchmarks: Stress:
STRING_LIST
Functions: (Create object, Transmit object to File, Receive object from File) 1. Create list with 10 strings 2. Create list with 100 strings 3. Create list with 1000 strings Benchmarks: Stress:
INTERGER_LIST
Functions: (Create object, Transmit object to File, Receive object from File) 1. Create list with 10 integers 2. Create list with 100 integers, 3. Create list with 1000 integers Benchmarks: Stress:
FLOAT_LIST
Functions: (Create object, Transmit object to File, Receive object from File) 1. Create list with 10 floats 2. Create list with 100 floats 3. Create list with 1000 floats Benchmarks: Stress:
URI_LIST
Functions: (Create object, Transmit object to File, Receive object from File) 1. Create list with 10 URI's 2. Create list with 100 URI's 3. Create list with 1000 URI's Benchmarks: Stress:
OBJECT_LIST
Functions: (Create object, Transmit object to File, Receive object from File) 1. Create list with 10 objects 2. Create list with 100 objects 3. Create list with 1000 objects Benchmarks: Stress:
Definitions:
Root Definiton
root_type
string: "This is a string "hello world" that every - one uses for testing"
string: "This is a sub-string"
string: "This is a sub-sub-sub-sub-sub-string"
uri: "atlas://acorn.worldforge.org/1"
uri_list: "http://www.kde.org", "http://www.worldforge.org/website/protocols/", "ftp://ftp.cdrom.com"
float: 156456.34634561
int: 1641
object: ToDo
uri: "atlas://acorn.worldforge.org/2"
float_list: 0.0, 1.0, 2123443.4563546, 232345.34563456
string: "This is a string : with the parent of URI"
uri: "atlas://acorn.worldforge.org/testing/testing/3"
float: 233333333.1233333334354562
int: 24562
object: ToDo
float: "323.125563
string: "abcdefghijklmnop 1234567890 parent = Float"
uri: "atlas://acorn.worldforge.org/this/test/is/ok/and/is/URI/number/4"
float: 44645.45676554
int: 3643
object: ToDo
int_list: 1, 2, 3, 4, 5, 6, 7, 8, 9, 0
int: 4564
string: "This is a string belongs to Int which stands for integer. "hello world again""
uri: "atlas://acorn.worldforge.org/testing/testing/5"
float: 5.5
object_list: ,
int: 55
object: ToDo
object: ToDo
string: "the quick brown fox jumped over the lazy object"
uri: "file://testing.html#6"
float: 6.6666666666666666
int: 6
string_list: "this", "is", "a", "test", "1", "2", "3", ""
object: ToDo
- Home
- -
- About
- -
- Introduction
- -
- FAQ
- -
- Team
- -
- Newbie Guide
- -
- Getting Started
- Editing Guide
- -
- Edit
- -
- Manage
- -
- New Page
- -
- Changes
- -
- Map
- -
- Password
- -
- Deprecation