Se rendre au contenu

Software QA Engineer

Montréal, QC, Canada
À propos de Haply

Haply Robotics développe l’interface humaine pour l’intelligence artificielle physique (Physical AI).​

À mesure que les robots, les systèmes autonomes, les environnements de simulation et les outils créatifs gagnent en capacités, les interactions humaines avec ces technologies doivent devenir plus précises, intuitives et concrètes sur le plan physique. Haply développe des dispositifs haptiques de haute précision ainsi qu’une plateforme matérielle et logicielle qui relie les utilisateurs aux systèmes numériques et robotiques grâce au retour de force, à la détection des mouvements, à la communication en temps réel avec les dispositifs et aux interactions tactiles.

Nos produits comprennent Inverse, Inverse3X, Minverse, VerseGrip, HARP, Hub et le Service SDK. Ces produits nécessitent une intégration étroite entre le micrologiciel embarqué, le Service SDK, l’application de bureau Haply Hub, les applications développées par nos clients et le matériel sur lequel l’ensemble fonctionne.

À propos du poste

Nous recherchons un ingénieur ou une ingénieure en assurance qualité logicielle (QA) pour contribuer aux tests, à la validation et à la mise en production de l’ensemble des logiciels qui assurent le fonctionnement des dispositifs haptiques et robotiques de Haply.

Ce poste est axé sur les tests du micrologiciel des dispositifs Haply, du Service SDK, de Haply Hub et des applications développées à partir de ces technologies, le tout en tant que système intégré. Le travail comprend la création de tests automatisés, l’utilisation d’un banc d’essai permettant de tester l’ensemble de la plateforme sur des dispositifs réels, ainsi que la validation des versions logicielles avant leur déploiement. Il consiste également à transformer les problèmes signalés par les clients en tests permettant d’éviter qu’ils ne se reproduisent. Nous recherchons une personne capable de déterminer l’origine d’une défaillance dans le système, de la documenter clairement afin que l’ingénieur concerné puisse la corriger et d’appuyer les décisions de mise en production sur des résultats de tests concrets.

Ce poste ne se limite pas aux tests manuels. La personne idéale est capable de développer des tests automatisés, de travailler sur banc d’essai avec du matériel réel et possède une compréhension suffisante de chaque composante du système pour tester leur fonctionnement ensemble. 

Qualifications requises

  • Plus de 4 ans d’expérience pratique en assurance qualité logicielle (QA), en automatisation des tests ou en ingénierie des tests sur des produits commercialisés.
  • Solide expérience dans l’élaboration de plans et de cas de test à partir des exigences, des notes de version et des rapports de bogues.
  • Solide expérience dans la rédaction de tests automatisés en Python ou dans un langage similaire, avec pytest ou un framework comparable, ainsi que dans l’utilisation de Git et la révision de code au moyen de demandes de fusion (merge requests).
  • Expérience dans l’exécution de tests automatisés au sein de pipelines d’intégration continue (CI), tels que GitLab CI, GitHub Actions ou Jenkins, ainsi que dans la production de rapports de tests permettant d’appuyer les décisions de mise en production.
  • Expérience dans les tests de logiciels qui communiquent avec des dispositifs physiques, notamment la détection des périphériques, les pertes de connexion, les pilotes et les mises à jour du micrologiciel.
  • Expérience dans les tests d’API et de services utilisant les protocoles WebSocket, HTTP/REST ou des protocoles similaires, y compris la vérification de la compatibilité des versions entre les clients et les services.
  • Expérience dans les tests d’applications de bureau sous Windows et macOS, et idéalement sous Linux.
  • Capacité à reproduire des défaillances intermittentes et à rédiger des rapports de bogues clairs et exploitables par les ingénieurs.
  • Capacité à déterminer si une défaillance provient du micrologiciel, du service, de l’application de bureau, d’une application client, du matériel ou de l’environnement de test.
  • Capacité à lire et à comprendre du code en C, C++, Rust, Python ou TypeScript suffisamment bien pour retracer l’origine d’une défaillance dans le code source et en discuter avec le développeur responsable.
  • Expérience en validation des versions logicielles, notamment l’exécution de tests de régression, les vérifications de compatibilité, la révision des notes de version et la formulation de recommandations concernant l’autorisation ou le report d’une mise en production.
  • Expérience dans la gestion de la traçabilité des tests, avec des identifiants de test stables liés aux exigences, aux résultats et aux anomalies.
  • Excellentes compétences en communication et capacité à collaborer avec les équipes responsables des micrologiciels, des logiciels, du matériel, des produits et du soutien technique.

