DonTouch SA è una digital company con sede in Svizzera e gestisce alcuni dei più grandi marketplace in Europa: Italia, Spagna, Germania e UK.
Con oltre 60.000 inserzionisti paganti all'anno, le nostre proprietà raggiungono più di 7 milioni di utenti unici attivi mensili, sul web e sulle app mobili, sia per iOS che Android.
Per la nostra sede di Chiasso (CH), selezioniamo un/a:
SOFTWARE TEST ENGINEER (SDET)
Location: ON SITE
Seniority: Senior
Contratto: Tempo indeterminato – Full time
*****************************************************************
Un professionista focalizzato sulla progettazione di architetture di test in produzione con background da Ingegnere del Software, sviluppo di codice JavaScript, Python, PHP
Specializzato nella creazione da zero di suite di test, robusti e scalabili, con comprovata esperienza nell'integrazione di test automatizzati (UI e API) e implementazione in pipeline CI/CD.
Il ruolo richiede la combinazione di mentalità analitica del QA con le competenze ingegneristiche dello sviluppatore, per garantire rilasci software rapidi, sicuri e ad alto standard qualitativo.
*****************************************************************
RUOLO e RESPONSABILITA’
- Creazione e gestione di una piattaforma di test condivisa, con catalogo test consultabile dal team
- Architettura dei Test: Scegliere e adattare i tool in base al tipo di prodotto, scalabilità e costi di manutenzione
- Cultura della Qualità: Lavorare a stretto contatto con i developer e i product owner per definire i requisiti di test fin dalla fase di design
- Manutenzione e Affidabilità: Gestire la stabilità dei test (riducendo i falsi positivi) e la pulizia del codice di test con gli stessi standard del codice di produzione
- Documentazione di processi QA su Confluence
- Strategia e ROI: Decidere cosa conviene davvero automatizzare e cosa invece è meglio lasciare manuale, ottimizzando i tempi e le risorse
Attività quotidiana
- Git, branching, code review e Pull Request
- Docker e Docker Compose per creare ambienti isolati
- Scrittura e manutenzione di codice di test in TypeScript, Python e PHP
- Gestione completa dei processi di Unit, integrazione, end-to-end test, Test API automatizzati, test mobile, performance test
- Applicazione strategie di test: smoke, regressione e risk-based testing
- Test management integrati in Jira
- Integrazione dei test in CI/CD (es. Postman/Newman, supertest, pytest, PHPUnit/Pest)
- Operatività su web e mobile
- Diagnosi tecnica autonoma
- SQL a livello operativo per query, verifica e preparazione dei dati
- Monitoraggio in rilascio (Rollback)
REQUISITI ESSENZIALI (MUST-HAVE
- 5+ anni in QA engineering con ownership nella progettazione da zero (o rifondato) la strategia di test di un prodotto in produzione
- Scrittura e manutenzione di codice di test in TypeScript, Python e PHP
- Totale abilità con Git, branching, code review e Pull Request
- Copertura dei tre livelli della piramide di test: UNIT, INTEGRAZIONE, END-TO-END
- PLAYWRIGHT a livello avanzato: page object o fixtures custom, parallelizzazione e sharding, retry policy, gestione sistematica della flakiness, esecuzione cross-browser, trace e debug dei fallimenti in CI
- Test API automatizzati: REST client, test di integrazione e contract testing, con strumenti coerenti allo stack (es. Postman/Newman, supertest, pytest, PHPUnit/Pest)
- JENKINS per l'integrazione dei test in CI/CD: pipeline, esecuzione parallela, quality gate sui rilasci, pubblicazione automatica dei report
- Progettazione di una piattaforma di test centralizzata e condivisa: un catalogo dei test consultabile da tutto il team (sviluppo, prodotto, management), con reporting aggregato cross-repo e cross-linguaggio (es. formato Allure/JUnit XML), generato automaticamente dal codice - non mantenuto a mano -, eseguibile sia in locale dal singolo sviluppatore, sia in pipeline, sia da interfaccia web
- Esperienza test su PWA . Controllo integrato e automatizzato (Appium, Maestro o equivalenti)
- Strategie di test applicate al contesto: smoke, regressione e risk-based testing. Sai decidere cosa verificare prima del rilascio. Quando la finestra di arco temporale è ridotta e non si può testare tutto, sai argomentare quel taglio con i dati
- Procedura e pratica strutturata di Exploratory Testing per individuare criticità impreviste nel flusso (pubblicazione inserzioni, pagamenti,account), oltre a quello che le suite automatiche già coprono.
- Software Risk Hunting: Rompere per testare il sistema (Edge Case estremi, Race Conditions, Error Handling distruttivo, User Abuse Simulation, Cigno Nero, Caos test, Stress test,Analisi dei margini, Mappatura dei punti ciechi …)
- Gestione di dati e ambienti di test: Seed, fixtures, isolamento e reset degli ambienti, riproducibilità. SQL a livello operativo per query, verifica e preparazione dei dati
- Diagnosi tecnica autonoma: lettura dei log, browser devtools, client API e verifica diretta sul database -> Apertura di un issue con indicazione Root Cause identificata (causa radice)
- Processo QA trasparente e condiviso, lungo tutto il ciclo di vita, in contesto Agile (Scrum/Kanban): Piani di test per le release, Suite di regressione, Triage bug dei difetti software con assegnazione gravità tecnica (Severity) e urgenza di business (Priority), Analisi di Root Cause in collaborazione con gli sviluppatori (fattibilità tecnica)
- Comunicazione operativa durante i rilasci: sai comunicare stato, rischio residuo e raccomandazione go/no-go mentre il rilascio è in corso, anche quando la risposta è impopolare, ma necessaria se emergono rischi critici per la stabilità o la sicurezza del servizio
NICE to HAVE
- Esperienza con strumenti di test management integrati in Jira (Xray, Zephyr)
- Padronanza con Confluence per documentazione di processi QA
- Confidenza nell’utilizzo di piattaforme di reporting e orchestrazione test come layer dedicato (Allure TestOps, ReportPortal, Testomat)
- Docker e Docker Compose per ambienti di test riproduc