diff --git a/LICENSE b/LICENSE index 1ebdb18..5337515 100644 --- a/LICENSE +++ b/LICENSE @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +Software. \ No newline at end of file diff --git a/package.json b/package.json index 1894419..6b48a74 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,7 @@ "test": "echo \"Run manual tests - see tests/manual-testing.md\"", "build": "echo \"No build step required - single HTML file\"", "deploy": "echo \"Copy index.html to hosting platform\"", - "lighthouse": "npx lighthouse http://localhost:8000 --output=json --output-path=tests/performance-logs/lighthouse-$(date +%Y%m%d).json", - "start": "python -m http.server 8000" + "lighthouse": "npx lighthouse http://localhost:8000 --output=json --output-path=tests/performance-logs/lighthouse-$(date +%Y%m%d).json" }, "repository": { "type": "git", @@ -24,16 +23,14 @@ "neural-network", "javascript", "web-game", - "brain-training", - "modern", - "responsive" + "brain-training" ], - "author": "Anders Lehmann Pier", + "author": "Anders Pier", "license": "MIT", "bugs": { "url": "https://github.com/AndersPier/neural-nexus-game/issues" }, - "homepage": "https://andersPier.github.io/neural-nexus-game/", + "homepage": "https://github.com/AndersPier/neural-nexus-game#readme", "devDependencies": { "http-server": "^14.1.1", "lighthouse": "^10.4.0" diff --git a/tests/manual-testing.md b/tests/manual-testing.md new file mode 100644 index 0000000..2ec1dd9 --- /dev/null +++ b/tests/manual-testing.md @@ -0,0 +1,318 @@ +# Manual Testing Guide - Neural Nexus + +## Testing Environment Setup + +### Required Devices +- **Desktop**: Windows/Mac/Linux with modern browsers +- **Mobile**: iPhone (iOS 14+), Android (Chrome 90+) +- **Tablet**: iPad, Android tablet + +### Required Browsers +- Chrome 90+ +- Firefox 88+ +- Safari 14+ +- Edge 90+ + +## Core Functionality Tests + +### Game Loading (5 minutes) + +#### Test 1.1: Initial Load +**Steps:** +1. Open game URL in fresh browser tab +2. Measure load time from URL entry to playable state +3. Check browser console for errors + +**Expected:** +- Game loads in <3 seconds on good connection +- No JavaScript errors in console +- All UI elements visible and properly styled +- "START NEURAL LINK" button is interactive + +**Pass/Fail:** ______ +**Notes:** ________________________________ + +#### Test 1.2: Responsive Design +**Steps:** +1. Test at different viewport sizes: + - 320px (mobile) + - 768px (tablet) + - 1200px (desktop) + - 1920px (large desktop) +2. Check element positioning and readability + +**Expected:** +- All elements remain accessible at all sizes +- Text remains readable +- Touch targets are minimum 44px on mobile +- No horizontal scrolling + +**Pass/Fail:** ______ +**Notes:** ________________________________ + +### Node Connection Mechanics (10 minutes) + +#### Test 2.1: Basic Connections +**Steps:** +1. Start game +2. Click and drag from one node to another +3. Release on target node +4. Repeat with different node combinations + +**Expected:** +- Drag preview line appears during drag +- Connection creates solid colored line on success +- Particle effects trigger on successful connection +- Invalid connections (self, duplicates) show feedback + +**Pass/Fail:** ______ +**Notes:** ________________________________ + +#### Test 2.2: Touch Controls (Mobile Only) +**Steps:** +1. Use finger to drag between nodes +2. Test with different finger positions +3. Try rapid consecutive connections +4. Test multi-touch scenarios + +**Expected:** +- Touch drag works as smoothly as mouse +- No accidental zooming or scrolling +- Single touch only (multi-touch ignored) +- Responsive to finger movement + +**Pass/Fail:** ______ +**Notes:** ________________________________ + +### Level Progression (15 minutes) + +#### Test 3.1: Level Completion +**Steps:** +1. Complete first level by matching all dotted connections +2. Observe level complete animation +3. Verify automatic progression to next level +4. Check score calculation + +**Expected:** +- Level complete message appears +- Score increases correctly (base + time bonus) +- New level generates with increased difficulty +- Timer resets appropriately + +**Pass/Fail:** ______ +**Notes:** ________________________________ + +#### Test 3.2: Timer and Game Over +**Steps:** +1. Start level and let timer run to zero +2. Observe game over behavior +3. Check restart functionality + +**Expected:** +- Game over alert appears when timer reaches 0 +- Final score is displayed +- Game can be restarted from beginning +- No crashes or hanging state + +**Pass/Fail:** ______ +**Notes:** ________________________________ + +## Performance Tests (10 minutes) + +### Test 4.1: Frame Rate +**Tools:** Browser DevTools Performance tab +**Steps:** +1. Open DevTools Performance tab +2. Start recording +3. Play game for 60 seconds with active connections +4. Stop recording and analyze + +**Expected:** +- Consistent 60fps on desktop +- Minimum 30fps on mobile +- No frame drops during animations +- Memory usage stable (<100MB) + +**Results:** +- Desktop FPS: ______ +- Mobile FPS: ______ +- Memory Usage: ______ +**Pass/Fail:** ______ + +### Test 4.2: Extended Play +**Steps:** +1. Play continuously for 10+ levels +2. Monitor performance throughout +3. Check for memory leaks or degradation + +**Expected:** +- Performance remains consistent +- No noticeable slowdown over time +- Memory usage stays reasonable +- No crashes or freezing + +**Pass/Fail:** ______ +**Notes:** ________________________________ + +## Cross-Platform Compatibility (20 minutes) + +### Test 5.1: Browser Compatibility +**Test each browser:** + +#### Chrome +- Loading: Pass/Fail +- Gameplay: Pass/Fail +- Performance: Pass/Fail +- Notes: ________________________________ + +#### Firefox +- Loading: Pass/Fail +- Gameplay: Pass/Fail +- Performance: Pass/Fail +- Notes: ________________________________ + +#### Safari +- Loading: Pass/Fail +- Gameplay: Pass/Fail +- Performance: Pass/Fail +- Notes: ________________________________ + +#### Edge +- Loading: Pass/Fail +- Gameplay: Pass/Fail +- Performance: Pass/Fail +- Notes: ________________________________ + +### Test 5.2: Device-Specific Features + +#### Mobile Features +**Steps:** +1. Test in portrait and landscape modes +2. Check touch responsiveness +3. Verify no unwanted browser behaviors (zoom, scroll) + +**Expected:** +- Works well in both orientations +- Touch targets are appropriately sized +- No accidental browser gestures +- Smooth touch interactions + +**Pass/Fail:** ______ +**Notes:** ________________________________ + +#### Desktop Features +**Steps:** +1. Test keyboard navigation (if applicable) +2. Check mouse precision +3. Verify window resizing behavior + +**Expected:** +- Precise mouse control +- Smooth window resizing +- Consistent experience across window sizes + +**Pass/Fail:** ______ +**Notes:** ________________________________ + +## User Experience Tests (15 minutes) + +### Test 6.1: First-Time User Experience +**Steps:** +1. Have someone unfamiliar with game try it +2. Observe without giving instructions +3. Note confusion points or difficulties +4. Time how long to understand mechanics + +**Expected:** +- User understands goal within 30 seconds +- Can successfully make first connection +- Completes first level within 2 minutes +- Wants to continue playing + +**Observations:** +- Time to understand: ______ +- Confusion points: ________________________________ +- Overall reaction: ________________________________ +**Pass/Fail:** ______ + +### Test 6.2: Accessibility +**Steps:** +1. Test with different contrast settings +2. Check with browser zoom at 150% +3. Verify touch target sizes +4. Test with color vision simulation + +**Expected:** +- Playable at high zoom levels +- Adequate color contrast for readability +- Touch targets meet accessibility guidelines +- Game mechanics clear without relying only on color + +**Pass/Fail:** ______ +**Notes:** ________________________________ + +## Edge Cases and Error Handling (10 minutes) + +### Test 7.1: Network Issues +**Steps:** +1. Load game on slow connection +2. Disconnect internet after loading +3. Test with intermittent connection + +**Expected:** +- Graceful loading on slow connections +- Game continues working offline after initial load +- No crashes due to network issues + +**Pass/Fail:** ______ +**Notes:** ________________________________ + +### Test 7.2: Browser Limitations +**Steps:** +1. Test with very old browser versions +2. Test with JavaScript partially disabled +3. Test with Canvas support issues + +**Expected:** +- Graceful degradation on older browsers +- Clear error messages if features unavailable +- No crashes or blank screens + +**Pass/Fail:** ______ +**Notes:** ________________________________ + +## Test Results Summary + +### Overall Assessment +**Total Tests:** ______ +**Passed:** ______ +**Failed:** ______ +**Pass Rate:** ______% + +### Critical Issues Found +1. ________________________________ +2. ________________________________ +3. ________________________________ + +### Minor Issues Found +1. ________________________________ +2. ________________________________ +3. ________________________________ + +### Recommendations +1. ________________________________ +2. ________________________________ +3. ________________________________ + +### Performance Summary +| Device Type | Browser | Load Time | FPS | Memory Usage | Overall | +|-------------|---------|-----------|-----|--------------|----------| +| Desktop | Chrome | | | | | +| Desktop | Firefox | | | | | +| Mobile | Safari | | | | | +| Mobile | Chrome | | | | | + +**Tested By:** ________________________________ +**Date:** ________________________________ +**Game Version:** ________________________________ +**Next Test Date:** ________________________________ \ No newline at end of file