Laboratorio di tecnologie dell'informazione
Problemi frequenti e soluzioni sistema Web-CAT (formato PDF)
-
Q1: Perché in “Errors Running Your Tests” viene riportato “No tests included in submission” ?
- A: tipicamente questo messaggio di errore indica che ci sono dei problemi di compilazione che hanno impedito la corretta esecuzione dei test. Controllare i messaggi del compilatore mostrati nell’apposita finestra. Nella figura di esempio si vede che l’errato livello di accesso impedisce di compilare codice di test che si aspetta di poter accedere al membro di una class.
-
Q2: Perché non vedo neanche un feedback in “Errors Running Your Tests” e l’unica cosa che vedo è un pannello “Errors During Test” con dentro “Testing your solution exceeded the allowable time limit for this assignment” ?
- A: c’è un limite di tempo assegnato all’esecuzione degli esercizi. Se un programma non riesce a completare l’esecuzione entro questo limite di tempo viene bloccato e gli vengono assegnati 0 punti. Tipicamente questo problema accade perché per un errore di programmazione il programma esegue un ciclo infinito.
-
Q3: Perché non ottengo il massimo dei punti anche se l’esecuzione dei miei test risulta perfetta ?
- A: oltre ai test forniti col materiale dell’esercitazione il sistema esegue una serie di test aggiuntivi “segreti” in cui vengono fatti maggiori controlli. Il risultato di questi test è riportato in “Estimate of Problem Coverage”. Se non si passano tutti i test il punteggio massimo non viene raggiunto. La finestra riporta dei suggerimenti riguardanti quali metodi o specifiche ricontrollare per raggiungere il punteggio massimo.
-
Q4: Perché non ottengo il massimo dei punti anche se l’esecuzione dei miei test risulta perfetta e in “Estimate of Problem Coverage” risulta una copertura del 100% ?
- A: si deve controllare se in “Estimate of Problem Coverage” appare la scritta “hint: your code/tests do not correctly cover error: Cannot locate behavioral analysis output”. Significa che un qualche errore di programmazione impedisce la compilazione ed esecuzione dei test aggiuntivi “segreti”. Tipicamente questo è dovuto al fatto che non sono state rispettate le specifiche dell’esercizio (vedi Q1). Purtroppo il sistema non può mostrare quale è l’errore di compilazione: si deve rileggere con cura il proprio codice.
-
Q5: Perché non ottengo il massimo dei punti anche se l’esecuzione dei miei test risulta perfetta ?
- A: il sistema non si limita a controllare l’esecuzione corretta dei test ma controlla anche che la soluzione fornita non abbia leak di memoria come mostrato in figura. La presenza di leak diminuisce il punteggio assegnato alla soluzione. Controllare le righe di codice indicate dal sistema per risolvere l’errore di programmazione.
-
Q6: Perché non ottengo il massimo dei punti anche se l’esecuzione dei miei test risulta perfetta sia per quanto riguarda “Errors Running Your Tests” che “Estimate of Problem Coverage”, e non c’è nessuna segnalazione di memory leak come in Q5 ?
- A: il controllo dei memory leak viene effettuato anche nei test aggiuntivi “segreti”. Purtroppo il sistema non mostra (come avviene invece in Q5) quale riga è responsabile. Ricontrollare il codice per trovare questo genere di errori.
-
Q7: Perché non ho ottenuto il massimo punteggio dell’esercizio anche se ho passato correttamente tutti i test automatici ?
- A: la valutazione degli esercizi prevede anche un controllo da parte del docente del corso che valuta lo stile e correttezza della soluzione. Tipicamente vengono forniti commenti che indicano quali parti della soluzione data possono essere migliorati. E’ possibile vederli facendo il login nel sistema e selezionando la propria sottomissione, quindi cliccando sul link ai file sorgenti in “File details”. La presenza dei commenti è indicata nella colonna “Staff Cmts”: