D3. Test Plan

Testing Plan

Part 1: Comprehensive Test Plan (Ideal Scenario)

  • Objective: To thoroughly test a Course Learning Management System (LMS) that integrates with a third-party API for course retrieval, supports Single Sign-On (SSO) for user authentication, displays course lists with quarterly due dates, and enables course access via link to third party website. User data from vendor matches SSO user data from company. Implement a practical and effective testing approach within constraints, ensuring critical components and functionalities are thoroughly tested. 
  • Scope:
    • Integration and System Testing (with UI)
    • Performance, Reliability, and Acceptance Testing
  • Tools Used:
    • Selenium WebDriver for UI testing.
    • LoadRunner for performance testing.
    • Git for version control.
    • Jenkins for continuous integration and deployment.
  • Types of End Users:
    • Students.
    • Administrators.
  • Test Environment:
    • Multiple operating systems (Windows, macOS).
    • Browsers (Chrome, Firefox, Safari, Edge).
    • Mobile devices (iOS -ipad)
    • Java JDK versions.
    • Different network conditions.
  • Testing Strategy:
    • Integration and System Testing: Testing the integration of different modules and the third-party API. UI testing to ensure the system works as a whole.
    • Performance and Reliability Testing: Load testing to simulate peak usage, stress testing, and endurance testing. Max api cababilities. 
    • Acceptance Testing: Validation against business requirements, ensuring that all functionalities are met.
  • Error Conditions and Data-specific Test Cases:
    • Invalid input data handling.
    • Testing with various data volumes.
    • Handling of network failures and API downtimes.
  • Documentation:
    • Test cases and scripts for automated tests.
    • Test data and expected outcomes for manual tests.
    • Documentation for setting up the test environment.

Part 2: Practical Test Plan (Actual Implementation) 

  • Objective: To thoroughly test a Course Learning Management System (LMS) that integrates with a third-party API for course retrieval.
    • Supports Single Sign-On (SSO) for user authentication and login
    • Menu buttons in the header redirect to the appropriate site
    • Displays active courses in correct started vs. not started tabs
    • User data from the vendor matches SSO user data from the company
    • Course data is pulled from API correctly
    • Shows user courses filtered appropriately  by color based with quarterly due dates
  • Scope:
    • Focused Unit Testing
    • Key Integration and System Testing
    • Acceptance Testing
  • Test Environment:
    • Primary operating systems (Windows, macOS).
    • Primary browsers (Chrome, Firefox, Safari).
    • Local server
  • Testing Strategy:
    • Integration and System Testing: Focused on critical integrations, such as SSO and third-party API connectivity.
    • Acceptance Testing: Ensuring the system meets the business requirements using test data.
    • Documentation: Same as in the comprehensive plan but more concise, focusing on essential components and steps.

Each of these user flows should be thoroughly tested to ensure that the site operates smoothly, is user-friendly, and integrates effectively with the third-party API and SSO. This involves both functional testing (to see if features work as expected) and usability testing (to ensure the user experience is intuitive and efficient).

User Flow 1: User Authentication and Login

  • Starting Point: User accesses the LMS homepage.
  • Action: User clicks on the login button.
  • Process: System redirects to SSO authentication page.
  • Validation: User enters credentials and submits.
  • Outcome: System validates credentials and logs the user into the LMS.

User Flow 2: Navigation via Menu Buttons

  • Starting Point: User logged into the LMS.
  • Action: User clicks on different menu buttons in the header (e.g., “Home”, “Store”, “Dashboard”, “Transcript”).
  • Process: Each button click redirects to the respective page.
  • Validation: Confirm each redirect matches the intended destination.
  • Outcome: User navigates seamlessly between different sections of the LMS.

User Flow 3: Displaying Active Courses

  • Starting Point: User on the course dashboard.
  • Action: User views the list of courses.
  • Process: System displays courses, sorting them into “Started” vs. “Not Started” tabs.
  • Validation: Check if the courses are correctly categorized based on user activity.
  • Outcome: User sees their courses organized accurately based on their progress.

User Flow 4: User Data Verification

  • Starting Point: User is logged in via SSO.
  • Action: User accesses their profile.
  • Process: System displays user data.
  • Validation: Verify that user data from the LMS matches the SSO user data.
  • Outcome: Consistency in user data between the LMS and the SSO provider.

User Flow 5: Course Data Retrieval from API

  • Starting Point: User navigates to the course section.
  • Action: User views available courses.
  • Process: System pulls course data from the third-party API.
  • Validation: Confirm that the course data matches the data provided by the API.
  • Outcome: Accurate and up-to-date course information is displayed.

User Flow 6: Filtering Courses by Due Dates

  • Starting Point: User on the course dashboard.
  • Action: User applies filters based on quarterly due dates.
  • Process: System displays courses, filtering them by color codes based on due dates.
  • Validation: Check if courses are filtered and color-coded according to their due dates.
  • Outcome: User easily identifies courses based on their urgency and due date.