1

Onderwerp: Testsuite voor een webapplicatie

Voor een webapplicatie die ik gemaakt heb zoek ik naar een mogelijkheid om snel te kunnen testen of, na een aanpassing, alles nog werkt zoals het zou moeten werken.

De applicatie is geschreven in PHP en gebruikt verder MySQL. De gebruikers klikken op links, vullen formulieren in etc.

Het is ondertussen een behoorlijk uitgebreide applicatie geworden (>12000 regels code).
Ik heb het geheel redelijk netjes opgezet maar ik loop natuurlijk altijd het risico dat door een wijziging op plaats A op plaats B wat omvalt.

Weten jullie iets van tools waarmee je voor een dergelijke applicatie tests kunt vastleggen en later kan kijken of alles nog werkt zoals het zou moeten werken?

Old programmers never die: they just jump to a new address
Kubuntu 16.02 LTS, Compaq CQ61 met Linux Mint 18, een Galaxy Tab 10.1 met Android Ice Cream en een Raspberry PI met raspian
http://www.volkerskrant.nl

Re: Testsuite voor een webapplicatie

Heet die tool niet gewoon een test-omgeving?

3

Re: Testsuite voor een webapplicatie

MrLeeJohn schreef:

Heet die tool niet gewoon een test-omgeving?

Natuurlijk heb ik een testomgeving. Maar ik wil niet bij wijzingen een hele lijst handmatige testen moeten uitvoeren met het risico dat ik wat vergeet.
Ik wil gewoon wat kunnen draaien die me vertelt dat alles nog goed is (of niet natuurlijk).

Old programmers never die: they just jump to a new address
Kubuntu 16.02 LTS, Compaq CQ61 met Linux Mint 18, een Galaxy Tab 10.1 met Android Ice Cream en een Raspberry PI met raspian
http://www.volkerskrant.nl

4

Re: Testsuite voor een webapplicatie

Wellicht dat Selenium iets voor je is?
Ben er ooit zelf eens mee begonnen, maar kon de discipline en tijd niet opbrengen om de testscripts uptodate te houden.

5

Re: Testsuite voor een webapplicatie

Dat zou best eens de oplossing kunnen zijn. Bedankt.

Old programmers never die: they just jump to a new address
Kubuntu 16.02 LTS, Compaq CQ61 met Linux Mint 18, een Galaxy Tab 10.1 met Android Ice Cream en een Raspberry PI met raspian
http://www.volkerskrant.nl

Re: Testsuite voor een webapplicatie

Hou er rekening mee dat Selenium alleen browser based kan testen.
Wil je ook kijken of interne functies nog goed uitgevoerd worden, waarvan de resultaten niet in de browser terugkomen (bijvoorbeeld versturen van mail, aanmaken database record, etc), zul je moeten kijken naar iets als unit testing.

7

Re: Testsuite voor een webapplicatie

Tja  oplossing is vrij eenvoudig maar veel werk.
- Maak eerst je specs
- Maak aan de hand van de specs test programma's (per module of wat dan ook)
- Maak dan pas je applicatie

Als je de applicatie wijzigt maak dan eerst extra testprogramma's (geen nieuwe, de oude moeten gewoon correct blijven testen)
en voer dan pas je wijzigingen door.

Deze werkwijze staat bekend als extreme engineering.
Werkt fantastisch maar kost veel tijd... die je echter later flink bespaard.

Pascal's Blobfree Homepage
Een dag geen NedLinux is een dag niet geleefd

8 Laatst bewerkt door Barbara35 (18 Oct 2013 11:58:23)

Re: Testsuite voor een webapplicatie

zul je moeten kijken naar iets als unit testing.

9 Laatst bewerkt door QzZRBNMdJdsCmwx (18 Oct 2013 16:53:19)

Re: Testsuite voor een webapplicatie

Ontwikkeling: Unit tests en integratietests schrijven.
Uitrollen: gebruik maken van development, acceptatie, en productieomgevingen.

Controleren of een applicatie aan specs voldoet kan bijvoorbeeld met Cucumber. Er is vast wel een PHP kloon van.

Spijtig genoeg worden PHP applicaties over het algemeen op zo'n manier geschreven dat unit testing heel er lastig is. Over het algemeen is code die netjes aan de OO principes voldoet en pure functionele code het makkelijkst te testen smile.

Eigenlijk moet je bij regel 1 met unit tests beginnen, het stimuleert je code modulair en testbaar te schrijven. Als je het in een bestaand project wilt doen, dan is het verstandig een goede IDE te gebruiken. Deze kunnen vaak de 'coverage' visualiseren, dwz. dat je na een unit test exact kunt zien welke regels code aangeroepen zijn. Daarmee krijg je een goede indruk bij het draaien van een test of testsuite wat je nog mist. PHPStorm kan bijvoorbeeld code coverage visualiseren icm. PHPUnit:

http://blog.jetbrains.com/webide/2012/0 … r-phpunit/

(Overigens is PHPStorm sowieso een geweldige PHP IDE. Ik moest onlangs een plugin voor een PHP applicatie schrijven, PHPStorm heeft completion, uitgebreide debugging support, Javascript support, etc.)