[alg] (PHP) webdevelopment + Unit tests?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Eigenlijk een simpel vraagje, maar toch iets waar ik niet helemaal uit kom..

Hoe doen jullie dit? Er even vanuitgaand dat je gebruikt maak van een versie beheer systeem..

* Wordt er wanneer je iets commit een script aangeroepen wat jouw unit test scripts aanroept?
* Draai je zelf op bepaalde tijden de unit test scripts?

Wat doen jullie en waarom?

Acties:
  • 0 Henk 'm!

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 26-08 09:08

Kippenijzer

McFallafel, nu met paardevlees

Ik denk dat het handig is als je iet meer info eeft over wat je bedoelt... Vooral voor mensen met veel ervaring met eea, maar minder into het wereldje zijn qua termen. Dan kunnen ook dat soort mensen opties en dergelijk aandragen... Denk dat dit ook qua etiquette hier ook GoT niet helemaal correct is, want er wordt juist gewenst dat er veel of iig duidelijke en voldoende informatie in een openingspost staat.
En zoals je het hier vraagt is het bijna zo van :
Goh, dit en dit wil ik, geef me jullie code eens?" oftewel een scriptrequest, wat hier ook niet geheel gewaardeerd wordt...

Maar mijn eerste standpunt vind ik belangrijk, rest persoonlijk minder :+

Acties:
  • 0 Henk 'm!

  • twiekert
  • Registratie: Februari 2001
  • Laatst online: 30-08 11:55
je bedoelt denk ik het debug / test traject :?

ik ben zelf daarin nogal een prutser :+

word documentje waarin ik de verschillende versies bijhoudt + per versie de wijzigingen in wie wat en welk bestand.

daarna handmatig testen op development server, alles OK?

dan ff een cp filesdiegewijzigdzijn naar live webserver.

Acties:
  • 0 Henk 'm!

  • Rukapul
  • Registratie: Februari 2000
  • Laatst online: 13:22
Hij gaf genoeg info hoor voor mensen die hem mogelijk een antwoord kunnen geven ;)

Voor mensen die overvallen worden door de term 'unit testing': http://www.extremeprogramming.org/rules/unittests.html

Overigens heb ik nog nooit unit tests gebruikt bij webdevelopment (toen ik daarmee prutste kende ik XP nog niet :P ), maar het makkelijkst is toch gewoon een scriptje aanroepen? Of om het helemaal in stijl te doen: maak een speciale testpagina die je aanroept om alle unit testen uit te voeren en output in je browser :)

Een unit test uitvoeren na elke commit lijkt me overkill. Je moet het immers al getest hebben voor je de commit hebt gedaan :) Overigens is een checkout + unit test automatisch op bepaalde tijden wel handig (met name voor grote projecten), maar niet essentieel.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kippenijzer,

Bedankt voor je reactie. Ben het helaas toch niet met je eens. Ik wil niet lullig over komen, maar als je de termen (nog) niet kent dan ben ik bang dat je me ook geen antwoord kunt geven.

Acties:
  • 0 Henk 'm!

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 26-08 09:08

Kippenijzer

McFallafel, nu met paardevlees

Check, owkee, ik loop een niveautje lager te denken... Hihi, mijn fout :) Wist inderdaad de term niet bij de bezigheid. Ken verder het principe van unit testing wel, maar helaas nooit zelf actief aan gecode, laat staan icm PHP :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Rukapul, uiteraard heb je je code getest voordat je commit. Maar bedoel je hiermee dat je 'voordat je commit' ook je unit tests runt? Dat is inderdaad ook nog een ( ongelovelijk voor de handliggende ) oplossing. Ghehe, hoe bedoel je door de bomen het bos niet meer zien.. :)

Voor de unit tests zelf gebruik ik een van de vele bestaande unit tests frameworks voor PHP. PHPUnit (pear), PHPUnit (van Vincent Oostindie), etc.

