Skip to content

Repository files navigation

JPetStore Testing Assignment 🐾

ISYS2092|ISYS3397 - Software Testing
RMIT University Vietnam - School of Science and Technology

📋 Project Overview

This project contains comprehensive test planning and automation for the JPetStore application, developed as Assignment 1 for the Software Testing course. The project demonstrates professional testing practices using Katalon Studio Enterprise integrated with Jira for test management.

🎯 Project Objectives

  • Create detailed user stories with acceptance criteria
  • Develop comprehensive test cases following IEEE 829 standards
  • Implement test automation using Katalon Studio
  • Integrate with Jira for professional test management
  • Demonstrate complete test coverage across positive, negative, and boundary scenarios

👤 Student Information

  • Student: Huynh Ngoc Duy
  • Student ID: s3924704
  • Due Date: 23:59, 16th Aug 2025
  • Course: ISYS2092|ISYS3397 - Software Testing

🏗️ Project Structure

JPetStore_Testing_Assignment_1/
├── Test Cases/                    # Individual test case files (.tc)
│   ├── JPET-7 Test Case 1 Verify user can navigate to and view fish category.tc
│   ├── JPET-8 Test Case 2 Verify system handles invalid category access gracefully.tc
│   ├── JPET-9 Test Case 3 Verify navigation through available product categories.tc
│   ├── JPET-10 Test Case 4 Verify search returns correct results for valid pet names.tc
│   ├── JPET-11 Test Case 5 Verify search handles non-existent products gracefully.tc
│   ├── JPET-12 Test Case 6 Verify search behavior with empty and special characters.tc
│   ├── JPET-13 Test Case 7 Verify user can add products to cart successfully.tc
│   ├── JPET-14 Test Case 8 Verify user can remove items from shopping cart.tc
│   ├── JPET-15 Test Case 9 Verify cart handles quantity updates at maximum limits.tc
│   ├── JPET-16 Test Case 10 Verify product detail page displays accurate information.tc
│   ├── JPET-17 Test Case 11 Verify system handles invalid product IDs gracefully.tc
│   ├── JPET-18 Test Case 12 Verify all required product information fields are present.tc
│   ├── JPET-19 Test Case 13 Verify user can successfully complete checkout process.tc
│   ├── JPET-20 Test Case 14 Verify system prevents checkout with invalid payment information.tc
│   └── JPET-21 Test Case 15 Verify complete checkout process maintains data integrity.tc
├── Test Suites/                   # Test suite collections
├── Object Repository/             # Web element repositories
├── Data Files/                    # Test data files
├── Keywords/                      # Custom keywords and functions
├── Test Listeners/                # Test execution listeners
├── Checkpoints/                   # Verification checkpoints
├── Reports/                       # Test execution reports
├── Profiles/                      # Execution profiles
├── Include/                       # Additional resources
├── Plugins/                       # Katalon plugins
├── .gitignore                     # Git ignore file
├── build.gradle                   # Build configuration
├── console.properties             # Console properties
└── README.md                      # This file

📖 User Stories

The project covers 5 comprehensive user stories:

🔍 User Story 1: Product Catalog Browsing

As a potential customer
I want to browse different pet categories and their products
So that I can discover various pets available for purchase

🔎 User Story 2: Product Search Functionality

As a customer
I want to search for specific pets or products
So that I can quickly find what I'm looking for

🛒 User Story 3: Shopping Cart Management

As a customer
I want to add, remove, and modify items in my shopping cart
So that I can manage my purchases before checkout

📄 User Story 4: Product Information Display

As a customer
I want to view detailed product information
So that I can make informed purchasing decisions

💳 User Story 5: Complete Checkout Process

As a customer
I want to complete my purchase through a secure checkout process
So that I can successfully buy my selected items

🧪 Test Coverage

Test Case Distribution

User Story Positive Tests Negative Tests Boundary Tests Total Tests
US1: Product Catalog 101 102 103 3
US2: Product Search 201 202 203 3
US3: Shopping Cart 301 302 303 3
US4: Product Info 401 402 403 3
US5: Checkout 501 502 503 3
Total 5 5 5 15

Test Categories

  • Positive Testing: Valid user scenarios and expected behaviors
  • Negative Testing: Invalid inputs and error handling
  • 🔍 Boundary Testing: Edge cases and limit testing

