Integration & Systems Tests

Contents:

1 Integration and Systems Tests

Please refer to the notes provided in CS 350 on Systems Testing.

Last week we scripted the set of unit tests to be executed. As explained in CS 350, automation of tests simplifies regression testing after anything in the code has been modified. The aim is to affirm that all versions of the code perform as expected.

Now, we have to put the units/components together as a working system. In some cases the component may be an existing piece of software or a legacy system. We must write specially developed code to perform I/O activities in the process of adding functionality to an already working system.

Another example is combining a back-end database with a front-end User Interface. In this example, integration tests would be needed to confirm exchange of data. Is the UI able to pull information from the database, and similarly, push information to be stored?

In this same example, a systems test would be used to verify that the correct data was pulled and pushed in the appropriate situation (execution of code) while using the system. A system test case will verify already executed unit tests. Every time the user clicks “submit” they are retesting the unit test that verifies the webpage was designed appropriately (there exists a submit button), that the database table to be populated was developed (there is a place for the data to be stored) and that the action executes correctly (the data is stored).

Acceptance tests will not be addressed other than to state their purpose. The customer typically creates the requirements and/or cases. They expect a particular attention to detail. For example, they may know that the data is transfer must be completed in less than .3 seconds to prevent failure in their environment.

2 Examples of Integration and System Test Cases

2.1 TPOT Instructor Dashboard

3.1.1.1 Login

This section details the login process for users of the TPOT Instructor Dashboard. Users will be directed to login through a Google account, which will return email address information to TPOT’s web server and direct the user to the Instructor Dashboard tabbed home page. TPOT Instructor Dashboard login must conform to the following functional requirements:

3.1.1.1.1 Unauthorized users who visit the dashboard page must be presented with an option to log in using a Google account.

3.1.1.1.2 Authorized users must be limited to the following user types:

    a. Instructors
    b. Teacher’s Assistants

3.1.1.1.3 Users authenticated by Google must have their validated Google email checked against the TPOT database to determine that the email address is present in the database User Table (see 3.1.3.2.4).

3.1.1.1.4 Users authenticated by Google must have their validated Google email checked against the TPOT database to determine that the email address is that of an Instructor or Teacher’s Assistant (see 3.1.3.2.4).

3.1.1.1.5 Authenticated Instructor and Teacher’s Assistant users must be redirected to the instructor dashboard tabs page.


Test Category: Systems Description: Verify the ability to login to the TPOT Dashboard with only Google-authorized Instructor and TA accounts
Test Case: 1.1Case Name: Dashboard LoginVersion: 1.0Written By: Aaron Walden
Requirements Fulfilled: 3.1.1.1.1 – 3.1.1.1.5Purpose: To verify that only Instructor and TA accounts which are authorized by Google may proceed into the tabbed Dashboard area of the TPOT site. To also verify that authorized users are directed to the correct page.
Setup Conditions:  
  • Obtain the requirements document
  • Obtain the email address and password of an Instructor or TA Google account
  • Obtain the email address and password of a non-Instructor and non-TA Google account
  • Open a web browser
Test Case ActivityPass/FailCommentsExpected Result
1 Navigate to http://411tpot.cs.odu.edu:8080/   TPOT Google login page appears.
2 Click Login with Google. Enter the credentials of a non-Instructor, non-TA account.   Google verifies user but user is redirected back to the TPOT Google login page.
3 Click Login with Google. Enter the credentials of an Instructor or TA account.   Google verifies user and user is redirected to the TPOT tabs home.
4 Visually verify that the user has been directed to the TPOT tabs home, Overview tab, and that the user's Google account username appears in the top right corner of the page.   Overview tab is selected and the user's Google email address appears in the top right corner of the TPOT tabs home.

2.2 TPOT - Activity Tab

3.1.1.2.1 Activity Tab (Josh)

This section details the Activity Tab, which allows Instructors and Teacher’s Assistants to view the Activities performed by users of all modules of TPOT. For complete details of what constitutes an Activity, see section 3.1.3.3. The Activities Tab must conform to the following functional requirements:

3.1.1.2.1.1 Must allow authorized users to view the following attributes of Activities:

    a. Course
    b. Team
    c. User email address
    d. Activity Type
    e. Date Accomplished (YYYY-MM-DD HH:MM:SS)

3.1.1.2.1.2 Must allow authorized users to sort Activities by the following attributes:

    a. Course
    b. Team
    c. User email address
    d. Activity Type
    e. Date Accomplished (YYYY-MM-DD HH:MM:SS)

3.1.1.2.1.3 Must allow authorized users to filter Activities by the following attributes:

    a. Course
    b. Team
    c. User email address
    d. Activity Type
    e. Date Accomplished (YYYY-MM-DD HH:MM:SS)


Test Category: Systems Description: Verify that the Activity Tab displays the correct sortable and filterable data
Test Case: 5.1Case Name: Activity TabVersion: 1.0Written By: Aaron Walden
Requirements Fulfilled: 3.1.1.2.1.1 – 3.1.1.2.1.3Purpose: To verify that Activity Tab displays the correct data regarding recent Team Site activity and that the data is sortable and filterable.
Setup Conditions:  
  • Obtain the requirements document
  • Test Case 1.1 verified
  • Obtain an Instructor/TA Google account which presides over at least one Team
  • Obtain the URL of that Team's Google Site
  • Open a web browser to http://411tpot.cs.odu.edu:8080/
  • Log in to the TPOT Dashboard with an Instructor/TA Google account
  • Click the Activity Tab
Test Case ActivityPass/FailCommentsExpected Result
1 For each attribute listed in 3.1.1.2.1.1, click its heading in the Activity table to sort by attribute. Visually verify that sorting is correct.   The desired attributes are present.
2 For each attribute listed in 3.1.1.2.1.1, click its heading in the Activity table to sort by attribute. Visually verify that sorting is correct.   Proper sorting occurs.
3 Click each attribute again. Visually verify that sorting reverses and is correct.   Proper sorting occurs.
4 For each attribute listed in 3.1.1.2.1.1, begin typing in the filter box. Visually verify the rows which remain contain the text entered in the target attribute.   Proper filtering occurs.
5 Navigate to the URL of the team site overseen by the Instructor or TA account used to log in.   Team Site is accessed.
6 Navigate to the recent activity page of the site. Verify that the data there matches the data presented in the Activity Tab.   Data matches exactly.

3 More Recent Examples

Let us take a look at a few more recent groups:

3.1 Polymorper - TextBook UI Test

Level Dependent UI shall display the “Textbook” curriculum by breaking down the learning sections before and after each puzzle/challenge.


Test Category: Systems / Play Description: Test the prelevel and postlevel textbook functionality
Test Case: 2.3Case Name: TextBook Ui TestVersion: 1.0Written By: Daniel Dang
Requirements Fulfilled: 3.1.3.3Purpose: To display the “Textbook” learning curriculum before and after each level.
Setup Conditions:  
  • Run the executable
  • Load the scene of every level
Test Case ActivityPass/FailCommentsExpected Result
1 Load the Scene.   The game shall load the Textbook.
2 Click on the X button to exit the text book and start the game   The textbook shall disappear and the player can begin the game.
3 Click on the textbook icon to reactivate the textbook   The textbook should appear again for the player to review.
4 The player finishes the game level   The textbook appears again with new text to advance the player's progress
5 Repeat steps 1 - 4 for each level in the game.   All textbook popups should work as intended.