Servizi di test di performance e di carico
Servizi di test di performance e di carico: test di carico, stress, spike e soak in k6, JMeter, Gatling e Locust, capacity planning prima di lanci e picchi di vendita, analisi dei colli di bottiglia in codice, database e infrastruttura, performance del front end e Core Web Vitals, e test di performance nella CI, con performance engineer dedicati al Suo team o progetti di test di performance realizzati end to end.
I test di performance che eseguiamo
Test di carico
Il traffico atteso, modellato a partire dai log di produzione e dalle analytics come percorsi utente con tempi di attesa e dati realistici, eseguito finché tempi di risposta, tassi di errore e uso delle risorse mostrano a che punto si trova il sistema rispetto agli obiettivi.
Test di stress e di spike
Carico portato oltre il picco atteso per trovare il punto di rottura e ciò che cede per primo, e improvvisi aumenti come l’invio di una e-mail di marketing o l’apertura della vendita di biglietti, per vedere se l’autoscaling reagisce in tempo e se il sistema si riprende da solo.
Test di soak e di durata
Carico costante mantenuto per ore o giorni per trovare perdite di memoria, pool di connessioni esauriti, code che crescono e dischi che si riempiono di log, i problemi che un test breve non raggiunge mai.
Script k6, JMeter, Gatling e Locust
Grafana k6 in JavaScript, Apache JMeter per piani di test esistenti e per protocolli diversi da HTTP, Gatling in Java o TypeScript e Locust in Python, con gli script conservati nel repository accanto al codice che testano.
Analisi dei colli di bottiglia
Risultati letti insieme a trace, metriche e profili in Grafana, Datadog, New Relic o Application Insights, così che una risposta lenta venga ricondotta alla query, al lock, al thread pool o alla chiamata esterna che la causa, e ogni correzione venga ritestata con lo stesso carico.
Capacity planning per lanci e picchi
Test di carico dimensionati per un lancio, un picco di vendite o una campagna, con numero di istanze e limiti di autoscaling che reggono quel carico messi per iscritto e il costo di funzionamento al picco stimato prima del giorno in questione.
Performance del front end e Core Web Vitals
Largest Contentful Paint, Interaction to Next Paint e Cumulative Layout Shift monitorati dai dati sul campo degli utenti reali, con Lighthouse e WebPageTest in laboratorio per individuare la causa, e poi migliorati con interventi su immagini, script, font e caching.
Test di performance nella CI
Brevi test di carico con soglie di superamento e di fallimento a ogni release in GitHub Actions, GitLab CI o Azure Pipelines, esecuzioni più ampie in Grafana Cloud k6, Azure Load Testing o BlazeMeter, e ogni esecuzione confrontata con la build precedente, così che una regressione venga intercettata prima che gli utenti la percepiscano.
Test di resilienza e di failover
Istanze, zone e dipendenze messe fuori servizio sotto carico con AWS Fault Injection Service, Azure Chaos Studio o Chaos Mesh, per verificare che failover, tentativi ripetuti e circuit breaker funzionino e che il ripristino rispetti l’obiettivo.
Ingaggiare performance engineer
performance engineer dedicati
Performance engineer che entrano a tempo pieno nel Suo team, lavorano con i Suoi strumenti e il Suo processo e rispondono al Suo responsabile. Li intervista Lei; noi ci occupiamo del contratto ucraino, delle buste paga, della fatturazione e delle ferie.
Progetti di Test di performance
Un’attività di test di performance ben definita, con un perimetro, un piano fisso e un responsabile nominato da parte nostra che risponde del risultato e riferisce sull’avanzamento nei Suoi canali.
test di performance su base continuativa
Test di performance come servizio continuativo: le stesse persone ogni mese, un backlog di cui Lei stabilisce le priorità e ore che può vedere nel nostro portale e in fattura.
La pagina sul team dedicato spiega come gli specialisti entrano nel Suo team, e la pagina sull’outsourcing tratta la realizzazione di progetti, le prese in carico e il modo in cui fatturiamo.
Chi si occupa di test di performance per Lei
Performance engineer
Modelli di carico, script e analisi
Site reliability engineer
Monitoraggio, autoscaling e capacità
Sviluppatori backend
Correzioni in codice, query e caching
Amministratori di database
Piani di esecuzione, indici e limiti di connessione
Sviluppatori front end
Miglioramenti dei Core Web Vitals
Come eseguiamo i test di performance
Ogni test parte da un obiettivo scritto: il numero di utenti o di richieste, il tempo di risposta al 95º o al 99º percentile, il tasso di errore accettabile e il costo. Il carico è modellato sul traffico di produzione, i dati di test sono generati con volumi di produzione e il test gira su un ambiente dimensionato come la produzione, oppure sulla produzione stessa in una finestra concordata.
I risultati arrivano con una spiegazione, non solo con un grafico: quale componente ha raggiunto il limite, perché e quale modifica lo sposta, con ogni correzione confermata da una nuova esecuzione con lo stesso carico. Script, generatori di dati e soglie restano nel Suo repository, così il Suo team può eseguire gli stessi test prima di ogni release.
Altri servizi di software testing
Test manuali
Servizi di test manuali: test funzionali, di regressione ed esplorativi, progettazione dei casi di test, test cross-browser e cross-device e supporto agli UAT, con QA engineer manuali dedicati o realizzazione di progetti.
Test automation
Servizi di test automation: suite Playwright, Selenium, Cypress e WebdriverIO, attività da SDET, test di API e visivi e integrazione nella CI, con test automation engineer dedicati o realizzazione di progetti.
Test di app mobile
Servizi di test di app mobile: test iOS e Android su dispositivi reali e device farm, automazione con Appium, Espresso, XCUITest e Maestro e controlli per la pubblicazione sugli store, con mobile QA engineer dedicati o realizzazione di progetti.
Test delle API
Servizi di test delle API: test REST, GraphQL e gRPC in Postman, REST Assured e nel codice, contract testing con Pact, validazione OpenAPI e mock dei servizi, con API test engineer dedicati o realizzazione di progetti.
Test di accessibilità
Servizi di test di accessibilità: audit WCAG 2.2, test con screen reader e tastiera, controlli axe nella CI, supporto alla correzione e report di conformità, con tester di accessibilità dedicati o realizzazione di progetti.
Domande sui test di performance e di carico
In quali settori lavorano i vostri performance engineer?
Soprattutto e-commerce e retail, prima di picchi di vendita e campagne; fintech e banche, dove i sistemi di pagamento e di trading hanno obiettivi di latenza; prodotti SaaS enterprise che acquisiscono clienti più grandi; servizi media e di streaming il cui traffico arriva tutto insieme; e operatori di telecomunicazioni, cloud e hosting che dimensionano le proprie piattaforme.
Potete eseguire test di carico in produzione?
Sì, quando lo staging non può riprodurre il sistema reale. Il test si svolge in una finestra concordata a basso traffico, aumenta il carico per gradi con condizioni di arresto su tasso di errore e latenza, usa account e dati di test che vengono rimossi al termine e ha un referente indicato per nome da ciascuna parte che lo segue.
k6, JMeter o Gatling?
k6 per la maggior parte dei nuovi lavori: i test si scrivono in JavaScript, si eseguono da riga di comando e si adattano a una pipeline. JMeter dove esistono già piani di test o il protocollo non è HTTP, come JDBC, JMS o TCP puro. Gatling per i team che lavorano in Java o TypeScript e Locust per i team Python. Lavoriamo anche con lo strumento che il Suo team usa già.
Con quale rapidità possono iniziare performance engineer?
Quando è disponibile il profilo giusto per il ruolo di performance engineer, l’avvio dipende soltanto dal Suo colloquio e dalla firma dell’NDA e della cessione della proprietà intellettuale. Altrimenti avviamo una ricerca, che di norma produce profili di candidati entro due o tre settimane, e nessuno inizia finché Lei non ha detto di sì.
Come ingaggiare performance engineer tramite BigTree108?
Ci indichi il lavoro, il livello di seniority e l’impegno orario necessario. Le proponiamo una o due persone con i rispettivi profili, Lei le intervista come farebbe con una Sua assunzione e firma un unico contratto con BIG TREE 108 LLC, ricevendo una sola fattura al mese.
A chi appartiene il lavoro che producono?
A Lei. Ogni specialista ha un contratto firmato con BigTree108 che cede all’azienda tutto il lavoro prodotto, e il nostro accordo con Lei lo cede a sua volta. Codice, design e documenti vengono consegnati nei Suoi repository e strumenti, non conservati dove solo noi possiamo modificarli.
Si aspetta più traffico?
Ci indichi che cosa fa il sistema, quanto traffico riceve oggi e quanto ne prevede. Riceverà una risposta entro un giorno lavorativo: un piano di test con gli obiettivi, profili di candidati o il perimetro di un primo test di carico.