Files
aitbc/cli/tests/GROUP_BASED_TESTING_SUMMARY.md
oib bb5363bebc refactor: consolidate blockchain explorer into single app and update backup ignore patterns
- Remove standalone explorer-web app (README, HTML, package files)
- Add /web endpoint to blockchain-explorer for web interface access
- Update .gitignore to exclude application backup archives (*.tar.gz, *.zip)
- Add backup documentation files to .gitignore (BACKUP_INDEX.md, README.md)
- Consolidate explorer functionality into main blockchain-explorer application
2026-03-06 18:14:49 +01:00

9.6 KiB

AITBC CLI Group-Based Testing Strategy Summary

🎯 GROUP-BASED TESTING IMPLEMENTATION

We have created a group-based testing strategy that organizes CLI tests by usage frequency and command groups, providing targeted testing for different user needs.


📊 Usage Frequency Classification

Frequency Groups Purpose Test Priority
DAILY wallet, client, blockchain, miner, config Core operations CRITICAL
WEEKLY marketplace, agent, auth, test Regular features HIGH
MONTHLY deploy, governance, analytics, monitor Advanced features MEDIUM
OCCASIONAL chain, node, simulate, genesis Specialized operations LOW
RARELY openclaw, advanced, plugin, version Edge cases OPTIONAL

🛠️ Created Group Test Files

🔥 HIGH FREQUENCY GROUPS (DAILY USE)

1. test-group-wallet.py

  • Usage: DAILY - Core wallet operations
  • Commands: 24 commands tested
  • Categories:
    • Core Operations (create, list, switch, info, balance, address)
    • Transaction Operations (send, history, backup, restore)
    • Advanced Operations (stake, unstake, staking-info, rewards)
    • Multisig Operations (multisig-create, multisig-propose, etc.)
    • Liquidity Operations (liquidity-stake, liquidity-unstake)

2. test-group-client.py

  • Usage: DAILY - Job management operations
  • Commands: 14 commands tested
  • Categories:
    • Core Operations (submit, status, result, history, cancel)
    • Advanced Operations (receipt, logs, monitor, track)

3. test-group-blockchain.py

  • Usage: DAILY - Blockchain operations
  • Commands: 15 commands tested
  • Categories:
    • Core Operations (info, status, height, balance, block)
    • Transaction Operations (transactions, validators, faucet)
    • Network Operations (sync-status, network, peers)

4. test-group-miner.py

  • Usage: DAILY - Mining operations
  • Commands: 12 commands tested
  • Categories:
    • Core Operations (register, status, earnings, jobs, deregister)
    • Mining Operations (mine-ollama, mine-custom, mine-ai)
    • Management Operations (config, logs, performance)

📋 Planned Group Test Files

📈 MEDIUM FREQUENCY GROUPS (WEEKLY/MONTHLY USE)

5. test-group-marketplace.py (Planned)

  • Usage: WEEKLY - GPU marketplace operations
  • Commands: 10 commands to test
  • Focus: List, register, bid, status, purchase operations

6. test-group-agent.py (Planned)

  • Usage: WEEKLY - AI agent operations
  • Commands: 9+ commands to test
  • Focus: Agent creation, execution, network operations

7. test-group-auth.py (Planned)

  • Usage: WEEKLY - Authentication operations
  • Commands: 7 commands to test
  • Focus: Login, logout, status, credential management

8. test-group-config.py (Planned)

  • Usage: DAILY - Configuration management
  • Commands: 12 commands to test
  • Focus: Show, set, environments, role-based config

🔧 LOW FREQUENCY GROUPS (OCCASIONAL USE)

9. test-group-deploy.py (Planned)

  • Usage: MONTHLY - Deployment operations
  • Commands: 8 commands to test
  • Focus: Create, start, stop, scale, update deployments

10. test-group-governance.py (Planned)

  • Usage: MONTHLY - Governance operations
  • Commands: 4 commands to test
  • Focus: Propose, vote, list, result operations

11. test-group-analytics.py (Planned)

  • Usage: MONTHLY - Analytics operations
  • Commands: 6 commands to test
  • Focus: Dashboard, monitor, alerts, predict operations

12. test-group-monitor.py (Planned)

  • Usage: MONTHLY - Monitoring operations
  • Commands: 7 commands to test
  • Focus: Campaigns, dashboard, history, metrics, webhooks

🎯 SPECIALIZED GROUPS (RARE USE)

13. test-group-chain.py (Planned)

  • Usage: OCCASIONAL - Multi-chain management
  • Commands: 10 commands to test
  • Focus: Chain creation, management, sync operations

14. test-group-node.py (Planned)

  • Usage: OCCASIONAL - Node management
  • Commands: 7 commands to test
  • Focus: Add, remove, monitor, test nodes

15. test-group-simulate.py (Planned)

  • Usage: OCCASIONAL - Simulation operations
  • Commands: 6 commands to test
  • Focus: Init, run, status, stop simulations

