Di recente ho pubblicato in Google code un progetto che ha lo scopo di elaborare delle statistiche riguardanti i bug inseriti nell'istanza del bug tracker Mantis che usiamo in ufficio.
Il progetto si trova qui:
https://code.google.com/p/mantis-statistics
E' composto da due parti:
Il progetto si trova qui:
https://code.google.com/p/mantis-statistics
E' composto da due parti:
- l'applicazione principale scritta in Python;
- una form PHP che può essere integrata nella GUI di Mantis.
L'applicazione utilizza la tabella contenente la history dei bug per controllare quali bug non sono stati risolti da un utente nei tempi prefissati. Per "tempi prefissati" intendo una durata in giorni che può essere impostata nell'applicazione utilizzando i parametri da riga di comando. Possono esserci tre diverse durate associate a tre diversi gradi di priorità di un bug: normale, alta e urgente. Utilizzo il termine "scaduto" per indicare un bug che non sia stato elaborato nei tempi previsti in funzione della sua priorità.
C'è anche un altro concetto che deve essere spiegato per capire il funzionamento dell'applicazione, ed è quello di "transizione". Una transizione è quando un bug passa da uno stato iniziale a uno stato finale; per esempio una transizione è quando un bug da "assegnato" diventa "risolto". Si può dire all'applicazione quale transizione controllare. Per esempio si possono controllare i bug che non sono passati da assegnato a risolto nei tempi concordati, o da risolto a chiuso, o si può controllare una transizione tra due stati personalizzati che avete definito in Mantis.
Per impostare i tempi, la transizione, l'utente da controllare, ecc. si utilizzano dei parametri da riga di comando. Trovate il dettaglio qui:
Una volta stabilito l'utente, i tempi e la transizione i possibili output sono:
- una lista dei bug scaduti raggruppati per progetto;
- le statistiche sul numero di bug scaduti raggruppati per progetto, anno e mese.
La lista dei bug scaduti mostra per ciascun bug l'id, l'oggetto, la priorità e i giorni trascorsi da quando è stato impostato lo stato iniziale della transizione da controllare.
La pagina delle statistiche contiene delle tabelle con una cella per ogni progetto, anno e mese; ogni cella contiene due numeri: il numero dei bug scaduti e il totale dei bug in quel periodo.
Entrambi i report possono essere prodotti in vari formati:
- ascii: adatto per un output su terminale;
- html: questo formato è utilizzato per visualizzare l'output integrato nella GUI di Mantis;
- html standalone: è simile al precedente, ma contiene anche i CSS, e i link verso la pagina di dettaglio dei bug in Mantis sono assoluti. Questo formato è stato pensato per essere allegato alle mail come report;
- csv: è un formato CSV adatto a essere importato negli spreadsheet.
Nel progetto fornisco anche una form in PHP fatta per essere integrata nella GUI di Mantis e collegata a un menù custom da aggiungere nella toolbar superiore. La form utilizza l'applicazione Python mediante gli stessi parametri da riga di comando che si usano in un terminale. Ovviamente la form può essere personalizzata come si vuole.
Commenti
Posta un commento