L'objectif de ce stage est de migrer les tests vers un outil plus récent
Le contexte
Edifixio développe pour le compte d'un de ses clients, une application BtoB de vente aux distributeurs. Cette application est déployée dans soixante pays et est connectée à de multiples systèmes. C’est une application complexe sur laquelle travaillent une vingtaine de développeurs à Grenoble et en Inde.
Afin de s’assurer qu’au cours du développement nous ne cassons pas des fonctionnalités existantes de l’application, nous avons mis en place un ensemble de tests automatisés dit tests de non régression (Non Regression Tests - NRT).
Nous avons pour cela utilisé l’outil Protractor qui est désormais déprécié. Nous souhaitons donc choisir un nouvel outil utilisant la même stack technique (Node.js, Typescript) et y migrer les tests existants. Et en profiter pour mutualiser le code entre nos tests de bout en bout et nos tests de non régression.
Durée du stage : 6 mois
Les problématiques
- Comprendre le fonctionnement de l'application et ce que couvrent les tests automatiques
- Évaluer les frameworks existants et choisir le plus adapté
- Migrer les tests existants vers le nouvel outil en les adaptant si nécessaire
- Développer les fonctionnalités manquantes sur le nouvel outil d’automatisation (rapport HTML, scripts d’installation, scripts d’exécution, …)
- Étudier comment réutiliser les codes de tests de non régression pour les tests de bout en bout et inversement
- Former l’équipe à utiliser le nouveau framework
Les objectifs
A l’issue de ce stage, vous aurez migré les NRT vers un nouvel outil plus performant, simple à utiliser et à faire évoluer.
Vous aurez acquis une bonne maîtrise de Node.js et Typescript.
Ayant acquis une bonne connaissance de l’application web distribuée, vous serez prêt(e) à rejoindre son équipe de développement.
Les mots clés
- Typescript, Node.js, Protractor
- Intégration Continue, Jenkins
- Tests automatisés, NRT
Vos qualités
- Esprit d’équipe
- Exploration de nouvelles technologies
- Capacité à creuser un sujet
- Anglais parlé/lu/écrit