Complete game repository with development docs, testing guide, and project configuration
This commit is contained in:
2
LICENSE
2
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
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
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
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
Software.
|
||||||
11
package.json
11
package.json
@@ -9,8 +9,7 @@
|
|||||||
"test": "echo \"Run manual tests - see tests/manual-testing.md\"",
|
"test": "echo \"Run manual tests - see tests/manual-testing.md\"",
|
||||||
"build": "echo \"No build step required - single HTML file\"",
|
"build": "echo \"No build step required - single HTML file\"",
|
||||||
"deploy": "echo \"Copy index.html to hosting platform\"",
|
"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",
|
"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"
|
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -24,16 +23,14 @@
|
|||||||
"neural-network",
|
"neural-network",
|
||||||
"javascript",
|
"javascript",
|
||||||
"web-game",
|
"web-game",
|
||||||
"brain-training",
|
"brain-training"
|
||||||
"modern",
|
|
||||||
"responsive"
|
|
||||||
],
|
],
|
||||||
"author": "Anders Lehmann Pier",
|
"author": "Anders Pier",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/AndersPier/neural-nexus-game/issues"
|
"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": {
|
"devDependencies": {
|
||||||
"http-server": "^14.1.1",
|
"http-server": "^14.1.1",
|
||||||
"lighthouse": "^10.4.0"
|
"lighthouse": "^10.4.0"
|
||||||
|
|||||||
318
tests/manual-testing.md
Normal file
318
tests/manual-testing.md
Normal file
@@ -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:** ________________________________
|
||||||
Reference in New Issue
Block a user