Il existe des tests automatiques de WiKiss :
- non régression
- fonctionnels
Ces tests sont basés sur le framework PHP SimpleTest Voir : Les tests sont des fichiers php stockés dans le répertoire /tools/tests/ du dépot svn. On y trouve :
- index.php : fichier chapeau de lancement des tests
- pages_test.php : code commun et tests et vérif accessibilité de la page d'accueil
- auth_test.php : tests de l'authentification
- syntaxe_test.php : tests de la syntaxe wiki
- xhtml_test.php : test la conformité XHTML via le validator du W3C
- securite_test.php : tests de protection des entrées utilisateur
- wkp_Rss_test.php : test le plugin wkp_Rss
Pour lancer les tests :
- récupérer le code de ceux-ci. le répertoire tools doit être au même niveau que trunk :
svn co svn://svn.tuxfamily.org/svnroot/wikiss/svn/tools
- modifier les variables dans index.php
/* url to the WiKiss to be tested */
$wikiss_url = 'http://192.168.0.1/wiki_dev/svn/trunk/';
/* relative path to WiKiss to be tested */
$wikiss_path = '../../trunk/';
/* url of the w3c validator */
//~ $validator_url = 'http://validator.w3.org/'; // on-line validator
$validator_url = 'http://192.168.0.1/w3c-markup-validator/'; // local validator (recommended)
- installer SimpleTest 1.0.1beta2 dans le répertoire tests/simpletest
cd tools/tests
tar xvzf simpletest_1.0.1beta2.tar.gz
- Pour les tests d'images, il est nécessaire de patcher la version 1.0.1beta2 (sinon ces tests seront désactivés) :
cd simpletest
wget -O addimage.patch "http://sourceforge.net/tracker/download.php?group_id=76550&atid=547457&file_id=248059&aid=1806353"
patch -p0 < addimage.patch
- lancer les tests en ligne de commande
php index.php
WiKiss Tests
TestOfAccueil->testHomepage
TestOfAccueil->testUnknown
TestOfAuthent->testBadPwd
TestOfAuthent->testCookie
TestOfAuthent->testRemovePage
TestOfAuthent->testNoPassword
TestOfSyntaxe->testLinks
TestOfSyntaxe->testSyntaxe
TestOfSyntaxe->testToc
TestOfSyntaxe->testLists
TestOfSyntaxe->testImages
TestXhtml->testHomepage
TestXhtml->testCss
TestOfSecurite->testPOST
TestOfSecurite->testGET
TestWkp_Rss->testRss
TestWkp_Rss->testValidity
OK
Test cases run: 6/7, Passes: 209, Failures: 0, Exceptions: 0
On peux utiliser le W3C Markup Validation Service en ligne, ou l'installer en local Il existe un guide d'installation. Mais avec une debian, il suffit d'un simple :
aptitude install w3c-markup-validator
Après avoir configuré apache pour empêcher l'accès depuis l'extérieur, modifiez le fichier /etc/w3c/validator.conf :
# Whether private RFC1918 addresses are allowed.
Allow Private IPs = yes
Il ne reste plus qu'a configurer la variable $validator_url de tools/tests/index/php pour la faire pointer vers l'url du validator.
Pour valider le flux rss du plugin wkp_Rss on utilise le feedvalidator en ligne de commande. Voir ici les instructions d'installation Il faut alors modifier la variable $feedvalidator_path dans le fichier tools/tests/index/php pour pointer sur le répertoire de l'utilitaire. Si cette variable est vide, le test est désactivé.
Utilisation de Wapiti 1.1.6
Restaurer pages de base :
tar xvzf pages.tgz pages/
tar xvzf historique.tgz historique/
rm -Rf pages historiques
svn update pages historique
# donner si necessaire les droits en écriture
Effacer le mot de passe de _config.php Lancer wapiti :
wapiti.py http://fc/wiki_dev/svn/trunk/ -u
- Validation XHTML (en ligne ou locale), CSS
- pour chaque plugin
- écrire les tests manquants (beaucoup)
- Trouver un outil pour des tests de charge et d'endurance.
voir http://www.opensourcetesting.org/ pour trouver les outils.
|