Produto

Evolução e desafios em Teste de Software

Gustavo Almeida
Gustavo Almeida September 11, 2020
Evolução e desafios em Teste de Software

Há alguns anos o papel do testador ou Analista de Testes era limitado à documentação, relatórios e testes manuais. Mantinha proximidade com o Analista de Requisitos ou Gerente de Projetos e, a partir dos requisitos do sistema, começava a tarefa de transformar os casos de uso do sistema em casos de testes. Esses, por sua vez, eram compilados em um documento que serviria de base para acompanhar suas execuções, como uma checklist que deveria ser validada a cada versão do sistema.

Esse compilado é conhecido como Plano de Testes que, além de conter todo esse passo-a-passo, também tinha outras informações importantes para a condução dos testes, como: escopo, configurações de ambiente, dados que compunham a massa de testes a ser utilizada, papéis e responsabilidades dos envolvidos, datas para a execução, janelas de manutenção, dicionário de dados, métricas e uma infinidade de informações que serviriam de apoio a essa etapa tão fundamental no ciclo de vida de software. 

Exemplo de um Caso de Teste:

Link

A quantidade de casos de testes poderia chegar facilmente à centenas, dependendo da complexidade do sistema. Muitas vezes, essa documentação era mantida em arquivos do pacote Office Word (.doc) ou Excel (.xls), o que tornava sua manutenção complicada.

Uma alteração simples no nome do botão deveria ser alterada em dezenas de páginas desse documento. Imagine numa regra mais complexa, algum pré-requisito?

Essa documentação também funcionava como entregas definidas nas atas de reunião e auditorias internas, e essa abordagem de um documento mais rígido era possível graças ao modelo de desenvolvimento que tínhamos majoritariamente nas empresas chamado Cascata. Esse modelo seguia uma linha de fases sequenciais ou, como o próprio nome representa, uma cascata.

Representação do modelo Cascata:

Em algum momento nesse período, começaram a surgir as primeiras ferramentas exclusivas para automação de testes e outras que permitiam mais flexibilidade no cadastro e manutenção dos planos de testes e registros de bugs. Algumas delas surgiram inclusive por empresas como Microsoft e IBM, como IBM Rational, por exemplo. 

Em paralelo, as metodologias de desenvolvimento de software caminhavam de forma mais ágil, menos engessadas, com muitas iterações e entregas, e passíveis de mudanças de requisitos constantes. Numa busca rápida na internet, é possível ver milhares de blogs, artigos e livros falando sobre Agile, Lean, SCRUM, Kanban etc. Outras metodologias que introduzem o teste numa etapa antecipada ao código, tem foco no comportamento e/ou domínio de software também começaram a despontar: DDD, TDD, BDD.

Os programadores escreveram seus testes, os times davam os primeiros passos nas metodologias ágeis, e os profissionais de teste de software se introduziram no desenvolvimento, buscando formas de automatizar os repetitivos testes que ocorriam a cada iteração. Era perceptível um movimento de convergência de esforços de todo o time para entregar a máxima qualidade embarcada nos produtos, o que é aplicado nas empresas até hoje, inclusive aqui, na VTEX.

Complexidade e aumento exponencial dos sistemas

Houve um boom no desenvolvimento web, sistemas SaaS escaláveis e entramos na era mobile first, com isso o escopo de testes não parou de aumentar. Chegamos a um momento em que temos diferentes navegadores web, cada um com suas particularidades, e dois principais sistemas operacionais para dispositivos móveis. Há uma infinidade desses aparelhos com tamanhos de tela e resoluções distintas.

Para acompanhar essas mudanças, serviços de cross-browser e cross-device testing surgiram para ajudar a alavancar os testes automatizados, dando mais velocidade e flexibilidade nos scripts.
Esses serviços têm em comum a disponibilização de uma infraestrutura na nuvem e facilidade em paralelização das execuções dos testes.

Além de diferentes browsers e tamanhos de telas, também é uma preocupação constante a validação entre diferentes versões de um mesmo navegador e/ou sistema operacional. Por exemplo, uma página na internet poderia funcionar perfeitamente numa versão X do navegador, mas falhas ocorrem numa versão Y. Muitas vezes a versão Y deveria ser suportada para o sistema, por questões contratuais, de relacionamento com o cliente ou outras, mesmo que o próprio fabricante não desse mais suporte àquela versão.

Além disso, testes voltados para requisitos não-funcionais também aumentaram. Como exemplo, temos aplicativos de streaming de vídeo que devem continuar funcionando mesmo com baixo sinal da antena de telefonia, sistemas que usam recursos internos dos dispositivos como acelerômetro e uma infinidade de pequenos detalhes que podem aumentar ainda mais o escopo de testes. 

Em resumo, nota-se que a complexidade, dimensões e os desafios de teste de software aumentaram em uma velocidade exorbitante e assim seguem.

Mas e o profissional da área?

Toda essa transformação também impactou o perfil do profissional da área de testes de software. Esse profissional está mais capacitado para escrever código, usar ferramentas de DevOps e sistemas de integração contínua, por exemplo. 

Essa transformação pode ser facilmente observada através da nomenclatura que ele recebeu no decorrer dos anos. Hoje, temos inúmeros termos para identificar um perfil que, apesar de possuir algumas características distintas nos seus papéis, no fundo é um perfil que compartilha do sentimento de dono do produto e que tem foco na qualidade. Podemos ficar aqui listando diversos: Testador de Software, Analista de Testes, Analista de Qualidade, QA Analyst, Gerente de Testes, Agile Tester, Analista Automatizador de Testes, Automatizador de Testes, Quality Assurance Analyst, Engenheiro de Testes etc.

Aqui na VTEX, um perfil que melhor se enquadra no nosso time é o SET: Software Engineer in Test. Esse perfil ganhou notoriedade através de grandes empresas de tecnologia do Vale do Silício e seria um engenheiro de software com background na área de testes e ênfase no desenvolvimento em sistemas de automação, frameworks e sistemas voltados para teste de software em geral. 

Inclusive, temos vaga aberta para SET. Clique e confira.

O futuro já está entre nós

Estamos cercados de dados e, cada vez mais, aplicações orientadas a dados estão surgindo. Esse tipo de aplicação dificulta o uso de técnicas tradicionais de testes, como Partição de Equivalência ou Análise do Valor Limite, pois as respostas não são necessariamente binárias.

Por exemplo: em aplicações de Inteligência Artificial, Machine Learning, aplicações de reconhecimento de voz, reconhecimento facial e de imagens em geral, como validar que um sistema reconheceu corretamente um gato na imagem? Sabemos que nesses sistemas há falsos positivos e muito background em estatística.

Vamos ter profissionais cada vez mais qualificados para tecnologia embarcada e hardware? Muitos assistentes virtuais estão por vir e com eles muitos desafios de testes.

Capacitação em áreas de estatísticas, data science pode ser um caminho a ser trilhado por esses profissionais. No ritmo em que o mundo de testes de software tem evoluído, é esperado que o profissional da área de testes de software deva continuar se especializando. Afinal, os desafios e responsabilidades estão cada vez maiores.

Quer construir uma carreira à prova do futuro? Confira nossas vagas.

Continue lendo: artigos relacionados
Produto

inStore – Prateleira Infinita: a inteligência do checkout VTEX na palma da mão do vendedor

Amplie exponencialmente as possibilidades de conversão usufruindo do estoque infinito e do marketplace in no digital commerce. A…

Isabella Feitosa
Isabella Feitosa
Produto

Conheça o VTEX Insurance: sua nova fonte de receita com seguros

A solução da VTEX em parceria com a Assurant oferece seguros para produtos adquiridos no ecommerce em jornada…

Mariana Boese
Mariana Boese
Produto

Conheça o VTEX Assisted Sales, nossa solução para vendas e atendimento pelo WhatsApp  

Com a ferramenta é possível conectar clientes e vendedores de maneira automática e simplificada potencializando resultados De acordo…

Mariana Boese
Mariana Boese
Produto

Soluções OOTB, externas e customizadas: como escolher a melhor para o objetivo do seu negócio

Não há dúvida de que escolher o conjunto correto de ferramentas e plataformas para operar um negócio online…

Guilherme Portela, Paloma Castrioto, Renato Ricardi
Guilherme Portela, Paloma Castrioto, Renato Ricardi
Produto

Empresas em todo o mundo aumentam sua rentabilidade com o Seller Portal do Marketplace da VTEX

A VTEX sabe que o modelo de marketplace é uma das estratégias mais importantes para os operadores de…

Lalo Aguilar
Lalo Aguilar
Produto

Desbloqueando um novo modelo de vendas com VTEX Gift List

Quem nunca participou de uma boa festa de casamento? Os votos, os docinhos e festa entre amigos e…

Beneson Damasceno
Beneson Damasceno
Produto

Novidades de Marketplace da VTEX: além do ecommerce tradicional

Há mais de dez anos, as funcionalidades de marketplace têm sido um pilar da VTEX Commerce Platform. Nossa…

Lalo Aguilar
Lalo Aguilar
Produto

VTEX e Adyen firmam parceria para levar o comércio unificado aos varejistas online

Seja adicionando novos conteúdos, impulsionando iniciativas de marketing ou investindo na próxima grande tendência, podemos afirmar com segurança…

Gabriela Porto
Gabriela Porto
Produto

Central de Atendimento no WhatsApp: simplifique processos e escale mais vendas

Para empresas que possuem mais de um vendedor atendente no WhatsApp, manter uma Central de Atendimento nesta plataforma…

Isabella Feitosa
Isabella Feitosa
See More