16. test-group-genesis.py (Planned)

  • Usage: RARE - Genesis operations
  • Commands: 8 commands to test
  • Focus: Create, validate, sign genesis blocks

17. test-group-openclaw.py (Planned)

  • Usage: RARE - Edge computing operations
  • Commands: 6+ commands to test
  • Focus: Edge deployment, monitoring, optimization

18. test-group-advanced.py (Planned)

  • Usage: RARE - Advanced marketplace operations
  • Commands: 13+ commands to test
  • Focus: Advanced models, analytics, trading, disputes

19. test-group-plugin.py (Planned)

  • Usage: RARE - Plugin management
  • Commands: 4 commands to test
  • Focus: List, install, remove, info operations

20. test-group-version.py (Planned)

  • Usage: RARE - Version information
  • Commands: 1 command to test
  • Focus: Version display and information

🎯 Testing Strategy by Frequency

🔥 DAILY USE GROUPS (CRITICAL PRIORITY)

  • Target Success Rate: 90%+
  • Testing Focus: Core functionality, error handling, performance
  • Automation: Full CI/CD integration
  • Coverage: Complete command coverage

📈 WEEKLY USE GROUPS (HIGH PRIORITY)

  • Target Success Rate: 80%+
  • Testing Focus: Feature completeness, integration
  • Automation: Regular test runs
  • Coverage: Essential command coverage

🔧 MONTHLY USE GROUPS (MEDIUM PRIORITY)

  • Target Success Rate: 70%+
  • Testing Focus: Advanced features, edge cases
  • Automation: Periodic test runs
  • Coverage: Representative command coverage

🎯 OCCASIONAL USE GROUPS (LOW PRIORITY)

  • Target Success Rate: 60%+
  • Testing Focus: Basic functionality
  • Automation: Manual test runs
  • Coverage: Help command testing

🔍 RARE USE GROUPS (OPTIONAL PRIORITY)

  • Target Success Rate: 50%+
  • Testing Focus: Command existence
  • Automation: On-demand testing
  • Coverage: Basic availability testing

🚀 Usage Instructions

Run High-Frequency Groups (Daily)

cd /home/oib/windsurf/aitbc/cli/tests

# Core wallet operations
python test-group-wallet.py

# Job management operations
python test-group-client.py

# Blockchain operations
python test-group-blockchain.py

# Mining operations
python test-group-miner.py

Run All Group Tests

# Run all created group tests
for test in test-group-*.py; do
    echo "Running $test..."
    python "$test"
    echo "---"
done

Run by Frequency

# Daily use groups (critical)
python test-group-wallet.py test-group-client.py test-group-blockchain.py test-group-miner.py

# Weekly use groups (high) - when created
python test-group-marketplace.py test-group-agent.py test-group-auth.py

# Monthly use groups (medium) - when created
python test-group-deploy.py test-group-governance.py test-group-analytics.py

📊 Benefits of Group-Based Testing

🎯 Targeted Testing

  1. Frequency-Based Priority: Focus on most-used commands
  2. User-Centric Approach: Test based on actual usage patterns
  3. Resource Optimization: Allocate testing effort efficiently
  4. Risk Management: Prioritize critical functionality

🛠️ Development Benefits

  1. Modular Testing: Independent test suites for each group
  2. Easy Maintenance: Group-specific test files
  3. Flexible Execution: Run tests by frequency or group
  4. Clear Organization: Logical test structure

🚀 Operational Benefits

  1. Fast Feedback: Quick testing of critical operations
  2. Selective Testing: Test only what's needed
  3. CI/CD Integration: Automated testing by priority
  4. Quality Assurance: Comprehensive coverage by importance

📋 Implementation Status

Completed (4/20 groups)

  • test-group-wallet.py - Core wallet operations (24 commands)
  • test-group-client.py - Job management operations (14 commands)
  • test-group-blockchain.py - Blockchain operations (15 commands)
  • test-group-miner.py - Mining operations (12 commands)

🔄 In Progress (0/20 groups)

  • None currently in progress

📋 Planned (16/20 groups)

  • 16 additional group test files planned
  • 180+ additional commands to be tested
  • Complete coverage of all 30+ command groups

🎊 Next Steps

  1. Create Medium Frequency Groups: marketplace, agent, auth, config
  2. Create Low Frequency Groups: deploy, governance, analytics, monitor
  3. Create Specialized Groups: chain, node, simulate, genesis, etc.
  4. Integrate with CI/CD: Automated testing by frequency
  5. Create Test Runner: Script to run tests by frequency/priority

🎉 Conclusion

The group-based testing strategy provides a user-centric approach to CLI testing that:

  • Prioritizes Critical Operations: Focus on daily-use commands
  • Provides Flexible Testing: Run tests by frequency or group
  • Ensures Quality Assurance: Comprehensive coverage by importance
  • Optimizes Resources: Efficient testing allocation

Status: GROUP-BASED TESTING STRATEGY IMPLEMENTED 🎉

The AITBC CLI now has targeted testing that matches real-world usage patterns and ensures reliability for the most important operations! 🚀