Expérience fortement souhaitée

  • Expérience avec les tests matériel-en-boucle (Hardware-in-the-Loop ou HIL), les bancs d’essai ou les simulateurs de dispositifs.
  • Expérience dans les tests d’applications de bureau développées avec Tauri ou Electron, y compris l’automatisation des tests d’interface utilisateur à l’aide de WebdriverIO, Playwright ou d’outils similaires.
  • Expérience dans les tests de compatibilité entre différentes versions, notamment l’utilisation de matrices de compatibilité des versions, les tests de contrat, le versionnement sémantique et les politiques de prise en charge des versions.
  • Expérience dans les tests de systèmes en temps réel ou sensibles à la latence, notamment la réalisation de tests de performance et la détection des régressions liées aux temps de réponse.
  • Expérience dans les tests des processus de mise à jour du micrologiciel et de connexion des dispositifs via USB, une liaison série, Bluetooth ou d’autres connexions sans fil.
  • Expérience en ingénierie des mises en production, notamment la gestion des canaux de diffusion alpha, bêta et stable, des indicateurs de fonctionnalités (feature flags), des déploiements progressifs et des plans de retour à une version antérieure.
  • Expérience dans l’analyse et le triage des rapports de plantage provenant de Sentry ou d’outils similaires de surveillance des erreurs, ainsi que dans leur transformation en cas de test reproductibles.
  • Expérience dans le développement d’outils de test, notamment des scripts, des infrastructures de test, des dispositifs simulés et des outils d’analyse des journaux.
  • Expérience dans les tests de SDK ou d’outils de développement destinés aux développeurs externes, y compris les exemples de code et la documentation.

Atouts supplémentaires

  • Une certification ISTQB ou une certification similaire constitue un atout, mais l’expérience pratique en automatisation des tests sur des produits réels est plus importante pour ce poste.
  • Expérience avec les dispositifs haptiques, la robotique, la téléopération, l’intelligence artificielle physique (Physical AI), la simulation ou les interfaces humain-machine.
  • Expérience des pratiques de développement de logiciels pour dispositifs médicaux, notamment celles définies par les normes IEC 62304 ou ISO 13485.
  • Expérience dans les tests d’intégrations avec Unity, Unreal ou d’autres moteurs de jeu.
  • Expérience en développement avec Rust ou C++.
  • Le bilinguisme français-anglais constitue un atout.

What's great in the job?


  • Great team of smart people, in a friendly and open culture
  • No dumb managers, no stupid tools to use, no rigid working hours
  • No waste of time in enterprise processes, real responsibilities and autonomy
  • Expand your knowledge of various business industries
  • Create content that will help our users on a daily basis
  • Real responsibilities and challenges in a fast evolving company
Our Product
Our Product

Discover our products.

READ

What We Offer

Each employee has a chance to see the impact of his work. You can make a real contribution to the success of the company.
Several activities are often organized all over the year, such as weekly sports sessions, team building events, monthly drink, and much more


Perks

A full-time position
Attractive salary package.


Trainings

12 days / year, including
6 of your choice.


Sport Activity

Play any sport with colleagues,
the bill is covered.


Eat & Drink

Fruit, coffee and
snacks provided.