Inscreva-se em nosso blog

Acesse, em primeira mão, nossos principais posts diretamente em seu email

Por que testar é importante?

Hoje iniciaremos mais uma śerie aqui no Blog da Agência F12 onde falaremos sobre Teste de Software. No post de hoje veremos por que testar é importante e por que você, se não escreve testes, deveria reconsiderar o quanto antes sua decisão!

Testar é garantir a qualidade do produto desenvolvido. Não só garantir, mas sempre poder afirmar que ele se mantém saudável e em pleno funcionamento. Todos nós cometemos erros, afinal somos humanos e humanos cometem erros todo o tempo. Dessa forma, é inevitável que bugs apareçam e que a medida com que nosso software evolui, eles sejam mais difíceis de serem corrigidos e controlados. Garantir que nossa aplicação permaneça 100% sem bugs é quase utópico. Falar de uma aplicação sem bugs é falar de uma aplicação que não evolui, que não cresce, que não escala.

A real necessidade então de se realizar testes é a garantia de qualidade, identificando erros e bugs de um sistema logo no início do desenvolvimento de features, ajudando a melhorar a confiança no produto, sua qualidade e sua documentação. Ao desenvolver novos módulos e funcionalidades, como garantir que tudo o que existia antes ainda funciona sem bugs e de forma plena se você não possui testes escritos? Além disso, também vale dizer que escrever um teste que utiliza seu código também é uma forma de documentar, já que ao ler o teste, você está “lendo como se utiliza o seu software”. Testes também podem ajudar em suas métricas. Como medir performance, escalabilidade, confiança, disponibilidade sem os seus respectivos testes?

O mais importante é definir que testar é essencial para fidelizar seus clientes. A satisfação e a confiança com que seu cliente utiliza sua aplicação é o principal fator pelo qual o mantém a utilizando e sem testes é difícil manter um software que evolui com alto nível de qualidade.

Tipos de testes

Temos inúmeros tipos de testes que normalmente se dividem entre testes funcionais e não funcionais. Dentro dos testes funcionais, nos preocupamos com a aplicação em si a nível de código, realizando testes unitários, de integração, de interface, etc. Já nos testes não funcionais, nos preocupamos mais com o controle de qualidade, testando nossa documentação, nossa segurança, performance, escalabilidade, etc. Perceba que essa divisão é muito similar à divisão entre requisitos funcionais e não funcionais, auxiliando assim a direcionar nosso foco e priorizar o que é mais importante de ser testado.

A figura abaixo ilustra muito bem um dilema comum quando se inicia na prática de testes.

Perceba que a medida que subimos na pirâmide nossos testes são mais caros de serem executados, assim quanto mais alto nível um teste é feito mais caro será de escrevê-lo e também para executá-lo. Já quando descemos mais a nível de métodos, módulos e classes, com os famosos testes unitários, fica mais barato executar nossos testes. Aqui não há regra. Você deve direcionar seus recursos para aquilo que é o cerne de sua aplicação. Por exemplo, caso você possua uma single page application o ideal seria focar mais em testes de interface mesmo que mais caros, já que o front-end é o ponto mais importante de sua aplicação. Já se você trabalha com back-end com muito processamento em background e serviços de mais baixo nível, nesse caso testes unitários talvez sejam mais interessantes.

Em nossa série, daremos foco ao teste unitário, visto que é o tipo de teste mais popular e que toda aplicação deveria ter. Como possuem baixo custo como visto, cobrir toda a aplicação com testes unitários já nos trás muito ganho, garantindo qualidade a nível de código e permitindo a evolução de nosso software de maneira segura. Por isso, não perca nossa série onde já veremos na semana que vem como iniciar com testes utilizando Ruby + Rspec!

Espero ver você aqui na semana que vem. Até mais!

Compartilhar

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Precisa de um projeto personalizado e profissional?

Preencha o formulário abaixo e nos conte sobre sua demanda. Vamos analisar suas necessidades e enviar um orçamento inicial. Estamos prontos para ajudá-lo a transformar seu projeto em realidade!

Conteúdos relacinados

Por que Escolher Ruby on Rails para o Desenvolvimento Web?

Descubra por que Ruby on Rails é uma das melhores escolhas para desenvolvimento web! Com alta produtividade, código limpo e...

O que é Tráfego Pago e Como Ele Pode Impulsionar Seu Negócio Online?

Descubra como o tráfego pago pode impulsionar seu negócio online com resultados imediatos, segmentação precisa e campanhas otimizadas em plataformas...

Diferenças entre um site, uma landing page e um e-commerce: Qual escolher para o seu negócio?

Entenda as diferenças entre um site, uma landing page e um e-commerce, e descubra qual é a melhor opção para...

O que é o Google AdSense e como ele pode monetizar o seu site?

Descubra como o Google AdSense pode transformar o tráfego do seu site em uma fonte de receita, exibindo anúncios relevantes...

O que é um Ethical Hacker e Por que Sua Empresa Precisa de Um?

Descubra o papel essencial do ethical hacker na proteção da sua empresa contra ameaças cibernéticas. Saiba como esses profissionais identificam...

Dicas para Criar um Ambiente de Trabalho Produtivo em Casa

Transforme seu home office em um ambiente produtivo e confortável com dicas de organização, ergonomia e decoração. Descubra como criar...