Test di un server MMO

1

Sto lavorando su un server per un MMO molto ampio (funzionalità saggio). Dopo alcune brutte esperienze con modifiche irrisolte che hanno causato settimane di bug lungo la linea, vorremmo aggiungere test unitari / automatizzati / di regressione al nostro progetto prima di ottenere molto padre (abbiamo implementato circa il 5% dei nostri requisiti).

Non abbiamo mai usato test "seri" (abbiamo fatto il test tutorial-divisione per zero), quindi ho pensato di trovare delle guide per lo sviluppo di soluzioni di test client-server. Non ero in grado di trovare nulla di molto importante. Come dovrei affrontare il test dei seguenti aspetti di un tipico server?

  • Test della comunicazione client-server (l'API può essere suddivisa in fasi di "analisi", "gestione" e "invio")
  • Test delle modifiche a un database SQL
  • Test delle misure di sicurezza
  • Test delle misure di sicurezza attorno (ad esempio, assicurandoti che i nostri test non incidano sul nostro codice di sicurezza)
  • Test degli eventi programmati

Nel caso sia pertinente, la nostra lingua è C #, .Net 4.5

    
posta Xcelled 29.07.2014 - 07:43
fonte

1 risposta

2

I test automatizzati dovrebbero essere tutti incentrati sulla verifica delle più piccole funzionalità nel più grande isolamento possibile. Ciò consente di definire chiaramente i test, definire la maggior parte dei casi limite e far eseguire test in breve tempo. Provare a testare più livelli di codice porta a test non chiari, difficili da testare casi limite e test che potrebbero richiedere giorni.

Quindi consiglierei di abbandonare immediatamente l'idea di testare l'intero "server" come una grande quantità di funzionalità dalla gestione delle richieste alla logica di gioco. Invece, cerca di individuare il codice più soggetto a errori e testalo solo nel modo più isolato possibile. Questo probabilmente richiederebbe il refactoring, perché il codice che viene scritto senza test automatici è raramente testabile. In questo modo, non devi preoccuparti della maggior parte delle cose nella tua lista.

    
risposta data 29.07.2014 - 08:01
fonte

Leggi altre domande sui tag