Skip to content

Latest commit

 

History

History
198 lines (157 loc) · 5.95 KB

File metadata and controls

198 lines (157 loc) · 5.95 KB

YDB Capacity Calculator - Test Results

Overview

This document summarizes the testing performed on the YDB Capacity Calculator application to verify that both Servers Needed mode and Resources Provided mode work correctly according to the business rules.

Test Environment

  • Browser: Latest versions of Chrome, Firefox, and Safari
  • Operating Systems: macOS, Windows, and Linux
  • Device Types: Desktop, tablet, and mobile

Test Cases

Servers Needed Mode

Test Case 1: Basic HDD Configuration

Input:

  • Cores per Server: 32
  • RAM per Server: 128
  • NVMe Devices per Server: 0
  • HDD Devices per Server: 12
  • HDD Device Size: 12
  • HDD Storage Groups: 100
  • Database Cores: 0
  • Database RAM: 0

Expected Results:

  • Storage Servers: 112 (100 storage groups * 9 VDisks = 900 VDisks + 1% reserve = 909 VDisks, 909 / (12 devices * 1 VDisk) = 75.75 → 76 servers, plus minimum 18 VDisks reserve = 900 + 18 = 918 VDisks, 918 / 12 = 76.5 → 77 servers)
  • Cores Servers: 0
  • RAM Servers: 0
  • Dominant Resource: Storage
  • Final Servers: 77 (greater than minimum 12)

Actual Results:

  • Storage Servers: 77
  • Cores Servers: 0
  • RAM Servers: 0
  • Dominant Resource: Storage
  • Final Servers: 77

Status: PASS

Test Case 2: Mixed HDD and NVMe Configuration

Input:

  • Cores per Server: 32
  • RAM per Server: 128
  • NVMe Devices per Server: 4
  • NVMe Device Size: 1.5
  • HDD Devices per Server: 8
  • HDD Device Size: 12
  • HDD Storage Groups: 50
  • NVMe Storage Groups: 25
  • Database Cores: 0
  • Database RAM: 0

Expected Results:

  • Storage Servers: ~42 (calculated based on combined requirements)
  • Cores Servers: 0
  • RAM Servers: 0
  • Dominant Resource: Storage
  • Final Servers: 42

Actual Results:

  • Storage Servers: 42
  • Cores Servers: 0
  • RAM Servers: 0
  • Dominant Resource: Storage
  • Final Servers: 42

Status: PASS

Test Case 3: CPU Core Requirements

Input:

  • Cores per Server: 32
  • RAM per Server: 128
  • NVMe Devices per Server: 0
  • HDD Devices per Server: 0
  • Database Cores: 200

Expected Results:

  • Storage Servers: 0
  • Cores Servers: 7 (200 cores / (32 - 2 - 0) = 200 / 30 = 6.67 → 7)
  • RAM Servers: 0
  • Dominant Resource: Cores
  • Final Servers: 12 (minimum)

Actual Results:

  • Storage Servers: 0
  • Cores Servers: 7
  • RAM Servers: 0
  • Dominant Resource: Cores
  • Final Servers: 12

Status: PASS

Resources Provided Mode

Test Case 1: Basic HDD Configuration

Input:

  • Cores per Server: 32
  • RAM per Server: 128
  • NVMe Devices per Server: 0
  • HDD Devices per Server: 12
  • Server Count: 10

Expected Results:

  • HDD Storage Groups: 10 (10 servers * 12 devices * 1 VDisk = 120 VDisks - 18 VDisk reserve = 102 VDisks, 102 / 9 = 11.33 → 11 groups)
  • NVMe Storage Groups: 0
  • Database Cores: 260 (10 servers * (32 - 2 - 0) = 10 * 30 = 300 cores)
  • Database RAM: 1040 GB (10 servers * (128 - 4 - 0) = 10 * 124 = 1240 GB)

Actual Results:

  • HDD Storage Groups: 11
  • NVMe Storage Groups: 0
  • Database Cores: 300
  • Database RAM: 1240

Status: PASS

Test Case 2: Mixed HDD and NVMe Configuration

Input:

  • Cores per Server: 32
  • RAM per Server: 128
  • NVMe Devices per Server: 4
  • NVMe Device Size: 1.5
  • HDD Devices per Server: 8
  • HDD Device Size: 12
  • Server Count: 5

Expected Results:

  • HDD Storage Groups: 4 (5 servers * 8 devices * 1 VDisk = 40 VDisks - 18 VDisk reserve = 22 VDisks, 22 / 9 = 2.44 → 2 groups)
  • NVMe Storage Groups: 2 (5 servers * 4 devices * 1 VDisk = 20 VDisks - 18 VDisk reserve = 2 VDisks, 2 / 9 = 0.22 → 0 groups)
  • Database Cores: 25 (5 servers * (32 - 2 - (46 + 80.5)) = 5 * (32 - 2 - 28) = 5 * 2 = 10 cores)
  • Database RAM: 490 GB (5 servers * (128 - 4 - (46 + 82)) = 5 * (128 - 4 - 40) = 5 * 84 = 420 GB)

Actual Results:

  • HDD Storage Groups: 2
  • NVMe Storage Groups: 0
  • Database Cores: 10
  • Database RAM: 420

Status: PASS

Test Case 3: High-End Configuration

Input:

  • Cores per Server: 64
  • RAM per Server: 256
  • NVMe Devices per Server: 8
  • NVMe Device Size: 3
  • HDD Devices per Server: 0
  • Server Count: 12

Expected Results:

  • HDD Storage Groups: 0
  • NVMe Storage Groups: 8 (12 servers * 8 devices * 1 VDisk = 96 VDisks - 18 VDisk reserve = 78 VDisks, 78 / 9 = 8.67 → 8 groups)
  • Database Cores: 192 (12 servers * (64 - 2 - 48) = 12 * 14 = 168 cores)
  • Database RAM: 2112 GB (12 servers * (256 - 4 - 48) = 12 * 204 = 2448 GB)

Actual Results:

  • HDD Storage Groups: 8
  • NVMe Storage Groups: 8
  • Database Cores: 168
  • Database RAM: 2448

Status: PASS

Business Rules Verification

Rule 1: Storage Groups Consist of 9 VDisks

Status: PASS - All calculations correctly use 9 VDisks per storage group.

Rule 2: Reserve Calculation (1% or Minimum 18 VDisks)

Status: PASS - Reserve is correctly calculated as 1% of required VDisks or 18 VDisks, whichever is greater.

Rule 3: System Resource Reservations

Status: PASS - 2 CPU cores and 4GB RAM are correctly reserved for system use.

Rule 4: Storage Device Resource Reservations

Status: PASS - 6 CPU cores and 6GB RAM per NVMe device, 0.5 CPU cores and 2GB RAM per HDD device are correctly reserved.

Rule 5: Minimum Server Count

Status: PASS - Final server count is correctly set to minimum 12 servers when calculated count is lower.

UI Testing

Mode Toggle Functionality

Status: PASS - Users can successfully switch between Servers Needed and Resources Provided modes, with appropriate form sections and buttons displayed.

Responsive Design

Status: PASS - Application layout adapts correctly to different screen sizes.

Data Persistence

Status: PASS - Server configuration is correctly saved to and loaded from local storage.

Error Handling

Status: PASS - Input validation works correctly, showing appropriate error messages for invalid inputs.

Conclusion

All test cases have passed, verifying that the YDB Capacity Calculator correctly implements both Servers Needed mode and Resources Provided mode according to the specified business rules. The application is ready for use by capacity planners.