Avatar billede prom Nybegynder
05. juni 2002 - 15:52 Der er 5 kommentarer og
2 løsninger

Generel diskussion om JUnit

Jeg har brug for at høre om fordele og ulemper ved JUnit.

Har du haft gode eller dårlige erfaringer?

Kender du andre testverktøjer der er bedre? Eller måske nogle der er dårligere?

Altså en generel diskussion om JUnit.

prom.
Avatar billede soelvpil Nybegynder
05. juni 2002 - 16:52 #1
JUnit er et kanonværktøj til at teste "almindelig" java-kode, d.v.s al kode der kan afvikles fra en kommandoprompt. Og til dette formål findes der nok ikke noget bedre.

Den største ulempe er hvis man laver kode, der ikke kan afvikles lokalt, som f.eks. ved webudvikling hvor ens server laver en masse objekter, f.eks. Request, Response, Session o.s.v. Skal man teste den sllags ting er der to andre gode muligheder

Cactus (jakarta.apache.org/cactus) er en JUnit-udvidelse, der er beregnet til at blive afviklet på en ServletEngine. Det er lidt besværligt til at starte med, men man kan teste sine metoder på stort set samme måde.

HttpUnit (www.httpunit.org) er derimod beregnet til at teste output fra f.eks. jsp-sider, og man kan f.eks. checke for links, tabeller, frames og meget andet.

Jeg kan varmt anbefale at begynde at bruge JUnit, når man først er i gang går det omtrent lige så hurtigt som hvis man ikke tester, man fanger nemlig de fleste fejl meget hurtigt. Samtidig er der også en tendens til, at man laver sin kode så mest muligt kan testes gennem JUnit, og derved får man normalt også (ubevidst) et pænere design af sin kode.

De andre udvidelser er dog nok knap så nødvendige, og lidt mere besværlige at bruge.
Avatar billede disky Nybegynder
05. juni 2002 - 17:11 #2
det soelvpil siger er korrekt.

Hele fidusen ved JUnit, er at man skriver en test metode INDEN man laver selve metoden, når man så 6 måneder senere retter et eller andet i et helt andet modul, fejler den metode man lige har lavet måske, og det fanger JUnit for en.


Det kan overhovedet ikke bruges istedet for rigtige system tests, men det er rigtigt godt som hjælpe værktøj.
Avatar billede prom Nybegynder
05. juni 2002 - 19:40 #3
Tak for svarene, hvis I har mod på det er her et par tillægsspørgsmål:

Jeg er ved at læse til datamatiker, og på vores skole er test desværre meget nedprioriteret. Vi får hele tiden at vide at vi skal huske at teste, vi får bare ikke at vide hvordan.

Hvordan foregår en >>rigtig systemtest<<? Indgår den meget vigtige brugertest i den >>rigtig systemtest<<, eller afvikles brugertesten for sig?

Hvad mener I om blackbox- og whiteboxtest. Hvordan bruges de, og kan de sammenlignes med JUnit?

Har I måske et par links til sider der forklarer emnet

prom
Avatar billede disky Nybegynder
05. juni 2002 - 23:17 #4
Skal det være helt rigtigt må man ikke teste tingene selv.
Men andre skal gøre det.

På min nuværende opgave som konsulent, er der ansat et team af testere, som ud fra de API'er vi laver tester løs. Og tro mig de finder mange fejl :(

Man kan også lave en såkaldt 'accepttestspecifikation' som er lavet før selve softwaren. Kunden godkender den samtidigt med Krav Specifikationen. Så udfører man den test, og er alt i orden, siger man at opgaven er løst.

Links kan jeg ikke lige hjælpe med, men prøv at søg på google
Avatar billede prom Nybegynder
06. juni 2002 - 13:15 #5
Hvad gør i hvis kunden undervejs i udviklingsarbejdet finder på nye ting, der ikke står i kravspecifikationen? Fortæller i så kunden at det er bare ærgeligt, den funktion kommer ikke med? Eller får kunden lov til at betale mere, hvis de vil have funktionen med?

Nu har vi beskæftiget os med eXtreme Programming (derfor JUnit), der beskriver hvordan kravspecifikationen bliver til lidt af gangen. Kunden har jo ofte svært ved at beskrive alle funktioner før udviklingsarbejdet går i gang. Det er først når kunden ser et kørende system at kravene dukker op. Hvilken mening har du om den tankegang?
Avatar billede disky Nybegynder
06. juni 2002 - 13:44 #6
Hvis kunden ændrer sine krav, skal der laves tillæg til specifikationerne som så koster extra.

extreme programmering kan ikke anvendes til store projekter. Men er udemærket til små dele af store projekter.

Det vi tit gør er at lave en analyse på almindelig 'gammeldags' maner.
Når de enkelte dele så skal laves, anvender vi tit XP.

Det med at kunden ændre mening afhænger også af hvor god man er til at belyse tingene fra starten. Og ikke mindst om det er en bestillingsopgave, eller noget man  udvikler sideløbende med andre ting hos kunden.
Så det er svært at komme med et generelt svar, da det afhænger meget af opgaven.
Avatar billede prom Nybegynder
06. juni 2002 - 15:08 #7
Det lyder som om at det er erfaring og atter erfaring der tæller, når der skal udvikles systemer. Jeg vil håbe at jeg får lejlighed til at få det, når jeg engang er færdig med studiet!!

Nå, hele verden har jo travlt med at fortælle os allesammen at krisen er ved at stilne af... Så man har jo lov til at håbe...

prom
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester