-
Notifications
You must be signed in to change notification settings - Fork 1
8.0 Test Plan
Functional tests exist to test the functionality and technical plausibility of the system. It does not test subjective subjects that involve user testing.
Due to the fact that django is a widely used framework, it was deemed that testing the functionality of the database management system was not necessary. Despite this, the designs of the SILGRO team must utilise the systems made available in an effective way. Thus tests for the database revolve only around the design of the relational model, and the way the interface interacts with it.
Tests if the relational model is able to handle data in all possible ways. If users were connected to data in every possible way, test that this data be efficiently and reliably accessed through the database system.
- Add at least one tuple into every possible table of the database, with the only consistency being a single user. In places where multiple users are part of a relation, create more unique users.
- Using only the user's ID, use queries to access every bit of information on the user. A successful outcome for this test would be that all of a user's data can be accessed with only a user's id. A failure would be if any tuple is not accessible. This means the relational model has not been linked up correctly.
Tests if a database can be searched at a fast enough speed, under a semi-stressful condition.
- Add 30,000 listings to the database. Each of these listings should be filled and have a unique id. These entries should be evenly split among three different areas which are far from each other.
- Conduct a search query for items near a certain location. A successful outcome would be that the search is completed in under 3 seconds. In the case of failure, the database should be indexed or reorganised in a way which provides a more efficient search.
Tests if data entries can be searched accurately and consistently
- Add 200 entries to the database, with 50 'nearby' a specified location, 30 with the term 'test' in their name, and 10 with both.
- Search for listings near the specified location, with the search term 'test' The outcome is successful if the search returns only the 10 entries that contain both.
Tests for if users are hypothetically able to navigate the website.
- Starting from the homepage, navigate to a listing page.
- From the listing page, return to the homepage.
- Repeat the steps above for every page in the document. The outcome is successful if all pages can be accessed from the homepage in no more than 3 clicks, and the homepage can be returned to. If there are pages in the website which are inaccessible or if the user is unable to backtrack to the homepage, the website should be reorganised to improve navigability.
Tests if the database is able to display large amount of data, should a query return a large number of results.
- Populate the database with 100 unique entries, each with the term 'test' in their name.
- In the prototype, search for the term 'test' The outcome is successful if the search term makes all data available. If it does not, the layout of the website will need to be reformatted to allow for large amounts of data to be handled.
Tests if a user could add listing to the database, and have it display in a search
- In the web-app, log in to a user account
- Navigate to the 'new listing' page
- Enter the information for a new listing with a unique name
- Submit the listing
- Search for the unique name just added
- Go to the 'my account' page
- Go to 'my listings'
The outcome is successful if in step 5 the listing can be found through a search, and in step 7 the user can view their new listing.
© 2019 S1LGR0 - share@silgro.net or company@silgro.net