Dette indlæg er alene udtryk for skribentens egen holdning.

Programmel til test status logging - hjælp ønskes

9 kommentarer.  Hop til debatten
Blogindlæg15. juni 2011 kl. 21:50
errorÆldre end 30 dage

Jeg har en opgave foran mig på arbejdet, hvor jeg tror I kære læsere nok kan bidrage. Jeg har en masse software, som skal testes løbende med en række tests. Testene er ikke hurtige, så jeg kan ikke være sikker på at at alle tests kører samme dag. Nogle gange køres alle tests - andre gang kun et par.

Jeg har brug for at logge en stribe versions-informationer løbende om min software, og for hver test (ud af mange) hvordan de enkelte tests gik, hvem der testede og hvor. Disse informationer kan tilvejebringes fuld-automatisk. Da jeg får status automatisk logget, så forestiller jeg mig en automatiseret logging af test-status ned i en SQL-database eller lignende ud fra et kommando-linie program, som tager informationer ud fra en opsætningsfil svarende til test-typen.

Det jer ønsker mig er en nem mulighed til derefter at kunne spørge hvordan den enkelte test går over tid, hvem der har lavet den enkelte test, hvornår de enkelte SW-komponenters versioner er opdateret - og naturligvis hvad er seneste status for alle tests. Gerne formatteret som HTML-sider.

I princippet kunne man lave et regneark, eller en flad tekst-fil eller lignende og bare køre versions-kontrol på denne for at få overblikket.Det kan jeg snildt bruge, men i en organisation er det ikke alle som vil sætte pris på et "ekspert-venligt system" host ![Eksternt billede](http://www.version2.dk/uploads/smil3dbd4d6422f04.gif" alt=")
Min pointe er at denne type opgave må være løst mange gange før denne, men jeg synes ikke det er nemt at lede efter det på Freshmeat.net, sourceforge.net eller på google.com, da ordet test er meget "generisk" og giver mange resultater. Jeg kan f.eks. godt søge på "test management" men der er stadig så mange, at det er sjovere at høre jeres erfaringer (også selv jeg faldt over et Trac-plugin). Jeg er meget glad for Trac!
Jeg er også mere interesseret i at høre hvad I har gjort i jeres organisation/firma.

Artiklen fortsætter efter annoncen

Bemærk, at jeg godt ved at flere frameworks findes, som både "kører", "logger" resultater, og viser "historik" - jeg er kun interesseret i "logge" og "historik"-delen, og meget gerne muligheder for nemt at "slice" test-data i alle mulige retninger.

Glæder mig til at høre om jeres erfaringer.

/pto

9 kommentarer.  Hop til debatten
Debatten
Log ind for at deltage i debatten.
settingsDebatindstillinger
9
17. juni 2011 kl. 12:19

Hej Peter

Jenkins (www.jenkins-ci.org) er en "Continuous Integration" server og den er super enkel at installere og bruge. Den understøtter distribuerede eksekveringer i en master/slave arkitektur. Masteren tjener primært formålet at starte jobs og vise status over eksekveringerne på slaverne. Slaverne kan have helt forskellig opsætning. Jeg har kendskab til virksomheder der har hundredvis af slaver koblet op mod én master. Typisk starter man blot op med én server og koble alt sit gamle udrangerede isenkram op som slaver, en fin måde at får det gamle udstyr i spil igen.

Det er så nemt at det et lige til at tabe kæben oven, tænk hvis hele verden (f.eks NemID eller Rejsekortet ;-) var så enkel som Jenkins!

Jenkins er Open Source. I vores virksomhed (www.praqma.net) har vi lavet flere plugins til Jenkins og også bidraget med udvidelser til selve kernen. Det er vores vurdering at det er en super-sund arkitektur som det giver mening at læne sig opad.

Jenkins har en indbygget og endda meget sofistikeret forståelse for test. Den understøtter JUnitReport formatet out-of-the-box og kan vise grafer og alt det dyre uden yderligere opsætning. Desuden kan den allerede konvertere et hav af mere eller mindre obskure alternative proprietære og åbne test rapport formater til JUnitReport format.

Du skriver ikke hvilke testværktøjer du anvender, men selv hvis ikke det format, du bruger, er understøttet af Jenkins, så består opgaver "bare" i at skrive en parser fra dit rapport format til JUnitReport - så er du faktisk allerede færdig!

Vi har selv ved flere lejligheder "misbrugt" Jenkins ekvilibristiske håndtering af JUnitReport log til at rapportere snart sagt hvad som helst - også ting som ikke direkte havde noget med test at gøre.

Vi har lavet et Jenkins plugin for en kunde som havde ganske høje valideringskrav, det er open soruce og kan ses af enhver påhttp://code.praqma.net/ci/job/MatrixReloadedPlugin/

Det er et ganske illustrativt eksempel på hvad Jenkins kan gør for dig.

På Googlegroups er der to grupper jenkinsci-dev og jenkinsci-users - det er gode steder at stille uddybende spørgsmål.

Lars Kruselak@praqma.net

8
17. juni 2011 kl. 01:08

Jeg brugte noget i forbindelse med et telemarketing engang der snakkede direkte med SQL. Det kunne producere websider og udskrifter. CDM marketing brugte det.

Vores butikker kunne selv sætte kriterier op og se hvem og hbilken afdeling der eks. havde solgt flest af model eller mærke.

6
16. juni 2011 kl. 11:29

Som du beskriver det lyder det som et ikke helt almindeligt setup. Du kan jo nøjes med at bruge visualiseringsdelen af de frameworks du har kigget på (f.eks. http://jenkins-ci.org/), men der er sikkert en del tilpasning i forhold til den datamodel og det kørsels-mønster du har.

Afhængig af dine behov og dit budget kan du også kode et site, der passer bedre til dine behov end et standard-framework. Definér din datamodel i f.eks. Django, definér et URL hierarki til at tilgå dine tests, og og lad derefter Google Chart Tools eller et lokalt Javascript-bibiotek (f.eks. http://code.google.com/p/flot/) stå for visualiseringen af dine data.

5
16. juni 2011 kl. 11:17

Jeg ville nok overveje om ikke test data kunne plottes i grafer, vha. af rrd tool f.ex. - evt. bruge cacti som interface, så det bliver "flot" - og så kan man jo også vælge hvilke brugere der kan se hvilke grafer osv. hvis man har lyst.

Så skal du bare føde cacti/rrdtool fra mysql databasen.

1
15. juni 2011 kl. 22:22

Er det ikke sådan noget loggly.com kan løse? I deres blog henviser dig også til hvordan du kan lave mere avancerede grafer.

2
16. juni 2011 kl. 08:15

Jeg vil nok foretrække en ikke-cloud løsning, dvs. en løsning vi selv sætter op

3
16. juni 2011 kl. 10:17

Rigtig godt indlæg, jeg ville også rigtig gerne have noget jeg kunne anbefale til vores kunder (og noget vi selv kunne bruge) som en "simpel" test manager. Vi sælger vores eget test værktøj (http://seqzap.com/), og der ville det jo være lækkert at kunne give nogen gode grafer som gør det nemmere at visualisere for ledelsen at test er noget der virker.

Der er jo Quality Center fra HP, men det er bare lidt for meget at skulle sælge både vores eget produkt og HPs :)

7
16. juni 2011 kl. 13:33

Jeg har faktisk ikke set XQual før, jeg skal nok lige give den et dybere look senere men umiddelbart ser det alt for stort ud og med alt for mange features. Jeg synes ikke det ser simpelt ud når der er kalender, SCRUMM og bug tracker med.

Det er absolut nærliggende at lave projekt planlægning og bug tracker når man laver et test management system, det er bare slet ikke realistisk at alle de ting skal udskiftes fra det som virksomhederne bruger i forvejen.

Så hellere end fed API der er nem at snakke med så man selv kan skrive de 100 linjer python der skal til at få to systemer til at snakke sammen.