This Class Diagram is an idea on how steps will be taken to check all possible scenarios with the system. Is it, for the time being, a rough draft. It is not the final testing layout/scheme yet.
This diagram is refined from the previous one. The Architect requested a Class diagram.
The Testing team will develop various testing methods based on the model that we've developed. The actual test performed will depend on the subsystem being tested.
The Testing Team will perform various usability tests to ensure each subsystem within the application works correctly. Once a specific system design has been established, and subsystems have been developed, Unit Testing will begin. Some Usability Tests may include:
- We will test a page at a time. We will start by reviewing the source code for noticeable errors or refactoring opportunities. We will then run it in a browser and provide feedback. If debugging is necessary we will assist where we can. We will repeat this procedure with each page we are given.
- Testing the links on the page will come after we know that the pages work on their own. The eventual goal will be to test the actual mapping features. This will require a different set of tests.
- Testing the database will involve attempts to insert sample data. This may be done through the use of web browser via the interface, or through a sample sql script we would develop. It is unclear at this time how the database will be set up, or exactly what information will be stored in the database. Once the database team has a better idea of how the database will look we will decide upon the best way to test it.
- Testing the database will start with reviewing source code for errors or refactoring opportunities, and the use of mysql to ensure the relationships are set up correctly. We will then attempt to insert, update, and retrieve data from the various tables.
The Testing team will also develop unit tests based on the source code for the database and interface. Unit Testing is generally automated and is used to test source code. Unit Testing will include:
- We conducted searches online to find ways of developing automated unit tests for testing html coded web pages. Unit testing an Interface is more complex than unit testing for the database. One potential way to do this is by using a IDE such as Eclipse. The web resource at  details as a PDF ways to unit test. An example woould be to write and run a unit test that runs and opens a web server and browser, and then shuts them down. One tool that can be used with Eclipse is PHPUnit. This is particularly useful if the Interface uses PHP. The example given uses JUnit and webappunit. The webappunit comes with JRex, GRE, and Jetty, which are used for running actual tests.
- In order to test the database, one way the testing team will unit test will be to develop a script to test particular tables. We can then use mysql utility to run the script and verify information was added. The script will we design will basically be an Insert statement based on the tables developed by the Database team.
What We Did This Semester
- We developed a sequence diagram to illustrate how we would perform usability testing.
- We Installed Mapserver on our machines and learned about publishing interactive maps on the web.
- We learned about ArcGIS and mapfiles, and how they are used to create interactive maps.
- The testing team outlined some methods that would be used in order to test the actual application. Once the application starts to come to fruition testing teams will have a starting point for usability testing, and ultimately unit testing.
- Installed the actual web application developed thus far on our local machines.
- Met with the actual client on two occasions and asked questions to aide in requirements solicitation.
- Posted some really useful resources that cna be used to learn about piblishing interactive maps on the web (i.e. 'Web Mapping Illustrated', see General Info/Resources).
- Posted a Testing section for future testing teams to reference and elaboarate on. The Testing page outlines various methods that were brainstormed for usability testing and unit testing of the database and ultimately the interface.