Serviços de testes de desempenho e de carga
Serviços de testes de desempenho e de carga: testes de carga, de stress, de pico e de soak em k6, JMeter, Gatling e Locust, planeamento de capacidade antes de lançamentos e picos de vendas, análise de estrangulamentos no código, nas bases de dados e na infraestrutura, desempenho do front end e Core Web Vitals, e testes de desempenho em CI, com engenheiros de desempenho dedicados para a sua equipa ou projetos de testes de desempenho entregues de ponta a ponta.
Testes de desempenho que realizamos
Testes de carga
O tráfego esperado, modelado a partir de registos de produção e de análises como percursos de utilizador com tempo de reflexão e dados realistas, executado até que os tempos de resposta, as taxas de erro e a utilização de recursos mostrem em que ponto o sistema se encontra face aos seus objetivos.
Testes de stress e de pico
Carga aumentada para além do pico esperado para encontrar o ponto de rutura e o que falha primeiro, e subidas súbitas, como um e-mail de marketing ou o lançamento de bilhetes, para ver se o autoscaling reage a tempo e se o sistema recupera sozinho.
Testes de soak e de resistência
Carga constante mantida durante horas ou dias para encontrar fugas de memória, pools de ligações esgotados, filas a crescer e discos a encher-se de registos, os problemas que um teste curto nunca alcança.
Scripts k6, JMeter, Gatling e Locust
Grafana k6 em JavaScript, Apache JMeter para planos de teste existentes e protocolos para além do HTTP, Gatling em Java ou TypeScript e Locust em Python, com os scripts mantidos no repositório junto do código que testam.
Análise de estrangulamentos
Resultados analisados em conjunto com traces, métricas e perfis no Grafana, Datadog, New Relic ou Application Insights, de modo que uma resposta lenta seja rastreada até à query, ao bloqueio, ao thread pool ou à chamada externa que a causa, e cada correção seja testada de novo sob a mesma carga.
Planeamento de capacidade para lançamentos e picos
Testes de carga dimensionados para um lançamento, um pico de vendas ou uma campanha, com o número de instâncias e os limites de autoscaling que aguentam essa carga documentados e o custo de operar no pico estimado antes do dia.
Desempenho do front end e Core Web Vitals
Largest Contentful Paint, Interaction to Next Paint e Cumulative Layout Shift acompanhados a partir de dados de campo de utilizadores reais, com Lighthouse e WebPageTest em laboratório para encontrar a causa, e depois melhorados através de alterações em imagens, scripts, tipos de letra e cache.
Testes de desempenho em CI
Testes de carga curtos, com limiares de aprovação e de falha, em cada release no GitHub Actions, GitLab CI ou Azure Pipelines, execuções maiores no Grafana Cloud k6, Azure Load Testing ou BlazeMeter, e cada execução comparada com a build anterior, para que uma regressão seja detetada antes de os utilizadores a sentirem.
Testes de resiliência e de failover
Instâncias, zonas e dependências desligadas sob carga com o AWS Fault Injection Service, o Azure Chaos Studio ou o Chaos Mesh, para verificar que o failover, as repetições e os circuit breakers funcionam e que a recuperação cumpre o seu objetivo.
Contratar engenheiros de desempenho
engenheiros de desempenho dedicados
Engenheiros de desempenho que integram a sua equipa a tempo inteiro, trabalham nas suas ferramentas e no seu processo, e reportam ao seu responsável. A sua empresa entrevista-os; nós assumimos o contrato ucraniano, o processamento salarial, a faturação e as férias.
Projetos de Testes de desempenho
Uma parcela definida de testes de desempenho, com âmbito, plano fixo e um responsável identificado do nosso lado, que responde pelo resultado e reporta o progresso nos seus canais.
testes de desempenho em regime contínuo
Testes de desempenho como serviço contínuo: as mesmas pessoas todos os meses, um backlog que a sua empresa prioriza e horas que pode consultar no nosso portal e na fatura.
A página da equipa dedicada explica como os especialistas integram a sua equipa, e a página de outsourcing aborda a entrega de projetos, as tomadas a cargo e a forma como cobramos.
Quem trabalha em testes de desempenho para a sua empresa
Engenheiros de desempenho
Modelos de carga, scripts e análise
Engenheiros de site reliability
Monitorização, autoscaling e capacidade
Programadores de back-end
Correções em código, queries e cache
Administradores de bases de dados
Planos de execução, índices e limites de ligações
Programadores front end
Melhorias nos Core Web Vitals
Como conduzimos os testes de desempenho
Cada teste parte de um objetivo escrito: o número de utilizadores ou de pedidos, o tempo de resposta no percentil 95 ou 99, a taxa de erro aceitável e o custo. A carga é modelada com base no tráfego de produção, os dados de teste são gerados com o volume de produção e o teste corre num ambiente dimensionado como a produção, ou na própria produção numa janela acordada.
Os resultados vêm acompanhados de uma explicação, e não apenas de um gráfico: que componente atingiu o limite, porquê e que alteração o desloca, com cada correção confirmada por uma nova execução sob a mesma carga. Os scripts, os geradores de dados e os limiares ficam no seu repositório, para que a sua equipa possa executar os mesmos testes antes de cada release.
Outros serviços de testes de software
Testes manuais
Serviços de testes manuais: testes funcionais, de regressão e exploratórios, desenho de casos de teste, testes em vários browsers e dispositivos e apoio a UAT, com engenheiros de QA manual dedicados ou entrega de projetos.
Automatização de testes
Serviços de automatização de testes: suites em Playwright, Selenium, Cypress e WebdriverIO, trabalho de SDET, testes de API e visuais, e integração com CI, com engenheiros de automatização de testes dedicados ou entrega de projetos.
Testes de aplicações móveis
Serviços de testes de aplicações móveis: testes iOS e Android em dispositivos reais e device farms, automatização com Appium, Espresso, XCUITest e Maestro, e verificações de release nas lojas, com engenheiros de QA móvel dedicados ou entrega de projetos.
Testes de API
Serviços de testes de API: testes REST, GraphQL e gRPC em Postman, REST Assured e código, testes de contrato com Pact, validação OpenAPI e mocks de serviços, com engenheiros de testes de API dedicados ou entrega de projetos.
Testes de acessibilidade
Serviços de testes de acessibilidade: auditorias WCAG 2.2, testes com leitor de ecrã e teclado, verificações axe na integração contínua, apoio à correção e relatórios de conformidade, com testers de acessibilidade dedicados ou entrega de projetos.
Perguntas sobre testes de desempenho e de carga
Em que setores trabalham os engenheiros de desempenho?
Sobretudo comércio eletrónico e retalho, antes de picos de vendas e campanhas; fintech e banca, onde os sistemas de pagamentos e de negociação têm objetivos de latência; produtos SaaS empresariais que recebem clientes maiores; serviços de media e streaming cujo tráfego chega todo de uma vez; e operadores de telecomunicações, cloud e alojamento a dimensionar as suas plataformas.
Fazem testes de carga em produção?
Sim, quando o ambiente de staging não consegue reproduzir o sistema real. O teste corre numa janela de baixo tráfego acordada, aumenta a carga por fases com condições de paragem baseadas na taxa de erro e na latência, usa contas e dados de teste que são removidos depois, e tem um contacto identificado de cada lado a acompanhá-lo.
k6, JMeter ou Gatling?
k6 para a maioria dos trabalhos novos: os testes são escritos em JavaScript, executados a partir da linha de comandos e integram-se bem num pipeline. JMeter quando já existem planos de teste ou o protocolo não é HTTP, como JDBC, JMS ou TCP simples. Gatling para equipas que trabalham em Java ou TypeScript, e Locust para equipas Python. Trabalhamos também com a ferramenta que a sua equipa já utilizar.
Em quanto tempo podem começar engenheiros de desempenho?
Quando o engenheiro de desempenho adequado está disponível, o arranque depende apenas da sua entrevista, do NDA e da cedência de propriedade intelectual. Caso contrário, fazemos uma pesquisa, que normalmente produz perfis de candidatos em duas a três semanas, e ninguém começa antes de a sua empresa dar o seu acordo.
Como contratamos engenheiros de desempenho através da BigTree108?
Diga-nos qual é o trabalho, a senioridade e o horário de que precisa. Propomos uma ou duas pessoas com os respetivos perfis, a sua empresa entrevista-as como entrevistaria uma contratação própria, e assina um único contrato com a BIG TREE 108 LLC e recebe uma fatura por mês.
A quem pertence o trabalho que produzem?
A sua empresa. Cada especialista tem um contrato assinado com a BigTree108 que atribui à empresa todo o trabalho produzido, e o nosso contrato com a sua empresa atribui-lho. O código, os designs e os documentos são entregues nos seus próprios repositórios e ferramentas, e não mantidos onde só nós os podemos alterar.
Espera mais tráfego?
Diga-nos o que faz o sistema, quanto tráfego recebe hoje e quanto espera vir a receber. Recebe resposta no prazo de um dia útil: um plano de testes com objetivos, perfis de candidatos ou um âmbito para um primeiro teste de carga.