For our project we needed to created multiple python script files, so it is important to make sure that each script works both individually and as part of a system. In order to make sure the overall system worked we tested both each individual script files and the scripts that were dependent on each one. We decided to use the incremental integration testing method when testing our scripts because some scripts were heavily dependent on others to function properly so we wanted a gradual testing method in which we could start with the simpler scripts first. The scripts to be tested included a script to pull new business filings and business closing off the Ohio Secretary of State website, a geocoder to plot the addresses of them, a script to join the geocoded data to the shapefile that will be used to display them, a script with functions used to draw a choropleth map using the shapefile and data, and a final script that is used to create the final map file.
There were a few phases to the testing of our software. The first phase was to test the scripts used to get the data to be geocoded, and we tested this script by using it to attempt to pull the data we needed from the Secretary of State website. The second phase was to geocode the data obtained in the first phase, and this was tested by using the geocoder on the data. The third phase was making a choropleth map using a shapefile and the geocoded data, and this phase consisted of multiple scripts which needed to communicate with each other. We started the testing of this phase by first running the script used to join the data with the shapefile used for the map to see if that operation would be completed successfully. After that we used the joined data and shapefile to test the script that was written to draw the choropleth map and its legend to see if the map was drawn correctly.
The test techniques that we used to test our scripts were mainly some of the methods that were discussed in the Software Testing Lecture. As previously mentioned we used an incremental integration testing method that started with testing the code for getting the data, geocoding it, joining the data, and finally drawing the map. Since it was an incremental integration test each previous part was tested each time a new part was tested to ensure everything still worked as intended. We also developed test cases for testing the scripts, but they were pretty similar and mainly included pulling the data once a week to see how the scripts preformed when exposed to new data.
We also developed a test schedule that shows deadlines we had in terms of testing each part of the project and it is as follows below: