Les tests
(Ou comment ne pas flipper pendant les MEP)
De quoi on parle?
Tester, c'est douter
Tester, c'est savoir coder

Lexique
Tests unitaires
Tester indépendamment une fonction/méthodes
Tests de validation
Tester la conformité au cahier des charges
Tests d'intégration
Tester l'ensemble des modules
...
Lexique

Cékoiça?
Lexique
Code coverage
Unité de mesure relative à la qualité des tests écrits
Mock (bouchon)
Simuler le retour d'une fonction lors des tests
Assertion
Étape de validation d'un comportement
Pourquoi tester?
Automatiser les tests pour :
- Gagner du temps
- Rendre les systèmes robustes
- Mettre en place un workflow
- Tester la non-régression lors de modif internes
- Structurer le code
Pourquoi ne pas tester
Écrire des tests...
... c'est compliqué... c'est chiant à configurer- ... c'est chiant
- ... ça prend du temps
On a déjà trop de features...
C'est pas possible de tout tester...
Comment tester?
Workflow pour une nouvelle feature
1) Constuire un jeu de données cohérents
2/3) Écrire les tests
2/3) Écrire le code
4) Pusher dans le saut de b*tes
5) Mettre en production
To be continued...
Comment tester?
Workflow pour un bug
1) Écrire le(s) test(s)
2) Écrire le fix
3) Pusher dans le saut de b*tes
4) Mettre en production
To be continued...
Comment tester?
$I->wantTo("POST /users - Create a new user");
$token = $this->getToken('user', 'user', 'admin');
// $I->haveHttpHeader("Authorization", "Bearer " . $token);
$I->sendPOST('/users');
$I->seeResponseIsJson();
$I->seeResponseContainsJson(array(
'status' => 200,
'error_code' => 'success_request',
'message' => 'OK',
'results' => array (
'first_name' => 'John',
'last_name' => 'Doe',
'email' => 'john.doe@mail.com'
)
));Le futur (proche ou passé)
Intégration continue (Bitbucket Pipelines)
Remontée du code coverage
API testée intégralement
Déploiement continu

Jamais sans mon test
Tests.
By caligone
Tests.
- 201