FireBenchmarks
| FireBenchmarks |
|
|---|---|
FireBenchmarks 1.0.0.0 HTML report sample |
|
| Sviluppatore | Federico Coletto[1] |
| S.O. | Microsoft .NET |
| Linguaggio | C# |
| Genere | Unit testing tool |
| Licenza | LGPL (Licenza chiusa) |
| Sito web | http://www.firebenchmarks.com/ |
FireBenchmarks è un addin opensource per NUnit in grado di registrare il tempo di esecuzione di test unitari e generare report di performance, grafici e diagrammi in formato XML, CSV, HTML.
Il suo scopo principale è di consentire ad uno sviluppatore o ad un team che lavora tramite l'approccio XP ed altre methodologie agili come il TDD, di migliorare la qualità del software
- integrando metriche di performance ed analisi direttamente nell'ambiente di testing
- controllando e monitorando l'evoluzione dei un sistema in termini di complessità algoritmica e carico di sistema.
- portare ad una più profonda comprensione del codice sorgente e del suo flusso di esecuzione
Indice |
[modifica] Caratteristiche
L'architettura di FireBenchmarks [2] è fondata sull'interface EventListeners[3] di NUnit.
Ogni test di NUnit può essere associato all'attributo "marcatore" NJC_TestPerformanceRecorder, in modo che l'addin possa identificare il metodo come test di performance
L'attributo NJC_TestPerformanceRecorder contiene inoltre una serie di proprietà opzionali che consentono allo sviluppatore di specificare metadati e parametri che vanno a modificare e configurare il report di output generato dall'addin per lo specifico test.
[modifica] Requisiti
FireBenchmarsk necessita di NUnit 2.5.0 o successivo.
[modifica] Esempi
Esempio 1[4]: un test unitario in grado di tracciare il tempo di esecuzione...
- nel filesystem (scelta di default: non c'e' necessità di specificare il parametro OutputTargetKind se questa è la modalità desiderata)
- in un file XML usato come archivio di tracciamento storico
- il cui nome di file è basato sul nome del metodo di test, quindi "MyTestMethod.xml"
- il cui file di report è creato nella cartella "C:\MyProjects\MyTests\PerformanceRepository"
- sovrascrivendo eventuali precedenti tracciamenti
- senza specificare un nome identificativo del test
- senza specificare una descrizione testuale del test
[Test] [NJC_TestPerformanceRecorder ( OutputTargetFormat = NJC_TestPerformanceTargetFormat.Xml, // Output di tipo xml OutputTargetIdentificationFormat = NJC_TestPerformanceTargetIdentificationFormat.MethodName, // Usare il nome del metodo per generare il nome del file di report OutputTarget = "C:\\MyProjects\\MyTests\\PerformanceRepository", // Cartella di destinazione: in un'applicazione reale, una costante sarebbe maggiormente consigliata di una stringa hard-codata nel codice dell'attributo OutputTargetWriteMode = NJC_TestPerformanceTargetWriteMode.OverWrite // sovrascrive gli eventuali precedenti tracciamenti )] public void MyTestMethod() { /* scrivere qui il codice da testare E tracciare*/ }
Esempio 2[5]: un test unitario in grado di tracciare il tempo di esecuzione...
- nel filesystem (scelta di default: non c'e' necessità di specificare il parametro OutputTargetKind se questa è la modalità desiderata)
- in un file XML usato come archivio di tracciamento storico
- in un file XHTML usato come report visuale
- il cui nome di file è basato sul full name della classe e del metodo di test "MyTestNameSpace.MyTestClass.MyTestMethod.html"
- il cui file di report è creato nella cartella "C:\MyProjects\MyTests\PerformanceRepository"
- accodando il tracciamento corrente ad eventuali precedenti tracciamenti
- specificando un nome identificativo del test
- specificando una descrizione testuale del test
[Test] [NJC_TestPerformanceRecorder ( Name = "Performance test 1", Description = "This is a unit test used as performance tracking element", OutputTargetFormat = NJC_TestPerformanceTargetFormat.Html, // Output di tipo XHTML OutputTargetIdentificationFormat = NJC_TestPerformanceTargetIdentificationFormat.ClassFullNameAndMethodName, // full name della classe e del metodo di test OutputTarget = "C:\\MyProjects\\MyTests\\PerformanceRepository", // Cartella di destinazione: in un'applicazione reale, una costante sarebbe maggiormente consigliata di una stringa hard-codata nel codice dell'attributo OutputTargetWriteMode = NJC_TestPerformanceTargetWriteMode.Append // accoda gli eventuali precedenti tracciamenti )] public void MyTestMethod() { /* scrivere qui il codice da testare E tracciare*/ }
[modifica] Note
- ^ Sito web dell'autore
- ^ L'architettura di Firebenchmarks
- ^ Interfaccia EventListeners di NUnit
- ^ Esempi di utilizzo di Firebenchmarks: output XML
- ^ Esempi di utilizzo di Firebenchmarks: output XHTML
[modifica] Voci correlate
|
|