Met XP raak je een beetje de spijker op z'n kop, daar ben ik ook mee aan het stoeien. Als ik het goed begrijp allemaal stellen ze daarin wel dat 'automated tests' helemaal geweldig zijn. Misschien dat ik het een beetje overtrek met unittests per commit. Aan de andere kant, als je unit tests niet goed zijn, dan zou je ook niet een 'build' moeten kunnen maken (want die klopt niet). Of ben ik nu een purist .. :)

Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
Ik denk dat het toepassen van tests per commit wel degelijk zin heeft. Eigenlijk mag er helemaal niet gecommit worden als er geen unit-tests gedraaid zijn. Als je met meerdere personen aan een project werkt, moet je eigenlijk kunnen achterhalen welk probleem door welke commit is veroorzaakt zodat je iemand direct de schuld kan geven (een blame system).

Dit is wel een goed stuk om te lezen:
http://martinfowler.com/articles/continuousIntegration.html

Merk dus op dat het uitvoeren van tests bij continue integratie er met name voor zorgt dat alles nog steeds goed samenwerkt. Dit gaat verder dan het uitvoeren van tests in 1 package. Het kan zijn dat daar alles goed draait, maar de samenwerking met andere pakketten verbroken is. Dit kan je vaak niet voortdurend testen.

[ Voor 27% gewijzigd door mbravenboer op 03-06-2003 10:41 ]

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Normaal gesproken laat ik eerst een JUnit lopen op de unit na de compilatie en laat ik hem bij een successie naar CVS committen.
Ik doe dit nog steeds handmatig, maar eigenlijk zou ik dit gewoon eens in ant moeten doen.
Ik geloof niet dat ant lekker werkt voor PHP ;) dus je zou misschien beter een klein bestandje kunnen maken welke de file eerst test dmv je UnitTest pakket en bij successie commit :)

Acties:
  • 0 Henk 'm!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
Op de UU wordt hier trouwens een cursus over gegeven:

http://www.cs.uu.nl/groups/ST/twiki/bin/view/Swe/WebHome

Onderwerpen:
* Introduction
* Software process
* Build management
* Version management
* Software deployment
* Software testing
* Software understanding

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Glimi schreef op 03 June 2003 @ 10:46:
Normaal gesproken laat ik eerst een JUnit lopen op de unit na de compilatie en laat ik hem bij een successie naar CVS committen.
Ik doe dit nog steeds handmatig, maar eigenlijk zou ik dit gewoon eens in ant moeten doen.
Ik geloof niet dat ant lekker werkt voor PHP ;) dus je zou misschien beter een klein bestandje kunnen maken welke de file eerst test dmv je UnitTest pakket en bij successie commit :)
Wat doet 'ant' precies dan? En waarom zou het niet werken voor PHP?

Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-09 16:19

alienfruit

the alien you never expected

ant is een build tool een vervanger voor make :)
Ik moet zeggen dat NAnt harstikke leukt werkt, kijk er maar eens naar (google).
Je kunt hem gebruiken bijv. naar een succesvolle build, alle code te laten comitten naar een cvs.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ehm, een build en 'php' zoals ik al aangegeven heb in mijn openingspost.. Volgens mij gaat dat toch echt niet helemaal samen .. :)

Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-09 16:19

alienfruit

the alien you never expected

Kun je niet gewoon een programma gebruiken zoals een stress test tool, of je bouwt zelf effe een test omgeving.Het is makkelijk om een debugger en/of php te ooken onder Windows; kun je gemakkelijk een php-script bestand testen of performance e.d.

Ant is handig als je iets moet builden ;)

Acties:
  • 0 Henk 'm!

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 16-09 10:29

Apache

amateur software devver

http://phpunit.sourceforge.net/

Nog niet gebruikt trouwens, al wel enige tijd van plan het te doen :)

If it ain't broken it doesn't have enough features


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik gebruik op het moment Simple Test. Werkt goed. Er zijn een aardige hoop unit test frameworks. Ik had gister zo m'n bedenkingen over 'ant' zoals je kon lezen. Vandaag heb ik echter toch ant draaien met een bepaald functional test framework. Ja, voor mijn PHP projecten ;-).

Tis even slikken qua logheid, ant is een goede 6Mb en Java SDK is ook flink maar de functionaliteit die ik er voor krijg lijkt het uiteindelijk toch waard.

Bedankt voor de ideeen in ieder geval.
Pagina: 1