Skip to main content

Acceptance test for Feedstack

Introduction

Acceptence testing in Feedstack assesses the project for all functional & nonfunctional requirements. Using a production-like environment, all system components are evaluated in a Continual Integration pipeline. Powered by Docker and Jenkins, automation of the execution of acceptance-testing provides insighht into real-time application behavior to reliably deliver updates.


Continual Integration(CI)

Purpose: The GitHub hook trigger for GITScm polling in Jenkins listens for push events from GitHub, ensuring that the pipeline automatically runs as soon as a change is pushed to the repository, keeping the integration process seamless and continuous.

Implimentation:

When Jenkins receives a GitHub push hook, GitHub Plugin checks to see whether the hook came from a GitHub repository which matches the Git repository defined in SCM/Git section of this job. If they match and this option is enabled, GitHub Plugin triggers a one-time polling on GITScm.


###Groovy Pipeline Script

pipeline {
agent any
stages {
stage('Checkout') {
steps {
// Clone the GitHub repository
git branch: 'JonWorking', url: 'https://github.com/Capstone-Projects-2025-Spring/project-feedstack.git'
}
}

stage('Install Dependencies') {
steps {
dir('Feedstack') {
sh 'pip install -r requirements.txt' // Install dependencies
}
}
}

stage('Run Unit Tests') {
steps {
dir('Feedstack') {
sh 'pytest unit_test.py --junitxml=test-results.xml' //python testing
}
}
}
}
}

1. User Login and Upload

Test Cases:

  • User can successfully log in using an ID.
  • User is blocked from uploading without logging in.
  • After login, user is prompted to upload a design image.
  • System accepts supported image formats (e.g., JPG, PNG).
  • Uploaded image is displayed clearly on the left-hand side.

2. Chatbot Feedback Interaction

Test Cases:

  • Chatbot generates accurate and context-aware feedback after a user query.
  • Chat interface accepts multiline input and handles long queries.
  • GPT-4o API returns feedback within an acceptable response time.
  • Feedback refers to specific design elements in the uploaded image.
  • No hallucinations or feedback errors occur under normal use.

3. Theme Detection and Accordion Generation

Test Cases:

  • Each chatbot response is correctly analyzed for design themes (Accessibility, Visual Hierarchy, etc.).
  • Accurate accordion is generated with the right theme title.
  • Clicking the accordion displays the corresponding feedback summary.
  • Multiple feedback instances under the same theme are listed correctly with summaries.

4. Highlighted Keywords

Test Cases:

  • Key design-related terms are correctly highlighted in the chatbot response.
  • All keywords under each accordion are listed below it accurately.