shift left testing secret mantra
O novo Shift Left Testing, um mantra DevOps em desenvolvimento de software:
Um rápido Recapitulando todos os tutoriais em vídeo no DevOps foi explicado em nosso tutorial anterior. Agora, veremos sobre o teste de deslocamento à esquerda.
Quando uso o termo ‘Shift Left’, você deve estar se perguntando o que estou me referindo a Shift Left em um software?
Mais de 2 décadas atrás, quando comecei minha carreira como testador de software, não existia uma ‘fase de teste’ separada para o desenvolvimento de software e o papel do testador nunca existia. Os desenvolvedores costumavam desenvolver o software, testar a si mesmos e fazer uma versão do software.
Leitura Adicional => Série de tutoriais informativos de DevOps
O conceito de Teste de software foi introduzido gradualmente quando os defeitos da produção começaram a atingir o orçamento do projeto e, portanto, o ‘Teste Funcional’ entrou em vigor com uma equipe muito enxuta de Testadores. Naquela época, éramos apenas dois Testadores contra uma equipe de 20 Desenvolvedores.
A indústria de TI começou seguindo o modelo em cascata para o desenvolvimento de software em que, como todos sabemos, o ciclo de vida do desenvolvimento de software segue sequencialmente na ordem de Requisitos => Design => Codificação => Teste .
Portanto, se você começar da esquerda para a direita, a fase de teste estará na extrema direita do ciclo de vida de desenvolvimento de software.
O que você aprenderá:
- Introdução ao conceito de deslocamento para a esquerda
- O que é o teste Shift Left?
- Como Shift Left influencia o desenvolvimento de software?
- O que os testadores devem fazer de forma diferente em Shift Left?
- Benefícios do teste Shift Left
- Conclusão
- Leitura recomendada
Introdução ao conceito de deslocamento para a esquerda
Ao longo de um período de tempo, as pessoas perceberam a importância de Teste de software e o impacto de manter a 'Fase de Teste' na extrema direita ou no final do Ciclo de Vida de Desenvolvimento de Software. Essa constatação aconteceu porque o custo do bug identificado na extrema direita e no final foi muito alto e um enorme esforço e muito tempo foi necessário para corrigi-los.
Houve casos em que depois de gastar tanto tempo e esforço em um software, devido ao bug crucial identificado no final, o software de missão crítica não pôde ser lançado no mercado, resultando em um grande prejuízo.
Portanto, por causa de identificação do bug durante a última fase ou o lançamento foi atrasado ou, às vezes, o software foi descartado considerando o esforço necessário para corrigi-los, o que realmente não valia a pena.

'Os defeitos são menos caros quando detectados no início'.
Essa constatação e a grande lição aprendida introduziram uma grande revolução na indústria de software e deram origem a um novo conceito denominado ‘Shift Left’ , o que significa mudar a 'fase de teste' da direita para a esquerda ou envolver o teste em cada estágio e envolver os testadores durante todo o processo.
O teste Shift Left também significa que não teste no final, mas teste continuamente.


O que é o teste Shift Left?
Em primeiro lugar, o princípio de 'Shift left' apoia o Equipe de teste para colaborar com todas as partes interessadas desde o início na fase de desenvolvimento de software. Portanto, eles podem entender claramente os requisitos e projetar os casos de teste para ajudar o software a ‘Fail Fast’ e permitir que a equipe conserte todas as falhas o mais rápido possível.
editor de script de shell grátis para windows
A abordagem Shift Left nada mais é do que envolver os testadores muito mais cedo no ciclo de vida de desenvolvimento de software, o que, por sua vez, permitiria a eles entender os requisitos, design de software, arquitetura, codificação e sua funcionalidade, fazer perguntas difíceis a clientes, analistas de negócios e desenvolvedores , peça esclarecimentos e forneça feedback sempre que possível para apoiar a equipe.
Esse envolvimento e compreensão levarão os testadores a obter conhecimento completo sobre o produto, pensar em vários cenários, criar cenários em tempo real com base no comportamento do software que ajudariam a equipe a identificar os defeitos antes mesmo da codificação.
Como Shift Left influencia o desenvolvimento de software?
O Shift Lift Approach influencia o Desenvolvimento de Software de várias maneiras.
Abaixo estão alguns pontos-chave sobre Shift Left:
- A abordagem Shift Left concentra-se em envolvendo testadores em todos os estágios críticos e mais importante do programa . Isso permite que os testadores desviem seu foco da detecção de defeitos para a prevenção de defeitos e direcionem os objetivos de negócios do programa.
- A abordagem Shift Left fornece, grande importância para o teste com o qual as funções e responsabilidades dos testadores aumentam imensamente.
- Com a responsabilidade sendo aumentada para a equipe de teste, a equipe simplesmente não se concentra em ‘Testando o software para identificar os bugs’ , mas trabalha proativamente com a equipe desde os estágios iniciais para planejar e construir uma estratégia de teste robusta e eficaz, fornecendo uma excelente liderança de teste e orientação para a equipe, concentrando-se na visão de longo prazo do produto, em vez de apenas assumir responsabilidade do trabalho de teste.
- A abordagem Shift Left dá o oportunidade para os testadores projetarem os testes primeiro , onde os testes são totalmente focados na experiência do cliente e em suas expectativas, o que, por sua vez, permitirá que os desenvolvedores desenvolvam o software com base nesses testes e, portanto, atendam às necessidades do cliente.
- A abordagem Shift Left não termina apenas com os Testadores. Mudar para a locação e realizar as atividades de teste continuamente também permitir que os desenvolvedores tomem mais propriedade de seu código e aumentam suas responsabilidades nos testes.
- A abordagem Shift Left também incentiva Testadores devem adotar Desenvolvimento baseado em comportamento BDD e desenvolvimento baseado em teste TDD , o que auxilia na prevenção da indução de defeitos no software.
- Shift Left Testing no Agile: A abordagem Shift Left apóia a formação Agile Scrum Equipes que incluem obrigatoriamente Testadores junto com as outras funções e inclui Testadores em chamadas regulares, outras interações, reuniões de revisão que fizeram os testadores terem mais informações relacionadas ao programa e, portanto, permitiu que eles se entregassem e se envolvessem na análise detalhada do software e fornecessem feedback rápido que ajudaria a prevenir os defeitos alicerçados no software.
O teste geral de mudança para a esquerda exige que os testadores ‘Envolva-se cedo’ , o mais cedo possível e se envolver na discussão e colaborar em idéias, requisitos em todas as fases em que o resultado da fase tem uma influência sobre o valor da entrega final e também ajudar o projeto a identificar os riscos e mitigá-los com antecedência.

O que os testadores devem fazer de forma diferente em Shift Left?
Abaixo estão alguns fatores-chave a serem observados como o que os Testadores fazem de maneira diferente em Estratégia de mudança para a esquerda:
# 1) A equipe de teste precisa engajar-se no início do sistema, desde o início do projeto de modo a desenvolver a integração com o resto da equipe e a empresa para fornecer informações úteis em cada estágio do desenvolvimento de software.
ferramentas de teste de API de resto de código aberto
#dois) A equipe de teste deve trabalhar com a equipe de Negócios e Operações e obter clareza sobre o programa e fornecer uma visão clara sob demanda e ajudar no planejamento eficiente das necessidades de aumento de recursos, necessidades de treinamento e requisitos de ferramenta de teste para o programa com bastante antecedência.
# 3) As equipes de teste devem interagir com todas as partes interessadas de negócios no início do desenvolvimento de software para obter uma visibilidade clara do produto E projetar uma estratégia de teste unificada e planeje um esforço de teste otimizado, analise a dependência em ambientes de teste, terceiros, stubs etc., e prepare uma estratégia e estrutura de automação robusta e crie um plano de gerenciamento de dados de teste eficaz.
# 4) A equipe de teste deve trabalhar com o resto da equipe para fornecer uma grande liderança de teste e orientação para a equipe mantendo assim a visão de longo prazo do produto em mente, em vez de apenas assumir a responsabilidade das atividades de teste.
# 5) Os requisitos são a chave e a base para o sucesso de qualquer programa e requisitos bem definidos definem o sucesso do projeto. Durante a fase de planejamento de requisitos, testadores precisa revisar e analisar os requisitos para qualquer ambigüidade, melhor clareza, integridade, capacidade de teste, definição de critérios de aceitação, etc.
Também precisa identificar os requisitos ausentes (se houver), entender as dependências e estratégias de implementação. O Clear Requirements ajuda o software a 'falhar rapidamente' e corrigir todas as falhas o mais rápido possível.
# 6) Traga clareza e precisão suficientes nos requisitos, destacando o exemplos reais que ilustram os recursos que estão em uso.
# 7) Os testadores precisam participar de reuniões de revisão de projeto regularmente e compreender o design e arquitetura do produto e identificar as falhas de design, sugerir opções de design alternativas, identificar as lacunas e criar cenários de teste de acordo para quebrar os designs.
# 8) Os testadores precisam levar a cabo Teste Estático (avaliações) com bastante antecedência e forneça feedback sobre os principais documentos do projeto, de modo que os defeitos sejam impedidos de se estabelecerem no software e ampliem seu efeito posteriormente.
# 9) A equipe de teste deve colaborar com a equipe de design e desenvolvimento em fornecer cenários de teste com antecedência para desenvolver o código e abordar todos os cenários e fluxos de negócios possíveis em tempo real.
# 10) A equipe de teste deve projetar cenários de teste fortes e robustos de modo que apenas alguns defeitos são identificados durante o teste e os principais defeitos são evitados durante a entrada na fase de teste.
#onze) Os testadores têm que Teste o mais cedo possível , seja em um sistema autônomo ou local, para que o defeito não entre em estágios posteriores.
Todo o cerne do conceito de ‘Mudança para a esquerda’ para os testadores é encontrar os defeitos o mais cedo possível por todos os meios possíveis.

