Domanda

Quali sono le cose più comuni da testare in un nuovo sito?

Ad esempio per prevenire exploit da parte di bot, utenti malintenzionati, carichi enormi, ecc.?

E, cosa altrettanto importante, quali strumenti e approcci dovresti utilizzare?

(alcuni strumenti per stress test sono molto costosi/hanno dovuto essere utilizzati, ne scrivi tu uno tuo?eccetera)

Exploit comuni che dovrebbero essere controllati.

Modificare:il motivo di questa domanda è in parte dovuto al fatto di essere in SO beta, tuttavia per favore astieniti dalla discussione su SO beta, SO beta mi ha fatto pensare al mio sito e anche questo è positivo.Questa vuole essere una lista di controllo per cose a cui io, tu o qualcun altro non abbiamo pensato prima.

È stato utile?

Soluzione

Prova a distruggere il tuo sito prima che lo faccia qualcun altro.Il tuo sito web è fondamentalmente un'API accessibile pubblicamente che consente l'accesso a un database e ad altri sistemi backend.Testa gli URL come se fossero qualsiasi altra API.Mi piace iniziare catalogando tutti gli URL che hanno una sorta di effetto permanente sullo stato del sistema: questo è facile se stai sviluppando Ruby on Rails o stai cercando di seguire un modello di progettazione RESTful.Per ciascuno di questi URL, prova a eseguire metodi HTTP GET, POST, PUT o DELETE con parametri diversi in modo da poter garantire di dare accesso solo a ciò a cui desideri dare accesso.

Questo ovviamente è in aggiunta all'ovvio:Test funzionali, test di carico, SQL Injection, XSS ecc.

Altri suggerimenti

Disattiva Javascript e assicurati che il tuo sito possa ancora essere navigato.

Anche se vuoi ignorare il piccolo ma significativo numero di persone che lo hanno disabilitato, ciò avrà un impatto anche sui motori di ricerca.

Ylento può fornirti una rapida analisi di diversi parametri.

Per quanto riguarda gli strumenti per eseguire test funzionali di pagine web, l'ho trovato IDE di selenio per essere utile.

Il plug-in Firefox (solo versione 2 compatibile al momento) ti consente di catturare quasi tutti gli eventi web, salvarli e riprodurli nello stesso browser.

In combinazione con un altro Firefox https://addons.mozilla.org/en-us/firefox/addon/1843 "> Firebug puoi creare alcuni test molto potenti.

Se vuoi impostare Telecomando al selenioè quindi possibile convertire i test Selenium IDE in nTest unitari, che puoi eseguire automaticamente.

Io uso regolazione automatica della velocità ed esegui questi test web come parte di una build quotidiana.

La cosa bella dell'utilizzo del controllo remoto Selenium è che può eseguire gli stessi test funzionali su più browser e sistemi operativi, cosa che non puoi fare con l'IDE.

Anche se l'esecuzione dei test web richiederà molto tempo, esiste una versione di Selenium chiamata Griglia di selenio che ti consente di utilizzare qualsiasi vecchio hardware di cui disponi per eseguire i test in parallelo come parte di una griglia di calcolo.Non l'ho provato personalmente, ma sembra interessante.

Tutto quanto sopra è open source e gratuito, il che mi ha aiutato a convincere il management a utilizzarlo :-)

Per verificare l'aspetto multibrowser e multipiattaforma del tuo sito, browershots.org è forse il miglior strumento gratuito che può farti risparmiare molto tempo e costi.

Ci sono fasi separate per questo.

Innanzitutto ci sono i test tecnici, in cui controlli tutte le funzionalità tecniche:

  • Iniezioni SQL
  • Scripting cross-site (XSS)
  • tempi di caricamento
  • livelli di stress

Poi c'è la fase in cui chiedi a qualcuno completamente analfabeta di computer di sedersi e chiedergli di trovare qualcosa.Non solo ti mostra dove ci sono difetti nella tua logica di navigazione (trovo che gli sviluppatori considerino le cose in modo diverso rispetto ad "altre persone") ma sono anche sicuri che troveranno un modo per danneggiare il tuo sito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top