🛠️ Tools & Technologies

Testing Tools

  • Katalon Studio Enterprise 10.2.3 - Test automation platform
  • Jira - Test case management and project tracking
  • Microsoft Edge - Primary test browser
  • macOS - Test execution environment

Integration Features

  • Jira Integration: All test cases are integrated with Jira for professional test management
  • Git Version Control: Complete project versioning and collaboration support
  • Automated Reporting: Built-in test execution reports and analytics

🚀 Getting Started

Prerequisites

  • Katalon Studio Enterprise (version 10.2.3 or later)
  • Jira account with project access
  • Web browser (Microsoft Edge recommended)
  • Git for version control

Installation & Setup

  1. Clone the repository:

    git clone https://github.com/duyhnynh/Assignment-1-Software-Testing.git
    cd JPetStore_Testing_Assignment_1
  2. Open in Katalon Studio:

    • Launch Katalon Studio Enterprise
    • Select "Open Project"
    • Navigate to the cloned project folder
    • Click "OK" to open
  3. Configure Jira Integration:

    • Go to Project → Settings → Jira Integration
    • Enter your Jira credentials and project details
    • Verify connection and sync test cases
  4. Set up Test Environment:

    • Ensure JPetStore application is accessible
    • Configure browser preferences in Katalon Studio
    • Update any environment-specific configurations

Running Tests

Individual Test Case Execution

# Run a specific test case
katalon -noSplash -runMode=console -projectPath="path/to/project" -testCasePath="Test Cases/JPET-7 Test Case 1"

Test Suite Execution

# Run complete test suite
katalon -noSplash -runMode=console -projectPath="path/to/project" -testSuitePath="Test Suites/JPetStore_Complete_Suite"

Batch Execution

  • Use Katalon Studio GUI for interactive test execution
  • Configure test suites for different testing phases
  • Generate comprehensive test reports

📊 Test Results & Reporting

Report Generation

  • HTML Reports: Comprehensive test execution reports with screenshots
  • Jira Integration: Automatic test result synchronization
  • Custom Analytics: Detailed test metrics and trends

Key Metrics

  • Total Test Cases: 15
  • Coverage Areas: 5 user stories
  • Test Types: Positive, Negative, Boundary
  • Automation Level: 100% automated

📚 Documentation

Available Documents

  • Complete Test Plan: Detailed test planning document
  • User Stories: Comprehensive user story documentation with acceptance criteria
  • Test Cases: IEEE 829 standard test case templates
  • Jira Integration Guide: Step-by-step integration instructions

Standards & Best Practices

  • IEEE 829: Test case documentation standard
  • Agile Testing: User story-driven test development
  • Continuous Integration: Git-based version control
  • Professional Reporting: Comprehensive test documentation

🎯 Key Features

Professional Test Management

  • ✅ Complete Jira integration for enterprise-level test management
  • ✅ Comprehensive traceability between user stories and test cases
  • ✅ Professional test reporting and analytics
  • ✅ Version-controlled test assets

Comprehensive Coverage

  • ✅ End-to-end JPetStore application testing
  • ✅ Multi-category test coverage (positive, negative, boundary)
  • ✅ Complete user journey testing
  • ✅ Error handling and edge case validation

Automation Excellence

  • ✅ 100% automated test execution
  • ✅ Reusable test components and keywords
  • ✅ Maintainable object repository structure
  • ✅ Scalable test framework architecture

🤝 Contributing

This is an academic project for RMIT University. For any questions or discussions about the testing approach:

  1. Review the test documentation
  2. Check the Jira project for detailed requirements
  3. Examine individual test cases for implementation details

📄 License

This project is created for educational purposes as part of the RMIT University Software Testing course (ISYS2092|ISYS3397).

🏆 Assessment Declaration

"I declare that in submitting all work for this assessment, I have read, understood, and agree to the content and expectations of the Assessment declaration."


📞 Contact Information

Student: Huynh Ngoc Duy
Student ID: s3924704
Email: s3924704@rmit.edu.vn
Course: ISYS2092|ISYS3397 - Software Testing
Institution: RMIT University Vietnam


🎓 RMIT University Vietnam - School of Science and Technology
Excellence in Software Testing Education

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages