Skip to content

SWE-Team-9/Testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎧 SoundCloud Clone – Testing Documentation

SWE S2026 – Testing Team


1️⃣ Overview

Testing folder links: https://drive.google.com/drive/folders/1MD-iqq1I30gbbOU9IJQSvQQUJhHxjcpf https://drive.google.com/drive/folders/1Wlpa510QSLc3mRfsmD1_zA_KcITCopR7

This document describes the Testing Strategy, Tools, Coverage Plan, and Testing Scope for the Social Streaming Platform (SoundCloud Clone).

The Testing Team is responsible for:

  • End-to-End (E2E) Testing (β‰₯90% coverage)
  • Stress Testing
  • API Validation Testing
  • Cross-platform testing
  • Regression Testing before each phase delivery
  • Direct & Corner Case Testing

2️⃣ Testing Strategy

We follow:

  • Incremental Model (Sprint-based testing)
  • Test early, test continuously
  • Black-box testing for E2E
  • API-level validation testing
  • Stress testing before each phase delivery
  • Regression testing in the final 4 days (push disabled)

3️⃣ Planned Testing Tools

Purpose Tool Reason
E2E Web Testing Cypress Fast and reliable browser automation
E2E Cross-platform Appium / Playwright Android/Desktop automation
API Testing Postman + Newman REST validation
Load Testing JMeter / k6 Stress & concurrency testing
CI Integration GitHub Actions Automated test execution
Test Reports Mochawesome / Allure Detailed reporting

πŸ“¦ Module-Based Testing Plan


πŸ” Module 1: Authentication & User Management

Testing Types:

  • E2E
  • API Testing
  • Security Testing
  • Token Validation

Planned Tools:

  • Cypress
  • Postman
  • k6

Coverage Includes:

  • Valid Registration
  • Invalid Email format
  • Weak password
  • CAPTCHA bypass attempt
  • Email verification flow
  • Login (valid/invalid)
  • JWT expiration & refresh token
  • Password reset flow
  • Google OAuth flow

πŸ‘€ Module 2: User Profile & Social Identity

Testing Types:

  • E2E
  • Boundary Testing

Planned Tools:

  • Cypress
  • Postman

Coverage Includes:

  • Edit bio (boundary testing)
  • Upload avatar
  • Upload cover photo
  • Switch account type
  • Public vs Private profile
  • External links validation

πŸ‘₯ Module 3: Followers & Social Graph

Testing Types:

  • Functional E2E
  • Concurrency testing

Planned Tools:

  • Cypress
  • k6

Coverage Includes:

  • Follow / Unfollow
  • Feed auto-update
  • Block user
  • Blocked user restrictions
  • Suggested users logic

🎡 Module 4: Audio Upload & Track Management

Testing Types:

  • File validation
  • Boundary testing
  • Performance testing

Planned Tools:

  • Cypress
  • Postman
  • JMeter

Coverage Includes:

  • Upload MP3
  • Upload WAV
  • Invalid format rejection
  • Large file handling
  • Metadata validation
  • Visibility toggle
  • Processing β†’ Finished state
  • Waveform rendering

β–Ά Module 5: Playback & Streaming Engine

Testing Types:

  • Functional E2E
  • Performance Testing

Planned Tools:

  • Cypress
  • k6

Coverage Includes:

  • Play / Pause / Seek
  • Volume control
  • Recently Played tracking
  • Streaming under load
  • Region/Tier restrictions

❀️ Module 6: Engagement & Social Interactions

Testing Types:

  • Functional Testing
  • Edge Case Testing

Planned Tools:

  • Cypress

Coverage Includes:

  • Like / Unlike
  • Repost
  • Timestamped comment
  • Comment boundaries
  • Engagement count accuracy

πŸ“‚ Module 7: Sets & Playlists

Testing Types:

  • CRUD Testing
  • Security Testing

Planned Tools:

  • Cypress
  • Postman

Coverage Includes:

  • Create playlist
  • Edit playlist
  • Delete playlist
  • Add/Remove tracks
  • Reorder tracks
  • Private playlist access
  • Secret token validation

πŸ” Module 8: Feed, Search & Discovery

Testing Types:

  • Functional Testing
  • Performance Testing

Planned Tools:

  • Cypress
  • k6

Coverage Includes:

  • Feed updates
  • Search by title
  • Search by tags
  • Trending logic
  • Resource resolver

πŸ’¬ Module 9: Messaging & Track Sharing

Testing Types:

  • E2E
  • Real-time testing

Planned Tools:

  • Cypress

Coverage Includes:

  • Send/Receive message
  • Unread counter
  • Share track in chat
  • Block messaging

πŸ”” Module 10: Real-Time Notifications

Testing Types:

  • Event-based testing

Planned Tools:

  • Cypress

Coverage Includes:

  • New follower notification
  • Like notification
  • Comment notification
  • Mark as read
  • Unread counter accuracy

πŸ›‘ Module 11: Moderation & Admin Dashboard

Testing Types:

  • Role-based access testing
  • Security testing

Planned Tools:

  • Cypress
  • Postman

Coverage Includes:

  • Report track
  • Admin remove track
  • Suspend account
  • Analytics visibility
  • Role authorization checks

πŸ’Ž Module 12: Premium Subscription (Pro/Go+)

Testing Types:

  • Payment flow testing
  • Business rule validation

Planned Tools:

  • Cypress
  • Stripe Test Mode
  • Postman

Coverage Includes:

  • Free plan upload limit
  • Premium unlimited uploads
  • Mock payment success/failure
  • Subscription upgrade/downgrade
  • Offline download availability

πŸš€ Stress Testing Plan

We simulate:

  • 100+ concurrent logins
  • 100+ streaming sessions
  • Parallel uploads
  • Search spikes
  • Feed refresh load

Tools:

  • k6
  • JMeter

πŸ” Planned CI/CD Pipeline

  • Automated tests will run on Pull Requests
  • E2E tests must pass before merge approval
  • Coverage target will be maintained β‰₯90%

πŸ“Š Coverage Target

Platform Target
Web E2E β‰₯90%
Cross Platform β‰₯90%
Critical Flows 100%

πŸ“ Folder Structure

/testing β”œβ”€β”€ e2e/ β”œβ”€β”€ api/ β”œβ”€β”€ stress/ β”œβ”€β”€ selectors/ β”œβ”€β”€ reports/ └── README.md

All selectors are stored separately as required by project rules.


Risk-Based Testing Focus

High-Risk Areas:

  • Authentication
  • File Upload
  • Payment System
  • Streaming Engine

These modules receive priority regression and stress testing.


🏁 Final Phase Strategy

During the final 4 days:

  • Full regression testing
  • Full stress testing
  • No pushes allowed
  • Final bug report submission

Testing Team

Youssef Sherif Amin β€” Testing Team Leader

Responsibilities:

  • Designing and maintaining the overall testing strategy
  • Managing End-to-End (E2E) testing architecture
  • Integrating automated tests with CI/CD pipelines
  • Supervising regression testing before each phase delivery
  • Coordinating testing activities with other teams
  • Ensuring required testing coverage targets are met

Feras Ashraf β€” Software Test Engineer

Responsibilities:

  • Implementing API validation tests
  • Assisting in End-to-End (E2E) test automation
  • Performing stress and load testing
  • Executing automated test suites
  • Identifying and reporting bugs and edge cases
  • Supporting regression testing and test documentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors