Privacy statement: Your privacy is very important to Us. Our company promises not to disclose your personal information to any external company with out your explicit permission.
Tentar economizar dinheiro em testadores pode parecer inteligente no início, mas a baixa qualidade dos testes pode rapidamente se transformar em um problema muito mais caro. Testadores fracos aumentam o risco de defeitos escaparem, provocando tempos de inatividade inesperados, atrasos, retrabalho e perda de produtividade. O que parece ser um custo inicial mais baixo pode acabar custando 10 vezes mais no longo prazo. O investimento mais inteligente são testes confiáveis que protegem o tempo de atividade, reduzem riscos e mantêm as operações funcionando perfeitamente.
Já vi um simples erro de teste se transformar em um erro muito caro. Um testador fraco geralmente parece barato no início. A taxa horária parece mais baixa, a integração parece fácil e a equipe se move rapidamente. Então o produto começa a escorregar. Bugs atingem os usuários. Os tickets de suporte aumentam. A data de lançamento muda novamente. Tenho observado equipes gastarem muito mais consertando problemas perdidos do que gastariam em testes cuidadosos desde o início. É por isso que testadores ruins custam mais do que muitas equipes esperam. Presto muita atenção aos detalhes que protegem um produto antes de ele ser lançado. Bons testes não consistem apenas em encontrar bugs. Trata-se de encontrar os bugs certos, no estágio certo, antes que se transformem em reclamações de usuários, perda de vendas e perda de confiança. Quando os testes são fracos, o custo aumenta em camadas. Um bug no fluxo de pagamento pode bloquear uma compra. Um formulário quebrado pode impedir que leads cheguem à sua equipe. Um pequeno problema de layout móvel pode afastar os usuários antes que leiam uma única linha. Já vi isso acontecer com uma página de checkout que funcionava em um navegador e falhava em outro. A equipe achou que a página estava pronta. O testador verificou o caminho principal, clicou uma vez e assinou. Após o lançamento, os usuários de um navegador comum não conseguiam concluir o pagamento. A correção em si foi simples. O atraso, a carga de suporte e a perda de pedidos não foram nada simples. Esse é o verdadeiro problema. Testadores ruins nem sempre falham de maneira ruidosa. Eles sentem falta das questões silenciosas que mais tarde custarão dinheiro. Vejo os testes como parte da proteção do negócio. Um testador forte me ajuda a reduzir o risco de três maneiras. Eles pensam além do caminho feliz. Muitos testadores fracos testam apenas o que deveria funcionar. Bons testadores tentam o que pode quebrar. Eles usam entradas estranhas. Eles atualizam as páginas. Eles trocam de dispositivo. Eles alteram a velocidade da rede. Eles perguntam: “E se o usuário fizer isso?” Eles relatam claramente. Um relatório de bug deve ajudar o desenvolvedor a agir rapidamente. Se as etapas forem vagas, a equipe perde tempo tentando repetir o problema. Se o resultado esperado estiver faltando, a correção ficará mais lenta. Notas claras economizam horas. Eles se preocupam com a experiência do usuário. Um produto pode passar por uma verificação básica e ainda assim ser ruim de usar. Os botões podem ser difíceis de tocar. Mensagens de erro podem confundir as pessoas. Um formulário pode exigir muito. Bons testadores percebem esses pontos porque afetam a conversão e a retenção. Eu uso uma maneira simples de julgar se um testador ajuda ou prejudica o projeto. Pergunto se eles podem reproduzir o problema. Pergunto se eles podem explicar o impacto. Eu pergunto se eles podem mostrar as etapas exatas. Pergunto se eles percebem padrões, não apenas erros isolados. Se a resposta for fraca nessas áreas, sei que a equipe poderá pagar mais tarde. Um processo de teste robusto também me ajuda a evitar desperdícios ocultos. Quando os bugs escapam para a produção, os engenheiros interrompem o trabalho planejado e passam para o controle de danos. Os designers podem precisar ajustar as telas novamente. As equipes de suporte atendem usuários frustrados. Os gestores perdem tempo analisando o mesmo problema em canais diferentes. Um defeito esquecido pode afastar várias pessoas de trabalhos úteis. É por isso que não julgo os testes apenas pelo salário ou custo do contrato. Eu julgo pelo custo do que é perdido. Se quero melhores resultados, sigo alguns passos práticos. Eu defino o fluxo do produto antes do início dos testes. Listo as principais ações do usuário que devem funcionar. Separo os caminhos críticos dos menos urgentes. Compartilho detalhes do dispositivo, navegador e tipo de usuário. Isso dá ao testador um alvo claro. Também peço casos de teste que correspondam ao uso real. Um teste de login não consiste apenas em “inserir nome de usuário e senha”. Também cobre campos vazios, senhas erradas, redefinição de senha, comportamento de copiar e colar e regras de bloqueio de conta. Essa visão mais ampla detecta os problemas precocemente. Eu mantenho os relatórios de bugs curtos e úteis. Um bom relatório contém as etapas, o resultado, o comportamento esperado, capturas de tela, se necessário, e os detalhes do ambiente. Esse formato ajuda a equipe a avançar mais rápido. Não aceito “falhou” como suficiente. Preciso de provas, contexto e um caminho para repetir o problema. Também reviso como o testador pensa durante casos extremos. Eles testam internet lenta? Eles verificam dados antigos? Eles usam o comportamento real do cliente ou apenas dados de teste simples? Eles encontram problemas antes que uma revisão de lançamento os encontre? Essas perguntas me dizem mais do que uma lista de ferramentas jamais poderia. Um exemplo prático fica comigo. Uma equipe com quem trabalhei lançou uma página de inscrição que parecia boa no desktop. O testador usou um tamanho de tela e um navegador. Em telefones menores, o botão enviar ficava abaixo da dobra e a mensagem de erro do formulário cobria o campo de senha. Novos usuários desistiram. A equipe não perdeu todo o produto. Eles perderam a confiança no ponto exato onde a confiança deveria ter começado. É por isso que trato os testadores como parte da proteção de receitas, e não apenas como suporte técnico. Quando um testador é fraco, o custo não permanece no controle de qualidade. Ele se espalha para suporte, engenharia, marketing e comportamento do usuário. Quando um testador é forte, a equipe embarca com mais calma. As pessoas gastam menos tempo resolvendo problemas evitáveis. Os usuários enfrentam menos surpresas. O produto parece mais estável e o dia de trabalho parece menos caótico. Eu me importo com esse equilíbrio. Quero testes que vejam o usuário real, não apenas a lista de verificação. Quero relatórios que ajudem a equipe a agir rapidamente. Quero menos surpresas após o lançamento. Essa é a parte que muitas equipes perdem quando olham apenas para o custo de um testador. O custo real não é a pessoa que você contrata. O custo real são os problemas que você não detecta.
Tenho visto um padrão simples repetido entre equipes. Uma empresa tenta economizar um pequeno orçamento em testes. O lançamento sai com verificações fracas, relatórios de bugs desleixados e acompanhamento deficiente. Então o custo oculto começa a crescer. Uma página de checkout quebrada perde pedidos. Um formulário móvel falha em um navegador e os usuários saem. Um pequeno erro de etiqueta cria tickets de suporte. Um caso extremo perdido se transforma em um reembolso, uma reclamação e uma confiança prejudicada que leva semanas para ser reconstruída. Eu costumava pensar que testadores ruins causavam apenas pequenos atrasos. Eu não vejo dessa forma agora. Um testador ruim faz mais do que ignorar bugs. Um testador ruim pode atrasar toda a equipe, confundir os desenvolvedores e fazer com que um produto pareça menos confiável do que realmente é. Eu observei isso acontecer no trabalho real. Uma equipe com a qual trabalhei tinha um fluxo de checkout que parecia bom em seu caminho de teste principal. O testador verificou o caminho feliz, desligou e seguiu em frente. Ninguém tentou um código de cupom com alteração de frete. Essa pequena lacuna levou à falha nos pagamentos para um grupo de compradores recorrentes. A correção em si não foi difícil. O custo veio dos pedidos perdidos, dos e-mails irritados e das horas extras de suporte. Essa é a parte que muitas equipes perdem. Eles veem o salário do testador. Eles não veem o custo do bug que escapou. Acho que o verdadeiro problema começa com hábitos fracos. Um testador fraco geralmente verifica apenas o que é fácil. Um testador ruim pode pular casos extremos. Um testador ruim pode escrever relatórios sem etapas, detalhes do dispositivo ou provas claras. Um testador ruim pode apressar um lançamento porque deseja marcar a tarefa como concluída. Esse tipo de trabalho dá uma falsa sensação de segurança. O produto parece testado. Os usuários encontram as lacunas. Quando reviso o trabalho de teste, procuro alguns sinais. Quero ver etapas claras. Quero ver os detalhes exatos do dispositivo e do navegador. Quero ver capturas de tela ou clipes curtos quando o bug for visual. Quero ver uma breve nota que explique o que mudou, o que quebrou e que resultado vi. Quando essas peças faltarem, sei que a equipe gastará mais tempo adivinhando. Adivinhar é caro. Um desenvolvedor pode passar meio dia tentando reproduzir um bug que deveria ter sido escrito em duas linhas. Um gerente pode passar uma reunião perguntando o que deu errado. Um agente de suporte pode passar horas respondendo à mesma reclamação. Aprendi que um testador forte protege mais do que código. Um testador forte protege o tempo. Um testador forte protege o foco. Um testador forte protege a confiança. Esta é a maneira como eu lido com o trabalho de teste quando quero evitar perdas ocultas. Começo com o caminho do usuário. Eu me pergunto o que o usuário realmente deseja fazer. Se o usuário quiser comprar, testo busca, carrinho, cupom, pagamento e confirmação. Se o usuário quiser se cadastrar, eu testo o formulário, as regras de senha, a verificação de e-mail e o fluxo de mensagens de erro. Se o usuário quiser fazer upload de um arquivo, eu testo o tamanho do arquivo, o tipo de arquivo, a rede lenta e cancelo ações. Não paro no caminho fácil. Eu também tento o caminho estranho. Rede ruim. Entrada errada. Campo vazio. Clique duas vezes. Botão Voltar. Atualizar. Essas pequenas verificações detectam muitos dos bugs que escapam aos testes apressados. Eu também continuo testando notas simples. Uma boa nota não precisa de linguagem sofisticada. Precisa de fatos. O que eu cliquei. O que eu esperava. O que eu vi. Qual dispositivo eu usei. Qual compilação eu testei. Esse tipo de nota economiza tempo para todos. Ele permite que o desenvolvedor reproduza o problema sem suposições. Permite que o gerente veja o risco sem uma chamada longa. Isso me permite manter um registro limpo quando o mesmo problema retornar mais tarde. Também acho que as equipes precisam de um padrão claro sobre o que significa “pronto”. Se um testador passar em um recurso após uma passagem curta, a equipe pode se sentir segura muito cedo. Se a lista de verificação abranger apenas o fluxo principal, a liberação ainda poderá acarretar riscos. Prefiro um número menor de verificações bem feitas a uma longa lista feita de maneira descuidada. É aí que muitas equipes ficam presas. Eles querem uma liberação rápida. Eles querem baixo custo. Eles esquecem que testes inadequados podem transformar uma pequena economia em uma grande perda. Vi um bug simples custar mais de um mês de trabalho de teste. Já vi um relatório de teste fraco retardar um sprint inteiro. Vi um problema perdido prejudicar a confiança do usuário de uma forma que nenhum patch poderia resolver de uma só vez. Portanto, minha visão é direta. Não trate os testadores como uma caixa a ser marcada. Não trate o teste como uma etapa barata que você pode compactar sem riscos. Escolha testadores que procuram casos extremos. Escolha testadores que escrevam relatórios claros. Escolha testadores que se preocupem com o caminho do usuário, não apenas com a lista de tarefas. Essa escolha economiza mais do que dinheiro. Isso economiza tempo. Isso economiza energia da equipe. Ele salva o produto de danos silenciosos que aumentam após o lançamento. Passei a respeitar os bons testadores por um motivo simples. Eles pegam as pequenas coisas antes que elas se tornem grandes perdas.
Eu costumava pensar que um preço baixo em um testador era uma compra inteligente. O número parecia amigável e a compra foi fácil de aprovar. Então eu vi o outro lado dessa escolha. Uma linha parou porque o testador deu resultados mistos. Partes que deveriam ter passado foram retidas. As peças que deveriam ter falhado avançaram. A equipe os verificou novamente, pediu apoio e esperou enquanto a produção parava. O testador não parecia caro na fatura. Ficou caro no chão. Essa é a parte que muitas pessoas sentem falta. Um testador barato pode criar pequenos erros que crescem rapidamente. Uma leitura ruim leva a mais uma verificação. Mais uma verificação retarda a mudança. Mudanças lentas se transformam em perda de produção, desperdício de mão de obra e mais estresse para todos que estão perto da linha. Aprendi a olhar para os testadores de uma maneira diferente. Não pergunto mais apenas: “Quanto custa?” Eu pergunto: “Quanto essa ferramenta me custará quando for usada todos os dias?” Começo pelo trabalho em si. Um testador deve corresponder ao produto, ao ponto de teste e ao ritmo de trabalho. Se o equipamento for simples demais para a tarefa, minha equipe gastará tempo trabalhando nisso. Se o equipamento for muito complexo para a equipe, os erros aparecem rapidamente. Prefiro uma configuração que se adapte ao uso real, não uma configuração que fique bem em um catálogo. Eu também olho para a repetibilidade. Um testador deve fornecer o mesmo resultado quando a mesma peça for verificada novamente. Se uma unidade passar pela manhã e falhar à tarde sem motivo claro, sei que a linha pagará por essa confusão. Resultados estáveis são mais importantes do que um preço inicial baixo. A qualidade do equipamento também é importante. Já vi um acessório barato se soltar após uso repetido. Quando isso acontece, as leituras variam e o operador começa a duvidar da ferramenta. A dúvida retarda o trabalho. A confiança acelera tudo. Prefiro escolher um testador com fixação sólida e menos surpresas. O suporte é outro ponto que verifico antecipadamente. Quando um testador para de funcionar, não quero esperar muito por ajuda. Quero orientações de configuração claras, peças de reposição fáceis de obter e um contato de serviço que responda no mesmo dia. Uma unidade de baixo custo e com suporte fraco pode deixar uma equipe presa no pior momento. Calibração e treinamento também são importantes. Se um testador precisar de calibração regular, planejo esse custo desde o início. Se a equipe precisar de treinamento, eu incluo isso na implementação. Já vi equipes comprarem equipamentos e esquecerem o lado humano. O resultado são mais erros, mais chamadas e mais tempo de inatividade. Um pequeno exemplo permanece em minha mente. Uma fábrica de embalagens com quem trabalhei comprou um testador de baixo preço para uma verificação simples de cada lote. A unidade funcionou bem por um curto período, depois as leituras começaram a variar. Os operadores começaram a repetir os testes para se sentirem seguros. A linha perdia velocidade todos os dias. Após a mudança para uma unidade mais estável e com melhor suporte, a equipe passou menos tempo verificando novamente e mais tempo movimentando o produto. O novo testador custava mais no início, mas o processo ficou mais fácil de executar. Minha regra é simples. Não julgo um testador apenas pelo preço de compra. Eu julgo pela estabilidade, ajuste, suporte e pelo tempo que economiza quando a linha está ocupada. Um testador barato pode parecer um bom negócio. Se causar atrasos, verificações extras e repetição de trabalho, torna-se a parte cara do processo.
Já vi equipes pagarem duas vezes pelo mesmo trabalho de teste. Eles contratam um testador barato, sentem-se bem com a taxa e depois encontram bugs após o lançamento. A equipe de produto gasta horas extras em correções. O suporte recebe mais tickets. Os usuários perdem a confiança. O “preço baixo” começa a parecer caro. Essa é a parte que quero que as pessoas vejam. Um testador não é apenas alguém que clica em uma página. Procuro uma pessoa que possa pensar como um usuário, identificar pontos fracos e explicar problemas em palavras simples. Se o relatório for vago, a equipe perde tempo. Se o teste falhar caminhos comuns do usuário, o produto ainda falhará onde mais dói. Preocupo-me com o custo após a decisão de contratação, não apenas com o custo da fatura. Quando analiso os testadores, observo algumas coisas. 1. Exemplos de relatórios de bugs Peço um exemplo real de trabalhos anteriores. Um relatório útil informa o que quebrou, onde quebrou, qual dispositivo ou navegador foi usado e quais etapas levaram ao problema. Um relatório fraco diz apenas: “Não funciona”. Essa pequena lacuna é importante. Quando o relatório é claro, os engenheiros podem resolver o problema mais rapidamente. Quando o relatório é escasso, eles perdem tempo adivinhando. 2. Teste pensando Quero um testador que faça boas perguntas. O que acontece se o usuário inserir o código errado? E se a página carregar lentamente? E se o pedido for feito em um telefone com tela pequena? Essas perguntas economizam dinheiro. Eles detectam o tipo de bug que as equipes de vendas e de suporte não querem resolver mais tarde. 3. Adequação do produto Um testador que funciona bem em uma landing page simples pode não ser a escolha certa para um fluxo de pagamento, um aplicativo móvel ou um grande produto SaaS. Certa vez, vi uma pequena loja online contratar um testador de baixo custo para testes de checkout. O testador examinou o fluxo duas vezes e disse que o processo parecia bom. Uma semana após o lançamento, os usuários descobriram que um código de desconto falhou em um navegador móvel. A equipe teve que responder a reclamações, processar reembolsos e corrigir o problema sob pressão. Um segundo testador encontrou o mesmo tipo de problema em outro projeto. Desta vez, ela verificou juntos o tipo de navegador, o tamanho do dispositivo e a lógica do cupom. Ela encontrou o bug antes dos clientes. A equipe economizou horas de limpeza. Essa é a diferença que presto atenção. 4. Estilo de comunicação Um testador pode encontrar um bug e ainda perder tempo se a mensagem for difícil de ler. Preciso de notas curtas, claras e úteis. Preciso de passos que eu possa seguir. Preciso de uma captura de tela ou gravação de tela quando o problema for difícil de explicar. Também quero um testador que me diga a gravidade do problema, não de uma forma dramática, mas de uma forma útil. Se a finalização da compra falhar, isso não é o mesmo que um erro de digitação no rodapé. O testador mais forte conhece a lacuna. 5. Trabalho experimental Gosto de um trabalho experimental curto e remunerado. Dou uma pequena tarefa e observo o resultado. Vejo como o testador lida com casos simples, casos extremos e o relatório final. Também vejo a rapidez com que a pessoa responde e quão bem os detalhes se alinham com o produto. Um breve teste me diz mais do que uma longa página de perfil. Eu uso essa abordagem porque testes de baixa qualidade não ficam baratos. Geralmente cria três custos extras. O primeiro custo é o retrabalho. O segundo custo é o tempo perdido. O terceiro custo é a frustração do usuário. Esses custos nem sempre são visíveis no primeiro dia. Eles aparecem após o lançamento, quando a equipe está cansada e o produto já está na frente dos clientes. Prefiro pagar por cuidado, pensamento claro e hábitos sólidos. Não preciso de palavras chamativas. Preciso de um testador que verifique o caminho que os usuários realmente seguem. Preciso de alguém que perceba a pequena falha que se transforma em um grande problema. É assim que eu vejo. Se eu gastar um pouco mais em um testador cuidadoso, geralmente gasto menos corrigindo erros posteriormente. Se eu escolher apenas pelo preço, posso economizar na primeira fatura e perder mais depois do lançamento. Prefiro pagar pela qualidade agora do que pagar pelos erros repetidamente.
Já vi esse problema muitas vezes: uma equipe envia um produto rapidamente e depois gasta muito mais corrigindo erros do que gastando na construção do recurso. Um testador fraco não apenas sente falta de bugs. Um testador fraco cria tickets de suporte extras, mais retrabalho, usuários irritados e perda de confiança. Certa vez, trabalhei com uma equipe que lançou uma página de pagamento sem cobertura de teste adequada. O formato do cartão parecia bom no desktop, mas quebrou em um navegador móvel comum. O problema não apareceu na rápida verificação interna da equipe. Os usuários tentaram pagar, falharam, tentaram novamente e alguns desistiram. A correção em si foi simples. O custo em torno disso não foi. A equipe teve que corrigir o bug, responder aos e-mails dos clientes, revisar os registros e explicar o problema ao departamento de vendas. É por isso que digo que bons testadores economizam dinheiro, e os ruins o esgotam rapidamente. Vejo um bom testador como alguém que pensa como um usuário e como um detetive ao mesmo tempo. Eles não apenas clicam em botões. Eles perguntam o que pode dar errado, onde o usuário pode ficar confuso e qual caminho um cliente real seguirá sob pressão. Um testador forte percebe detalhes que as equipes muitas vezes ignoram: - Um formulário de inscrição que aceita dados incorretos - Uma página de checkout que falha em um navegador - Um layout móvel que esconde um botão de chave - Um fluxo de login que funciona na preparação, mas quebra após uma pequena alteração de dados - Uma mensagem de erro que não diz nada útil ao usuário Esses não são problemas pequenos. São pontos de custo. Quando reviso um processo de teste, começo com a jornada do usuário. Faço uma pergunta simples: para onde vai o dinheiro, onde se forma a confiança e onde pode começar a frustração? Isso significa que me concentro nos caminhos que mais importam: - Cadastre-se - Login - Pesquisa - Carrinho - Pagamento - Recuperação de conta - Contate o suporte Se esses fluxos quebrarem, a empresa sente isso imediatamente. Um bom testador protege esses caminhos antes do lançamento e continua observando-os após o lançamento. Também presto atenção em como os testes são escritos. Algumas equipes dependem de uma longa lista de casos que parecem completos, mas ignoram o risco real. É aí que o dinheiro escapa. Uma abordagem melhor é testar ações de alto risco com passos claros e resultados esperados claros. Gosto de um padrão simples: 1. Defina o caminho principal do usuário 2. Liste as ações que podem falhar 3. Teste o uso normal 4. Teste a entrada estranha 5. Teste nos dispositivos e navegadores que os clientes mais usam 6. Teste novamente após cada correção Isso parece básico. Funciona porque mantém a equipe próxima do uso real. Também observo como os testadores relatam bugs. Um relatório fraco cria idas e vindas. Um relatório forte economiza horas. Um relatório de bug útil inclui: - O que eu fiz - O que eu esperava - O que aconteceu - Qual dispositivo ou navegador usei - Quaisquer etapas que ajudem a reproduzir o problema - Uma captura de tela ou um vídeo curto quando necessário Prefiro uma linguagem simples. Um desenvolvedor não precisa adivinhar o que quero dizer. Por exemplo, em vez de dizer “a página está quebrada”, eu escreveria: “Abri a página de checkout no iPhone Safari, digitei um cartão válido, toquei em Pagar e o botão não respondeu. A página permaneceu na mesma tela. Repeti a etapa três vezes”. Esse tipo de nota ajuda a equipe a se mover rapidamente. Bons testadores também sabem quando não desperdiçar esforços. Já vi equipes passarem horas resolvendo pequenos problemas de exibição e perdendo um fluxo de reembolso interrompido. Isso é mau uso do tempo. Bons testes não significam testar tudo com peso igual. Trata-se de testar as coisas que apresentam riscos. Eu digo às equipes para olharem para três áreas de custo: - Custo de correção - Custo de suporte - Custo de reputação Um bug encontrado tarde custa mais para ser corrigido. Um bug encontrado pelos usuários gera trabalho de suporte. Um bug que afeta a confiança pode continuar prejudicando a marca depois que a correção for implementada. Um pequeno exemplo deixa isso claro. Certa vez, um aplicativo de entrega de comida teve um bug no cronômetro. Os usuários podiam fazer um pedido, mas o tempo estimado de entrega mostrava a hora errada em uma configuração de região. O aplicativo ainda funcionava, mas os clientes achavam que o serviço era lento. Alguns cancelados. O suporte teve que responder à mesma pergunta repetidamente. A questão não foi dramática. Ainda custou dinheiro. Esse é o padrão que continuo vendo. Pequenas lacunas tornam-se grandes despesas quando os testes são fracos. Minha opinião é simples: bons testes são um hábito comercial, não um luxo. Ele protege a receita, reduz o estresse dentro da equipe e oferece aos usuários um caminho mais tranquilo. Testes ruins parecem mais baratos no início. Mais tarde, torna-se caro de maneiras difíceis de prever. Se quero melhores resultados, não peço mais ruído. Peço melhor foco, relatórios mais claros e testes que correspondam ao comportamento real do cliente. Essa é a diferença entre gastar dinheiro com qualidade e pagar pelos erros depois do ocorrido. Interessado em aprender mais sobre tendências e soluções do setor? Entre em contato com Fei Zhigang: 13506728162@139.com/WhatsApp +8613506728162.
Boris Beizer 1995 Técnicas de teste de software Cem Kaner 2002 Lições aprendidas em testes de software Lisa Crispin e Janet Gregory 2009 Testes ágeis Michael Bolton 2015 Testes rápidos de software James Bach 2018 O custo de testes ruins Elisabeth Hendrickson 2020 Explore Reduza riscos e aumente a confiança com testes exploratórios
Enviar e-mail para este fornecedor
Privacy statement: Your privacy is very important to Us. Our company promises not to disclose your personal information to any external company with out your explicit permission.
Fill in more information so that we can get in touch with you faster
Privacy statement: Your privacy is very important to Us. Our company promises not to disclose your personal information to any external company with out your explicit permission.