Nelle parole "testare", "funzionare" e "bug" rientrano un botto di cose!

Ecco una breve checklist, in ordine sparso

-validazione del codice (markup, fogli di stile, rss)
-correttezza degli header http inviati (pagine esistenti, inesistenti e redirect)
-velocità di risposta
-controllo broken link (sia interni che esterni)
-controllo coerenza e consistenza della navigazione (link interni)
-controllo e validazione dell'input (sia per evitare exploit che per evitare dati inconsistenti)
-controllo del layout cross-browser (e non scordarti Safari)
-controllo della consistenza del riconoscimento utente tramite cookie, robustezza login
-controllo che il proprio CMS non contenga bug/non sia stata rilasciata una nuova versione che ne corregge
-controllo dei testi (es. col correttore automatico di word)
-check per evitare la creazione/indicizzazione di pagine duplicate
-controllo dell'error log del server
-eccetera, eccetera....

Per alcune di queste cose ci sono dei tool, altre vanno fatte a mano (sapendo cosa cercare e dove).

La tua domanda è TROPPO generica.

CHE COSA vuoi testare? Il sito è dinamico? si appoggia a un CMS? L'hai fatto tu?
Cosa intendi per "funzionare"?