Software Test Plan

Prepared by Team Aquarius
for a UCI ICS course listings webpage proposed by Professor Michael Carey.

Kyle Chong
Danny Kim
Derek Lyons

March 4, 2011


Release Information

Project: UCI ICS Course Listing Replacement
Revision: 3.0.1
Related Documents:

Revision History

Version 3.0.1
-Incomplete tests have been marked as "TBD"
Version 3.0.0
-Defined test strategies to be used
-Software Environment Requirements has been updated
-Test procedure has been rewritten to explain testing procedures for the system
-Tools have been updated to reflect our new test strategies
Version 2.0.1
-Added Use Case Tests
-Reformatted the Use Case Tests to be numbered with bulleted descriptions
-Added some Use Case Test Results
Version 2.0.0
-Updated entry in Tools.
-Updated entry in References.
-Updated entry in Use Case Tests.
Version 1.2.0
-Clarified revision numbering. X.Y.Z: X is a major version; Y is a minor version (iteration); Z is a patch to an iteration.
Version 1.1.0
-Added brief test strategy.
-Added preliminary software environment requirements.
-Added basic test procedure.
-Added skeleton of functions to test.
Version 1.0.0
-Initial release

Purpose of the Document

This document is used to outline the planning for testing the software against system requirements and use cases. The necessary strategies, tools, methods, responsibilities, and documentation of testing are described within this document. The main objectives for this test plan are to define the activities required for testing, communicate all responsible parties involved in system testing, and to define all deliverables and responsible parties.

Project Statement

The UCI ICS course listing is a tentative schedule of CompSci, CSE, ICS, Informatics, and Statistics courses that the Bren School offers for the current academic year. However, there are many issues with the current implementation. These issues generally fall under the usability umbrella, due to the presentation of extraneous information in a cluttered interface. If students have to scan across multiple vertical listings to plan a schedule, the task takes much more time and effort than it should. There is a need for a better design such that students can clearly see the course offerings for an academic year at a glance. A better design would be valuable because it could improve student satisfaction by reducing the work involved in planning their schedule for the coming year. Additionally, this could alleviate the workload of counselors who would otherwise have to fix students' schedules to remain on track.

Test Strategy

Stress and Volume Testing

Our system will be tested with a high number and volume of requests to ensure that the system as well as its infrastructure will not be negatively impacted under heavy use.

Integration Testing

Integration tests will test the system's ability to interface and communicate with other components of the system. Information being passed between the database and our system will be tested to ensure the accuracy of query results.

Performance Testing

Performance testing will allow us to determine the system's average response time of searching and receiving database queries.

Black Box Testing

We intend to use black-box acceptance testing to ensure the functionality of the system matches the sponsor's desires. Essentially, tests will be formulated using partitioned inputs to test the system output against the expected output. Thus, the acceptance tests will also serve as feedback for developers as to whether or not the system is functioning as designed.

Software Environment Requirements

The server must support the following:

Infrastructure
  • PHP5
  • MySQL
  • Internet connectivity
Internet Browser Capability
  • Javascript-enabled
  • Internet connectivity
Internet Browsers
  • Internet Explorer 7+
  • Mozilla Firefox 3+
  • Safari 5+
  • Google Chrome 6+

Test Procedure

As testing begins, all future changes must be coordinated and agreed upon together as a team. If all members agree with the modification of the system, then the change will be executed. Otherwise, the system will remain as is.

Discovered Bugs

When bugs are found within the system, the testers will track and log the bug found. As the defect is being repaired by a member of the project team, the log will continually be updated to track the progress. Once the logs show that the bug has been fixed and verified, the tracking and logging of the bug will cease.

Functions to Test

  • View courses
    • retrieved from database
    • filter by year, department, level (lower-division, upper-division, graduate)
    • search by title, department, number, description, instructor
    • timeline view; separated by quarter with summer hidden by default
  • View course description
    • retrieved from database
    • level, units, category, prerequisites
    • prerequisites are dynamic; generated as links to the prerequisite course descriptions
  • Open course website
    • link to WebSOC
      • inconsistent urls and delayed uploads means websites may only be available after the quarter begins
  • Open instructor website
    • retrieved from database
    • if not found in database, the url is generated according to default structure (e.g. http://directory.uci.edu/index.php?uid=UCINetID)
      • ICS website structure is not used because not all course instructors will be from the Bren School
  • Add course
    • accessed through separate interface that will require validation
  • Edit course
    • accessed through separate interface that will require validation
    • includes deleting course entry

Use Case Tests

  1. Correct Listing of Classes for a Year
    • When a user makes a search of classes available for a certain term, a correct and accurate list should return from the database. This can be validated by looking at class listings shown on UCI's class scheduling system known as WebSOC.
  2. Correct Listing of Classes for a Department
    • When a user makes a search of classes available for a certain department, a correct and accurate list should return from the database.
  3. Correct Listing of Classes for a Class Level
    • When a user makes a search of classes available for a certain class level (upper-div, lower-div, graduate), a correct and accurate list should return from the database.
  4. Correct Listing of Classes for a Degree Program
    • When a user makes a search of classes available for a certain degree within the Bren School, a correct and accurate list should return from the database.
  5. Correct Detailed Class Information
    • All links corresponding to a certain class (i.e: class website, professor's website, etc) should be accurate and correct, and should redirect the user to the appropriate website.
  6. Correct Results Filtering when using Global Search
    • When a user uses the global live search to further refine their results, the refined list will constantly update for each character the user types and present only cells which match the current running search string. Furthermore, the search will filter through course title, course number, course description, and instructor.
  7. Correct Results Filtering when using Column Searches
    • When a user uses the column live searches to further refine their results, the refined list will constantly update for each character the user types and present only cells within the appropriate column which match the current running search string. Furthermore, the searches in columns will pertain only to what is visible in the column (i.e. Fall/Winter/Spring/Summer will only search instructor names while Course will search Course Number and Title).
  8. Correct Results Filtering when using Multiple Searches Concurrently
    • When a user uses the column live searches and global to further refine their results, the refined list will constantly update for each character the user types and present only cells that match all search terms in all search fields.

Tools

System Languages

PHP

MySQL

Application Testing

Raw Load Tester (Stress Testing)

SimpleTest (PHP Unit Testing)

Pylot (Performance Testing)

Debugging Tools

Firebug

Test Results

  1. TBD
  2. TBD
  3. TBD
  4. TBD
  5. TBD
  6. Pass
  7. Pass
  8. Pass
Team Aquarius.