- Project Description
- Project Structure
- Technologies Used
- Installation
- Usage
- Dependencies
- User Stories & Test Scenarios
- Test Coverage Table
- Test Reports
- Bug Reports
- Project Team
- GitHub Links
- License
- Contact
This project includes automated UI tests for the Campus Education System available at test.mersys.io. Our goal is to verify the accuracy of all critical functions from the student's perspective to ensure usability and system stability.
The project is developed using Java, Selenium WebDriver, Cucumber, TestNG, and the Page Object Model ( POM) structure. User stories, scenarios, and test steps are thoroughly documented.
Note: This project was completed by a team of 9 interns. The project involved working with Agile methodology in a 2-week sprint and complied with all Scrum processes.
CampusProject/
├── src/
│ ├──── test/
│ │ ├── java/
│ │ │ ├── featureFiles/ # .feature files in Gherkin format
│ │ │ ├── hooks/ # Cucumber Hooks
│ │ │ ├── pages/ # Page Object Model classes
│ │ │ ├── runners/ # TestNG runners
│ │ │ ├── stepDefinitions/ # Step definitions
│ │ │ └── utilities/ # Driver, ConfigReader, etc.
│ │ │
│ │ └── resources/
│ │ └── extent.properties # Report configurations
│ │
│ └── testGIF/ # GIFs for test scenarios
│
├── docs/ # Documentation files
│ ├── avatar01/ # Profile avatars photo
│ ├── avatar02/ # Profile avatars photo
│ ├── bugGIF/ # GIFs demonstrating bugs
│ └── bugReportsPDF/ # PDF files for bug reports
│
├── testReports/ # HTML & PDF reports
├── configuration.properties # Environment configuration
├── pom.xml # Maven dependencies
└── README.md # Documentation file
| Technology / Library | Description |
|---|---|
| Java JDK 21 | Programming language |
| Selenium WebDriver 4.33.0 | UI test automation |
| Cucumber 7.20.0 | BDD scenario management |
| TestNG 7.10.2 | Test framework |
| ExtentReports Cucumber7 Adapter | HTML + PDF reporting |
| Apache POI 4.1.0 | Excel operations |
| JavaFaker 1.0.2 | Fake data generation |
| DataFaker 2.3.0 | Fake data generation |
| Maven | Build and dependency management |
-
Clone the project:
git clone https://github.com/zaferatakli/CampusProject.git
-
Open the project with IntelliJ IDEA or your preferred IDE.
-
Load Maven dependencies:
mvn clean install
To run all tests:
mvn testAll dependencies are defined in the pom.xml file and managed automatically by Maven.
All stories in the Campus User Story document have been tested. Each serves the following purposes:
- US-001 Login: Ensures the student can log in to the system.
- US-002 Home - Logo Click: Verifies redirection to the homepage when clicking the logo.
- US-003 Home - Main Menu: Checks functionality of all menu buttons on the homepage.
- US-004 Messaging View: Verifies accessibility of message links from the hamburger menu.
- US-005 Sending New Message: Ensures a student can create and send messages via the system.
- US-006 Deleting Message: Tests moving sent messages to the trash folder.
- US-007 Trash Operations: Allows deleted messages to be restored or permanently deleted.
- US-008 Finance Page: Tests access to online payment transactions.
- US-009 Paying for Course: Verifies that the student can make course payments.
- US-010 Debt Update After Payment: Ensures debt balance updates after a successful payment.
- US-011 Stripe Payment: Tests making payments using the Stripe infrastructure.
- US-012 Downloading Financial Reports: Allows downloading financial info as Excel/PDF.
- US-013 Submit Excuse Note: Lets students notify the system of absence from class.
- US-014 Upload Profile Photo: Enables uploading and updating a profile photo.
- US-015 Theme Selection: Allows users to personalize the interface via themes.
- US-016 View Grades and Transcript: Lets students view their grades and transcript.
- US-017 Download Grades as PDF: Enables downloading grades as a PDF document.
- US-018 View Assignment List: Lists all assigned tasks for the student.
- US-019 Start Assignment Discussion: Enables starting a discussion related to an assignment.
- US-020 Assignment Shortcut Buttons: Verifies functionality of quick action buttons.
- US-021 Submit Assignment: Allows students to upload and submit assignments.
- US-022 Assignment Search & Filtering: Tests search and sorting among assigned tasks.
- US-023 Calendar - Course Status: Displays published, upcoming, and finished course statuses.
- US-024 Calendar - Prevent Access to Unstarted Course: Ensures students can't access unstarted classes.
- US-025 Access to Completed Class Materials: Allows viewing videos and content from completed classes.
| Module | Number of Stories | Test Status |
|---|---|---|
| Login | 1 | ✅ Passed |
| Home | 2 | ✅ Passed |
| Messaging | 4 | ✅ Passed |
| Finance | 5 | ✅ Passed |
| Attendance | 1 | ✅ Passed |
| Profile | 2 | ✅ Passed |
| Grading | 2 | ❌ Failed |
| Assignments | 5 | ✅ Passed |
| Calendar | 3 | ❌ Failed |
Test results are automatically generated in the following folders:
testReports/SparkReport/(HTML)testReports/PDFReport/(PDF)
- US-023 Calendar - Course Status: The course status and details are not displayed correctly.
- US-024 Calendar - Prevent Access to Unstarted Course: The system allows access to unstarted courses.
- Bug Report: docs/bugReportsPDF/US023-US024_BugTicket.pdf
- US-016, US-017 View Grades and Transcript: The grading feature does not function as expected.
- Bug Report: docs/bugReportsPDF/US-16_US-17_GradingFeatureBugTicket.pdf
| Name | Role | Responsible Modules |
|---|---|---|
| Zafer Atakli | Project Lead/QA Engineer | US_01,02,03,15,23,24,25 |
| Tugba Kilic | QA Engineer | US_08,09,10 |
| Nuri Öztürk | QA Engineer | US_04,05,06,07,22 |
| Rıfat Batır | QA Engineer | US_11,12 |
| Yiğit Çam | QA Engineer | US_18,19,20 |
| Azim Korkmaz | QA Engineer | US_21 |
| Mert Can Ozdemir | QA Engineer | US_16,17 |
| Sibel Oztemel | QA Engineer | US_13 |
| Eren Icinozbebek | QA Engineer | US_14 |
Contributors:
- Zafer Ataklı
- Rıfat Batır
- Yiğit Çam
- Tugba Kilic
- Nuri Öztürk
- Azim Korkmaz
- Mert Can Özdemir
- Sibel Öztemel
- Eren Icinozbebek
The tested website https://test.mersys.io/ belongs to Techno Study's education platform. This project is created strictly for educational and internal testing purposes. It is not intended for commercial use.