Benefícios do teste Shift Left
A abordagem Shift Left funciona com base no manifesto ágil e também tem várias vantagens.
Eles estão:
- Indivíduos e interações sobre processos e ferramentas.
- Software de trabalho sobre documentação abrangente.
- Colaboração do cliente sobre a negociação do contrato.
- Respondendo à mudança sobre seguir um plano.
Podemos ver que enquanto o valor está nos itens da direita, valorizamos mais para os itens do lado esquerdo.
Bem, Shift Left é sobre trazer a ideia de teste no início do processo, resultando em um teste melhor e eficiente e melhorando a qualidade do software.
Resumindo, o processo de teste de mudança para a esquerda é:
- Encontrar os defeitos antecipadamente, reduzindo assim o custo do projeto.
- Testando continuamente para reduzir defeitos no final.
- Para automatizar tudo e melhorar o tempo de lançamento no mercado.
- Para se concentrar nos requisitos do cliente e melhorar a experiência do cliente.

Conclusão
‘Shift Left’ conceito trouxe uma grande transformação para toda a função de 'Teste'. Até então, o único foco para o Teste era apenas na 'Detecção de Defeito' e agora o objetivo da 'Mudança para a Esquerda' da perspectiva do Teste é uma jornada de ‘Detecção de defeito precoce para Prevenção de Defeitos ' .
Assim, Shift Left é um grande salto na indústria de software na metodologia de Desenvolvimento de Software em direção à velocidade de entrada no mercado, melhorando a qualidade do software e reduzindo o ‘Time to Market’.
Sobre o autor: Este artigo foi escrito por um membro da equipe STH, Gayathri Subrahmanyam. Ela está em teste de software desde os anos 90, apenas quando a função de testador foi introduzida na indústria. Durante sua carreira de teste, ela fez várias avaliações TMMI, trabalhos de industrialização de teste, configurações de TCOE, além de lidar com entregas de teste e implementou a prática de DevOps para um grande envolvimento. Mas de acordo com ela, o aprendizado nunca para ...
Deixe-nos saber sua opinião / sugestões na seção de comentários abaixo.
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Trabalho de assistente de controle de qualidade de teste de software
- Shift-Left of Quality: Como isso é tão importante quanto Shift-Left nos testes?
- Curso de Teste de Software: Qual Instituto de Teste de Software devo ingressar?
- Escolhendo o teste de software como sua carreira
- Trabalho de freelancer de redator de conteúdo técnico de teste de software
- Algumas perguntas interessantes da entrevista de teste de software
- Comentários e análises do curso de teste de software