Dans cette annonce, l'utilisation du genre masculin a été adoptée afin de faciliter la lecture, et n'a aucune intention discriminatoire.
Qui sommes-nous?
Avec 40 000 consultants dans le monde, ALTEN est un leader dans le secteur de l'ingénierie et du conseil informatique. Depuis plus de 30 ans, nous contribuons à l'optimisation de la performance technologique des entreprises.
Afin d'accompagner notre client dans le domaine de l'investissement financier, nous recherchons un Coach QA pour qui agira également à titre de représentant principal de leur stratégie en ce qui concerne l'automatisation des tests.
Responsabilités :
1. PRIMAIRE
- Travailler en collaboration avec les ingénieurs logiciels et les responsables qualité pour automatiser les cas de test actuellement exécutés manuellement.
- Vous travaillez avec des équipes interfonctionnelles pour les aider à atteindre une couverture de code globale de 70 % grâce à des tests unitaires automatisés en participant à l'écriture et à la conception des tests.
- Promouvoir par l'exemple les meilleures pratiques d'automatisation des tests auprès des équipes de génie logiciel.
- Travailler en étroite collaboration avec l'équipe actuelle des évangélistes de l'automatisation des tests afin de garantir une vision et une voix communes aux équipes d'ingénierie logicielle.
- Le candidat travaille de manière indépendante avec un minimum d'encadrement.
- Aider à l'intégration des nouvelles technologies d'automatisation des tests de l'organisation (WireMock, Pact)
- Travailler dans une organisation 100% Agile avec une approche Extreme Programming (XP).
2. SECONDAIRE
- Mentorat et soutien aux ingénieurs logiciels par le biais de la programmation en binôme, de sessions Mob, d'ateliers de formation et de la communauté de pratique interne afin de fournir des conseils pour l'écriture de tests automatisés appropriés.
- Evangéliste de l'automatisation des tests aidant l'organisation dans sa transformation "Shift Left" (DevOps).
- Examiner et comprendre les exigences du projet ou de l'application, mener une revue des ambiguïtés en tant qu'évangéliste de l'automatisation des tests.
- Participer à la transformation d'applications monolithiques en systèmes distribués plus évolutifs et résilients.
3. POSSIBLEMENT
- Participer au développement actif de logiciels avec les autres ingénieurs logiciels
- Participer aux revues de l'architecture du système, du code et des documents de conception
- Concevoir et développer des codes d'automatisation complexes, des scripts, des utilitaires, des simulateurs, des générateurs de données, des solutions de test API/Interface et d'autres outils de test programmatiques nécessaires à l'exécution des tests.
- Préparer une stratégie de test solide, un plan de test, des cas de test, enregistrer les défauts et produire des rapports d'état.
Profil :
ESSENTIEL
- Maîtrise de la théorie de l'automatisation des tests (Pyramide des tests, Type de tests, Mock vs stubs vs spies, Bonnes pratiques vs mauvaises pratiques)
- Expérience prouvée dans les tests de contrats avec le framework Pact
- Bonne expérience de l'utilisation d'outils de simulation d'API basées sur HTTP tels que WireMock
- Expérience avérée dans l'utilisation de frameworks de tests unitaires tels que MS Test et/ou xUnit framework
- Expérience démontrable dans l'utilisation d'un framework de mocking tel que MOQ dans les tests unitaires de code d'application C# et .Net Core
- Expérience intermédiaire (~5+ ans) dans l'utilisation d'un langage OO moderne, idéalement C#, dans l'écriture de tests automatisés et dans le refactoring de code.
IMPORTANT
- Expérience technique pratique démontrée en développement piloté par les tests (TDD), en développement piloté par les tests d'acceptation (ATDD) et en développement piloté par le comportement (BDD).
- Expérience démontrable des techniques modernes de développement agile de logiciels, telles que la programmation en binôme et/ou la programmation extrême, afin d'améliorer la productivité et la qualité des produits logiciels.
- Compréhension avérée des principes fondamentaux de l'informatique - conception d'algorithmes, résolution de problèmes, analyse de la complexité et structures de données.
- Expérience technique pratique démontrée dans le remaniement de l'héritage, de l'architecture des applications modernes et du code des applications natives/hybrides pour permettre la testabilité.
- Expérience avérée des langages de programmation modernes et des technologies de développement courantes avec des compétences en matière d'architecture et de conception logicielles.
BON A SAVOIR
- Expérience dans la mise en œuvre de cadres de qualité avec des portes de qualité dans un cadre CI/CD.
- Expérience d'outils tels que Postman, ReadyAPI (anciennement Soap UI Pro) ou similaires dans un contexte d'automatisation des tests.
- Expérience de Cypress, Selenium WebDriver ou d'un cadre d'automatisation de l'interface utilisateur comparable
- Expérience de l'ingestion et de la transformation de données, de l'analyse ou de la prise de décision
- Expérience des outils d'intégration continue tels que Azure DevOps CI, Jenkins, Bamboo, GitLab ou similaires.
- Expérience avec des frameworks de qualité de code automatisés tels que SonarQube, Vercode ou similaires
- Connaissance pratique des tests de charge et de performance
- Expérience dans les bases de données et les requêtes SQL pour la validation des données à l'aide de cadres de tests automatisés.
Environnement technique :
1. PRIMAIRE
- C#
- .Net Core
- git
- xUnit
- Moq
- Pact Framework
- WireMock
o 2. SECONDAIRE
- Azure DevOps
- Docker
- OpenAPI
Job Types: Full-time, Permanent, Freelance
Salary: $120,000.00-$135,000.00 per year
Benefits:
- Commuter benefits
- Company events
- Dental care
- Extended health care
- Paid time off
- RRSP match
- Vision care
Schedule:
- Day shift
- Monday to Friday
Experience:
- quality assurance: 8 years (required)
Work Location: Hybrid remote in Montréal, QC