Upload
mohammed-rhamnia
View
478
Download
3
Embed Size (px)
DESCRIPTION
Worshop à FST le 26-04-2014 : Assurer la Qualité du code des projet Symfony2
Citation preview
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Assurance qualité sur les projets Symfony
Mohammed Rhamnia
Symfony-Tunisie
26 avril 2014
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Qui suis-je ?
Mohammed Rhamnia
Symfonian depuis 6 ans.Ingénieur Développeurchez Edatis.Consultant SymfonyIndépandant.
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Les critères de qualitéLes critères pour un Symfonian
C’est quoi la Qualité ?
Pouvez-vous comprendre votre code aprés quelques temps ?Es ce que les autres peuvent comprendre votre code ?Es ce que votre application a été bien testé ?Avez vous déjà publié un code buggé ?Es ce que votre code a été bien documenter ?
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Les critères de qualitéLes critères pour un Symfonian
Les critères de qualité
Capacité fonctionelleFiabilitéFacilité d’utilisationMaintenabilitéRendement / ScalabilitéPortabilité
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Les critères de qualitéLes critères pour un Symfonian
Les critères de qualité pour un Symfonian
Mise en formeTestsDocumentation
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
PHP_CODE_SNIFFER
PHPCS : Detecteur des violation des conventions de codage
Une classe par fichier.Tout documenter.Organisation des méthodes.camelCase
http://symfony.com/doc/current/contributing/code/standards.html
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
PHP CODE SNIFFER
~$ pear install PHP_CodeSniffer~$~$ pear config -show | grep php_dir~$~$ cd /path/to/pear/PHP/CodeSniffer/
Standards~$~$ git clone git:// github.com/opensky/
Symfony2 -coding -standard.git Symfony2~$~$ phpcs --config -set default_standard
Symfony2
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
PHP CODE SNIFFER
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
PHP Mess Detector
PHPMD : Assurer la qualité de code.
Code inutile.Imbrications trop complexes.CPDDead Code
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
PHP Mess Detector
~$ pear channel -discover pear.phpmd.org~$~$ pear channel -discover pear.pdepend.org~$~$ pear install --alldeps phpmd/PHP_PMD
~$ phpmd repertoire_a_testerformat_de_sortie[text|html|xml] rulesets[codesize|unusedcode|naming|design]
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
PHP Mess Detector
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
Pourquoi Tester ?
BUT : Assurer la bonne qualité de projetTests fonctionnelsTests de performanceTests de robustesseTests de vulnérabilité
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
PhpUnit
PhpUnit : Framework pour créers des testes pour des applicationsphp.
Tests fonctionnelsTests Unitaire
~$ pear config -set auto_discover 1~$~$ pear install pear.phpunit.de/PHPUni
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
Exemple Test Unitaire
// src/Acme/DemoBundle/Utility/Calculator.php
namespace Acme\DemoBundle\Utility;
class Calculator{
public function add($a, $b){
return $a + $b;}
}
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
Exemple Test Unitaire
// src/Acme/DemoBundle/Tests/Utility/CalculatorTest.php
namespace Acme\DemoBundle\Tests\Utility;
use Acme\DemoBundle\Utility\Calculator;
class CalculatorTest extends \PHPUnit_Framework_TestCase
{public function testAdd (){
$calc = new Calculator ();$result = $calc ->add(10, 10);$this ->assertEquals (20, $result);
}} Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
Exemple Test Unitaire
~$ cp app/phpunit.xml.dist app/phpunit.xml
~$~$ phpunit -c app src/Acme/DemoBundle/
Tests/Utility/CalculatorTest.php
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
Exemple Test Fonctionelle
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
Sami
Sami : Yet another PHP API documentation generator.
Facile à installerRapideModerne
~$ git clone https :// github.com/fabpot/Sami.git ./sami
~$ cd sami~$ composer install~$ php sami.php update ../ pull/SamiConfig.
php
Mohammed Rhamnia Assurance qualité sur les projets Symfony
Qui suis-je ?C’est quoi la Qualité ?
Outils d’assurance qualité
Mise en formeTestsDocumentation
Merci
Mohammed Rhamnia Assurance qualité sur les projets Symfony