Salve a todos, vorrei segnalarvi questo software per lo Unit Testing di database relazionali. Funziona con MySQL, MariaDB e Percona a partire dalla versione 5.1.
Questa la home del progetto:
http://stk.wikidot.com/stk-uni
Mentre se volete qualche screenshot lo trovate qui:
http://stk.wikidot.com/screensho
Come potete vedere negli screen, si tratta di una libreria di Stored Procedure. I test vengono scritti come stored procedure, esistono i concetti di Test Case e Test Suite, e l'output può essere letto da tabelle/viste relazionali, o può essere restituito come stringa leggibile da riga di comando, o anche in HTML (per reindirizzarlo a un browser).
Questo ci porta a una domanda più generale: a cosa serve lo Unit Testing sui database relazionali?
Ecco, io credo che le metodologie di sviluppo Agile, in generale, si possano applicare anche ai database (non solo i test). I test possono testare qualsiasi oggetto: stored procedure, trigger, viste (che devono contenere certi dati e non altri), colonne (i tipi di dati e i set di caratteri devono essere adatti per contenere i dati che vengono dal mondo reale), plugin, etc...
Ma in un db relazionale si può testare anche i dati stessi, trasformando lo Unit Testing in uno strumento per il Data Cleaning: in pratica, si validano i dati, e per ogni riga contenente dati non validi si genera un warning.
Ma mi sono dilungato anche troppo... se qualcuno di voi giocherà con questo tool, mi farebbe piacere sapere cosa ne pensa.
Buon divertimento