O entendimento do engenheiro de teste de 5 anos da Byte sobre "desenvolvimento de teste"

Escrito na frente:

O objetivo de escrever este artigo é ajudar os recém-chegados que acabaram de ingressar no trabalho a entender esta posição e seu próprio trabalho. Também quero falar sobre minha compreensão deste campo no último ano de trabalho. Vamos fazer um pequeno resumo ~

1. Minha compreensão do desenvolvimento de testes

A relação entre desenvolvimento de teste e desenvolvimento e teste

Antes de ser exposto ao trabalho de desenvolvimento de teste, eu estava sempre pensando sobre o que fazer na posição de desenvolvimento de teste. Qual é a diferença entre desenvolvimento de teste e teste? Desenvolvimento de teste é desenvolvimento? Onde está o valor do desenvolvimento de testes? No início, intuitivamente pensei que desenvolvimento de teste = teste. Foi só quando realmente trabalhei na prática que gradualmente entendi o que a posição de desenvolvimento de teste precisa fazer.

1. Em primeiro lugar, observe a diferença do cargo: vamos esclarecer a abreviação primeiro. Como os nomes desses cargos são semelhantes, muitas pessoas não sabem a diferença e a conexão entre os três, engenheiro de desenvolvimento de software (SWE) , engenheiro de desenvolvimento de teste (SWT), engenheiro de teste (TE).

2. Em segundo lugar, olhando para as diferenças em vários aspectos da habilidade, meu entendimento é: dos requisitos de habilidade de código, engenheiro de desenvolvimento de software > engenheiro de desenvolvimento de teste > engenheiro de teste; do requisito de dominar a amplitude do conhecimento, engenheiro de desenvolvimento de teste > engenheiro de desenvolvimento de software > engenheiros de teste, em termos de requisitos de habilidades de comunicação de trabalho, engenheiro de desenvolvimento de teste> engenheiro de teste> engenheiro de desenvolvimento de software.

Classificação do desenvolvimento do teste

Existem duas categorias principais de desenvolvimento de teste:

Um deles é baseado no desenvolvimento de testes direcionados aos negócios . Pode ser entendido como um engenheiro de teste de negócios, que só tem capacidade de desenvolvimento e pensamento de melhoria de qualidade. Esse tipo de pessoal de desenvolvimento de teste precisa entrar no negócio, desenterrar ativamente os pontos fracos da qualidade de cada elo no processo de negócios e encontre maneiras de resolvê-los Através da melhoria do processo, desenvolvimento Crie ferramentas úteis para tornar seu trabalho de teste sustentável e eficiente.

Uma delas é o desenvolvimento de testes baseado na plataforma do framework . Esse tipo de desenvolvimento de teste precisa observar a qualidade do produto de uma perspectiva mais alta. Eles desenvolverão algumas plataformas e estruturas de teste para todo o processo de P&D ou um grande projeto e fornecerão esses recursos na forma de serviços para vários É usado pelo linha de negócios para garantir a qualidade integrada global.

Não importa que tipo seja, o núcleo da posição de desenvolvimento de teste ainda é "teste". nesta base Ferramentas para testadores ou pessoal de desenvolvimento e operação e manutenção para melhorar a eficiência e resolver problemas práticos de negócios.

3) A essência do desenvolvimento de testes

Na verdade, como engenheiro de desenvolvimento de teste voltado para negócios, meu trabalho gira principalmente em torno do negócio. Todo o trabalho de teste e desenvolvimento que fazemos também tem o objetivo de melhorar a eficiência do teste e garantir a qualidade do negócio.

Na verdade, acho que a essência do desenvolvimento de testes deveria ser "entender o desenvolvimento de testes", para melhor atender a "qualidade" dos produtos. Como os requisitos de teste atuais não são mais adequados para posições de teste tradicionais, além do simples trabalho de "teste" no nível operacional, também precisamos considerar tudo, desde o design do teste até a preparação de dados, controle de risco e melhoria da eficiência de P&D, etc. Em todos os aspectos, precisamos elevar nosso trabalho à "garantia de qualidade" no nível de valor, portanto, o teste é apenas um dos métodos de garantia de qualidade na fase de teste. O que precisamos fazer é garantir a qualidade de todo o ciclo desde revisão da demanda do produto até a entrega e lançamento Além disso, também precisamos avaliar a qualidade do nosso trabalho em vários aspectos, como melhoria da eficiência e segurança da produção.

Muitas vezes caio em um círculo vicioso. Como um desenvolvedor de testes orientado a negócios, acho que meu trabalho principal é garantir a qualidade do negócio, mas quando se trata de formular OKRs, falar sobre desempenho, valor, etc., eu uso principalmente Indicadores horizontais são usados ​​para refletir o valor dos testadores. Não entendo por que isso ocorre. Foi só quando li um artigo "Reflexões sobre o desenvolvimento de carreira e caminhos de promoção de testes de negócios" que descobri que é isso que todos os testes de negócios enfrentam nas empresas.

2. A relação entre teste e desenvolvimento e produtos

Em nosso trabalho habitual, as funções com as quais mais entramos em contato são desenvolvimento e produto, qual é a relação entre esses três?

Da perspectiva de um pipeline de entrega de produto, algumas pessoas podem simplesmente pensar que produto, desenvolvimento e teste são uma relação linear. Depois que a revisão do produto é concluída, o desenvolvimento entra no processo de desenvolvimento. Depois que o trabalho de desenvolvimento é concluído, o teste começa para testar e finalmente concluir. Todo o requisito fica online. Mas, na verdade, existe uma relação triangular entre os três: os produtos precisam estar presentes na etapa de revisão de requisitos, desenvolvimento na etapa de revisão técnica e testes na etapa de revisão de TC. Entrega de produtos online de alta qualidade.

3. Habilidades necessárias para o desenvolvimento do teste

1) Capacidade de compreensão do negócio

Todos os testes não podem ser separados do negócio, portanto, depois de entrar em um grupo no início, a primeira coisa a se familiarizar é o negócio. Os testes de negócios também representam uma grande parte do nosso trabalho, por isso precisamos gastar tempo acumulando tempo para exercitar nossa capacidade de compreensão do negócio.

2) Capacidade de teste

3) Capacidade de solucionar problemas

Quando encontramos um bug, a primeira coisa que precisamos fazer é localizar rapidamente a causa do problema, o que também pode ajudar o desenvolvimento a localizar e resolver o problema mais rapidamente.O processo de teste mencionado posteriormente também fala sobre o nível de capacidade de solução de problemas. Por exemplo, depois de descobrir um bug, você pode primeiro determinar se é um front-end ou back-end ou um problema de dados ou ambiental e localizar o problema por meio de vários métodos, como retorno de interface, inspeção de log, autoridade de visualização de código e localização para depuração de código.

4) Teste a capacidade de melhoria da eficiência

Além do teste manual, também precisamos usar métodos automatizados para melhorar a eficiência do teste. Podemos escrever alguns scripts automatizados para reduzir o trabalho repetitivo causado pelo teste e também podemos desenvolver plataformas de desempenho para fornecer suporte de infraestrutura para garantia de qualidade. As ferramentas de desempenho são como uma espada pode nos levar a melhorar muito a eficiência do nosso trabalho.

5) Conscientização sobre produção segura

Se a plataforma de eficiência é como uma espada, acho que a produção de segurança é como um escudo. Podemos realizar nosso trabalho de garantia de qualidade comercial por meio de vários métodos, como monitoramento, exercícios de falha, planos de contingência e recuperação rápida para garantir que todo o produto seja Não Se algo der errado, ou se algo der errado, o risco pode ser minimizado.

7) Capacidade de ser bom em busca

As bases de conhecimento internas da empresa, como: documentos ATA, Yuque, DingTalk, e externas, como: GitHub, CSDN, Zhihu, etc. nos dão muito espaço para aprender, mas devido à complexidade do conhecimento, ainda precisamos ser bom em pesquisar E a capacidade de descobrir o conhecimento e as ferramentas certas para você.

8) Conscientização do proprietário

Para o trabalho que você é responsável, você deve ter uma consciência de proprietário. Na verdade, isso requer um forte senso de responsabilidade e um espírito proativo. Por exemplo, como proprietário de um projeto, você precisa ter a capacidade de controlar a situação geral, e também ter a capacidade de saber dividir e organizar tarefas. Há também a capacidade de coordenar e comunicar, a capacidade de promover o andamento do projeto e a capacidade de antecipar e obter resultados. Haha, é um pouco difícil ser honesto , mas acho que é isso que uma pessoa do Alibaba precisa ter.

4. Até que ponto precisamos alcançar no processo de teste

De fato, do ponto de vista do ciclo de vida do problema, ele pode ser dividido em: descobrir o problema -> localizar o problema -> resolver o problema -> prevenir o problema

  • Nível 1: Encontre problemas, levante bugs e deixe que os desenvolvedores localizem a causa do problema;

  • Nível 2: Localize o problema e saiba qual é a causa do problema. Isso requer a verificação do banco de dados, logs e até mesmo código para localizar o problema. Ao levantar um bug, dê ao desenvolvimento algumas sugestões possíveis para ajudá-lo a localizar o problema, o que em si é um reflexo do valor do teste.

  • Nível 3: Resolva o problema Se o teste pode resolver o problema, então não há nada para desenvolver, ou pode auxiliar melhor o desenvolvimento para resolver o bug.

  • Nível 4: Prevenir problemas. Depois de resolver os problemas, você precisa ter estratégias para prevenir tais problemas e melhor garantia de qualidade

De fato, no processo de trabalho, muitas vezes estamos em um estado de nível 2, mas localizar problemas também é um teste de tecnologia e familiaridade com o sistema. Se conseguirmos localizar com precisão a causa do problema, isso também pode reduzir o carga de trabalho de desenvolvimento e solução de problemas.

5. Qualidades que precisamos

Estou trabalhando há um ano e resumi isso em meu trabalho habitual. Acho que, como aluno de desenvolvimento de testes, é melhor ter as seguintes qualidades:

1) Habilidades de comunicação

O teste precisa lidar com um grande número de pessoas e requer fortes habilidades de comunicação. Se as palavras não forem claras, o trabalho não poderá ser realizado. No processo de comunicação, devemos primeiro organizar a linguagem e a lógica e, em seguida, avaliar objetivamente o verdade da questão. Este sempre foi um trabalho desafiador e interessante para mim, que é um pouco socialmente fóbico.Na verdade, um bom relacionamento interpessoal também melhorará muito a eficiência do trabalho.

2) Cuidadoso e paciente

O teste é para ajudar o P&D a localizar erros e ajudar o P&D a concluir o trabalho de desenvolvimento rapidamente; portanto, precisamos ter muito cuidado para encontrar alguns pequenos erros. Pois alguns processos de testes podem ser repetitivos e chatos, isso requer muita paciência. Especialmente para testes de negócios, geralmente precisamos repetir as mesmas etapas de operação várias vezes, e é por isso que todos desejam usar a automação para liberar as mãos.

3) Pensamento lógico e análise de problemas

Ao encontrar problemas, o teste precisa analisar e localizar rapidamente o problema, e pode ser reproduzido. A lógica clara pode ser dada ao P&D, e o trabalho de P&D, localizando bugs e revisões repetidas deve ser minimizado. Isso realmente significa que nós precisa ter uma familiaridade muito forte com o produto, para que possa localizar o problema com mais rapidez e precisão.

4) Aprenda rápido

Há muitas coisas para aprender no teste, e há muitos conhecimentos e habilidades que precisam ser dominados, por isso é muito importante ter a capacidade de aprender rapidamente, caso contrário, será fácil ser eliminado, mas felizmente, a empresa tem muita base de conhecimento e conhecimento técnico. ATA, na verdade é uma boa oportunidade de aprendizado para um iniciante, mas às vezes são coisas demais, então você tem que pensar bem.

5) Responsabilidade

O trabalho do teste é garantir a qualidade do lançamento do produto, por isso requer um forte senso de responsabilidade.Eu acho que os trabalhadores em todas as posições precisam ter essas qualidades, então não há necessidade de dizer mais.

6) Assistência da equipe

O trabalho de teste lidará com várias pessoas. Ao fazer bem o seu próprio trabalho, eles devem prestar atenção ativa e consciente ao andamento do projeto e à situação dentro do grupo. Eles devem ter uma visão geral, colocar os interesses da equipe em primeiro lugar , e estar disposto a compartilhar experiências pessoais. Ao mesmo tempo, eles devem ser bons em aprender com os colegas. Aprender lá, capacidade de trabalho em equipe também é a qualidade básica que o teste precisa possuir.

7) Redação de documentos

Um acúmulo excelente de documentos pode trazer benefícios para mim e para as gerações futuras. Sempre gostei de fazer acúmulo de documentos porque acho que uma boa memória não é tão boa quanto uma caneta ruim (é porque eu tenho uma memória ruim). Às vezes, isso pode ser lembrado por escrevendo. Se você pensar em si mesmo, também pode exercitar sua capacidade de resumir. Quando os outros precisarem, você também pode compartilhar com outras pessoas. Isso realmente mata três coelhos com uma cajadada só ~

6. Quais são as preocupações e o fluxo de trabalho do teste?

Em primeiro lugar, devemos intervir na etapa de revisão de requisitos e, em cada etapa do trabalho, o teste precisa ter foco e entrada e saída correspondentes. A seguir, resumirei o fluxo de trabalho do teste do meu trabalho habitual e o que precisa ser feito em cada etapa do teste. coisas~

1. Fase de revisão de requisitos [Foco]

  • Os testadores precisam conduzir a análise de requisitos, estar familiarizados com as soluções de implementação técnica, se o design abrange os requisitos de negócios e os riscos existentes e fornecer informações para análise de teste e design de caso de teste.

  • Foco principal: racionalidade arquitetônica, avaliação de risco, estratégia de teste (teste manual ou teste automatizado ou outros).

  • Determine se deve testar por testadores ou desenvolver autoteste de acordo com o tamanho da demanda (você pode julgar se deve fornecer casos de teste de fumaça de acordo com a situação)

2. Projetar casos de teste [foco]

  • Escrever casos de teste e testes de fumaça de acordo com prd

  • Escreva casos de teste de fumaça (dependendo do tamanho do projeto, se o projeto for uma transformação relativamente grande ou um novo projeto, é recomendável escrevê-lo e fornecê-lo aos desenvolvedores relevantes durante a revisão do caso de uso. Após o teste de fumaça caso seja aprovado, será formalmente testado).

  • Os alunos de teste no projeto precisam fornecer casos de teste de fumaça para os alunos de P&D e chegar a um acordo com os alunos front-end de que os casos de teste de fumaça exigem 10% do total de casos de uso.

3. Revisão do caso de teste [dependendo do tamanho da demanda]

  • O tempo é de 1 a 2 dias antes do horário de teste original, dependendo do tamanho e do tempo do projeto para determinar se esse link é necessário

  • Saída: atas de reunião de revisão de caso de uso, casos de teste modificados, casos de teste de fumaça (para desenvolvimento)

4. Prévia da proposta [dependendo do tamanho da demanda]

ps: De um modo geral, é a organização do desenvolvedor. Se eles ignorarem, os testadores podem solicitar um ensaio de teste de acordo com a situação real para garantir a qualidade do teste

  • Especificação: Os casos de teste de fumaça revisados ​​de acordo com os casos de teste são ensaiados pelo desenvolvedor. Se todos os casos de teste de fumaça passarem, o teste será aceito. Caso contrário, ele será chamado de volta e um e-mail será enviado para indicar que a fumaça teste falhou e o próximo teste é esperado.

  • Saída: e-mail com o resultado do teste de fumaça (ele precisa ser enviado se for aprovado ou reprovado, e o ponto de tempo de lançamento esperado e o risco são fornecidos)

  • Colocar no teste o mais rápido possível após o teste, se o ensaio falhar, você deve informar o risco

5. Fase de teste 【Foco em】

  • Na fase de teste, o ambiente de teste, os casos de teste, os dados de teste, etc. precisam ser preparados com antecedência;

  • Durante o processo de teste, os defeitos precisam ser enviados e acompanhados em tempo hábil. Bugs geralmente são gerenciados por um, e o formato do defeito é preferencialmente: [nome do requisito] nome específico do defeito, que é conveniente para pesquisa e classificação subsequentes;

  • Consulta relacionada a negócios: PD + negócios; consulta relacionada a estilo de produto: produto + UED; consulta relacionada a desenvolvimento: front-end + back-end;

uma especificação de tratamento de defeitos

1. Após a correção do bug, os desenvolvedores precisam corrigi-lo (P&D)

2. Após a reparação do defeito, é necessária a correspondente verificação da reparação do defeito. (testem colegas)

3. Depois que a verificação do defeito for aprovada, o tipo de defeito e a causa do defeito precisam ser classificados antes de encerrar o defeito. (testem colegas)

4. Se a verificação do defeito falhar, o defeito pode ser reaberto e então enviado para desenvolvimento. (testem colegas)

6. Pré-visualização da versão【Aceitação da função (várias rodadas possíveis)】

  • Os testadores reservam salas de reunião com antecedência e enviam convites de reunião para o pessoal relevante

  • Ata da reunião: Durante o processo de ensaio, é necessário registrar o resumo da reunião, quais bugs precisam ser corrigidos antes de entrar online e quais bugs precisam ser iterados posteriormente (pd + avaliação comercial)

7. Plano de liberação

  • Os escritores do plano de lançamento são principalmente desenvolvedores e testadores;

  • Objetivo: Para escrever um plano de teste, o testador esclarecerá os pontos-chave e os pontos de retorno deste teste, e o desenvolvedor liberará claramente o aplicativo e liberará sem problemas, para evitar bugs online causados ​​por lançamentos perdidos, ordem de lançamento errada, etc. ., para que o código seja revertido.

8. Lançamento oficial

  • Para acompanhar a situação de liberação, você pode solicitar ao desenvolvimento que sincronize o ritmo de liberação no grupo. Após a conclusão da liberação, a primeira verificação online (após a liberação, @pd+ business, eles podem realizar a aceitação online ao mesmo tempo) ;

  • Negócios diferentes podem ter janelas de lançamento diferentes e você precisa prestar atenção se está dentro da janela de lançamento ou pode precisar de aprovação urgente;

  • Como muitos problemas on-line são causados ​​por alterações, preste atenção especial se há algum lançamento perdido ao republicar;

  • Geralmente, há um período de observação em tons de cinza durante o processo de liberação, durante o qual você pode observar se há alguma anormalidade no tráfego online.

9. Verificação on-line

O pessoal relevante precisa verificar os resultados on-line em tempo hábil e o teste geral é usado para verificação. Se o teste não puder ser verificado devido às características do negócio, os estudantes de negócios precisam verificar on-line a tempo. Por exemplo, meu negócio anterior foi testado para regressão online. Segurança e outras questões precisam ser verificadas pela própria empresa.

Dividi-o em quatro partes, incluindo principalmente classificação de requisitos, preparação do teste, processo do teste e resumo do teste. A saída de cada etapa pode ser depositada na forma de documentos, que podem ser usados ​​como referência para aceitação e regressão subsequentes.

Sete, algumas pequenas ferramentas comumente usadas e habilidades de teste

1) Uma ferramenta de formatação json simples e bonita:

【JSON-handle】https://chrome.google.com/webstore/detail/json-handle/iahnhfdhidomcpggpaimmmahffihkfnj?hl=zh-CN

2) [Outros sites de formatação json online] https://www.json.cn/, https://www.bejson.com/explore/index_new/

3) [Plug-in de tradução ali] https://chrome.google.com/webstore/detail (haha, sou uma pessoa que prefere plug-ins em vez de alternar páginas de guia)

4)【LightProxy】

Os dados retornados pelo back-end simulado local podem ser simulados diretamente solicitando o nome file://file path, o que é muito conveniente.

Existe outra maneira: modo de console F12 (alterar estilo)

Pressione F12 na guia de qualquer página da Web no Chrome. O painel de ferramentas do desenvolvedor aparecerá abaixo.

1. Em seguida, clique na guia Console

2. Em seguida, digite: document.body.contentEditable = "true"

3. Pressione Enter, agora você pode editar a página da Web à vontade

4. Claro, você também pode fechar o estado editável após a edição

5) o mac vem com uma ferramenta de captura de tela

Você pode gravar e tirar capturas de tela. Às vezes, gravo ou tiro capturas de tela dos resultados do teste e os entrego ao lado comercial para aceitação.

6) Há também xmind: uma obrigação para escrever casos de teste; mac notes: geralmente grava alguns rascunhos confusos; alguns outros widgets de cromo comumente usados:

escreva o último

As pessoas que lêem este artigo acham que meu entendimento está errado e comentários e discussões são bem-vindos ~

Esses materiais devem ser relativamente completos para amigos que fazem [teste de software]. Esse tipo de material de aprendizado também me acompanhou na jornada mais difícil e espero que possa ajudar você também! Tudo deve ser feito o mais cedo possível, principalmente na indústria de tecnologia, devemos melhorar nossas habilidades técnicas.

Acho que você gosta

Origin blog.csdn.net/m0_68405758/article/details/130161542
Recomendado
Clasificación