best experienced with

at 768x1024 resolution


Testing And Analysis

Testing is important as it garantees quality assurance. Our group has used several methods of testing, namely static and dynamic tests. Static tests include desk checking, walkthroughs, inspections and compilation of the source codes (ASP written using Visual Basic). Our group concentrated on dynamic testing, applying both white-box and black-box testing techniques. Please, do feel free to take a look at our testing methology and results.

Black Box Testing

White Box Testing


Static and Unit Testing

In the creation of the 2 databases, through walkfhroughs, inspections and frequent communication between programmers and analysts, we are able to conform our software to the modelled design specifications. Compilation solved most of errors, except for logic errors, but these errors surface when the compiler was not able to compile or when the software provided an erroronous solution rather than the expected output. These errors were singled out and solved subsequently.

The tests were first carried out in component level, in which each component are tested saparately using static tests. Upon conclusion of the Unit testing we will move on the Integration Testing and subsequently Validation Testing, which primary uses the Black Box testing technique.

Integration Test

In integration test, we test for the integration of our software with the database. Below is a simplified diagram that shows the integration of our product.

For our testing, we came out with various erroneous inputs into the database to test whether our system can tolerate the different error inputs. We specially designed an input case in which the main program requested the shortest distance between two same locations. The database in this case returns invalid choice. This is correct because no user will want to find out the shortest location between two same places and our system will not allow such invalid input. But for testing purposes, we will force this input into the system to test for the robustness of our system. We now force an erroneous input of two locations which is not found in the database. Since the database does not contain the locations, it will not return anything. This is correct since the database does not contain the required inputs. Again this kind of error will not be allowed by the system but for testing purposes, we forced the system to behave in this way so that we can see how tolerant our system is to errors.