A comprehensive Software Quality Engineering (SQE) project demonstrating best practices in software testing, code quality analysis, and collaborative development.
This project is a team-based course project for CS397: Software Quality Engineering. It showcases the application of software engineering principles including:
- Boundary Value Analysis (BVA) and Test-Driven Development (TDD)
- Comprehensive Unit and Integration Testing
- Code Coverage Analysis with JaCoCo
- Static Code Analysis with SpotBugs and Checkstyle
- Collaborative Development with Git workflows
- Professional Documentation and project planning
- Language: Java
- Build Tool: Gradle (with Kotlin DSL)
- JDK Version: Java 11+
- Unit Testing: JUnit 5
- Code Coverage: JaCoCo (Java Code Coverage)
- Static Analysis: SpotBugs, Checkstyle
- Build Verification: Gradle wrapper for consistent builds
- Checkstyle configuration for code style enforcement
- SpotBugs configuration for bug detection
- JaCoCo coverage thresholds and reporting
.
├── src/
│ ├── main/ # Application source code
│ └── test/ # Unit and integration tests
├── docs/
│ ├── bva/ # Boundary Value Analysis documentation
│ ├── design/ # Design documents
│ ├── requirements/ # Requirements specifications
│ └── weekly-reports/ # Project progress reports
├── config/
│ ├── checkstyle/ # Checkstyle configuration
│ ├── spotbugs/ # SpotBugs configuration
│ └── xsl/ # Report transformations
├── gradle/ # Gradle wrapper
├── build.gradle.kts # Gradle build configuration
└── settings.gradle.kts # Gradle settings
- Java 11 or higher
- Git
# Build the project
./gradlew build
# Run tests
./gradlew test
# Generate code coverage report
./gradlew jacocoTestReport
# Run static analysis
./gradlew check
# Build and run all quality checks
./gradlew build checkThis project implements rigorous quality standards:
- Comprehensive unit tests using JUnit 5
- Integration tests for component interactions
- JaCoCo code coverage reporting with configurable thresholds
- Checkstyle: Enforces consistent code formatting and style
- SpotBugs: Detects potential bugs and anti-patterns
- Both tools are integrated into the build process
- Boundary Value Analysis documents for test strategies
- Design documents for architectural decisions
- Requirements specifications for feature definitions
- Weekly progress reports tracking project advancement
This project was developed as a collaborative effort demonstrating professional software engineering practices.
- Test Results:
build/test-results/ - Code Coverage:
build/reports/jacoco/ - SpotBugs Report:
build/reports/spotbugs/ - Checkstyle Report:
build/reports/checkstyle/
- Requirements Analysis - Documented in
docs/requirements/ - Design Phase - Documented in
docs/design/ - Boundary Value Analysis - Detailed in
docs/bva/ - Test-Driven Development - Tests written before implementation
- Code Review & Quality Checks - Automated via Gradle
- Progress Tracking - Weekly reports in
docs/weekly-reports/
This project demonstrates proficiency in:
- Test design using boundary value analysis
- Test-Driven Development practices
- Code coverage analysis and improvement
- Application of quality assurance tools
- Professional software development practices
- Collaborative team development
- Caleb Weldon
- Benjamin Ye
- Eiko Reisz
- Samarth Arul
- JDK 11
- JUnit 5.10
- Gradle 8.10