04 e 05
de outubro
São Paulo - Brasil
< Voltar ao blog

Desenvolvendo aplicações de confiança com Test Driven Development

19 de agosto de 2016

Ultimamente, a informatização e a criação de sistemas complexos para manipulação de dados têm se tornado práticas cada vez mais populares, porém como garantir o bom funcionamento de tais aplicações? Na palestra da Isabella Silveira, engenheira web da Huge, você entenderá como o Desenvolvimento Orientado a Testes pode ser uma ferramenta poderosa para a construção de aplicações confiáveis e de qualidade, mostrando diferentes tipos de testes que atuam em cada camada do seu sistema e os melhores frameworks para por tudo isso em prática. Confira a entrevista que fizemos com a Isabella sobre esse tema.

1) O que é o Desenvolvimento Orientado a Testes e sua importância para a qualidade do software?

Desenvolvimento Orientado a Testes, o famoso TDD (do inglês, Test Driven Development), é uma metodologia de desenvolvimento de software onde os testes são escritos antes das funcionalidades em si. Essa prática contribui muito para a qualidade do código desenvolvido pois garante que toda a base de código da aplicação é 100% testada; além disso, proporciona arquiteturas mais modulares, já que após o TDD  teremos um código inteiramente testável, com pequenas funções com escopos de atuação bem definidas. Isso possibilita a reutilização, legibilidade e reduz a complexidade do código implementado.

2) Como o Desenvolvimento Orientado a Testes pode contribuir para a construção de aplicações confiáveis?

Acho que todos os desenvolvedores já passaram pelo famigerado momento em que o código quebra em momentos ou funções inesperadas, e sabem muito bem o gostinho do perrengue que é procurar um bug no palheiro. O Desenvolvimento Orientado a Testes acaba justamente com essa imprevisibilidade do código, já que, por meio dos testes, o comportamento de cada função desenvolvida é mapeado e é possível identificar um erro imediatamente após o desenvolvimento de cada funcionalidade, acabando com estas surpresas desagradáveis e o medo da refatoração. Depois de trabalhar com clientes de perfis muito variados na Huge, que é especializada na criação de experiências digitais com projetos de escala global, a necessidade do TDD fica ainda mais evidente; nada compra a tranquilidade de ir dormir sabendo que está tudo bem com o seu código.

3) Quais são os principais frameworks de trabalho existentes para o Desenvolvimento Orientado a Testes?

Existem inúmeras ferramentas e frameworks de desenvolvimento de testes, cada qual com diferentes linguagens e especificidades. Pessoalmente, gosto muito do Jasmine e do Mocha para testes unitários e de integração em Javascript e do JUnit para testes unitários e de integração em Java. Já para testes de aceitação, aqueles que simulam o comportamento do usuário na camada da vista, o queridinho é sempre o Selenium. Os testes do Selenium WebDriver em si podem ser implementados em Java, mas o mesmo serve de base para dezenas de outros frameworks de testes de aceitação com linguagens diferentes. Em Javascript o meu favorito é o Nightwatch, por sua sintaxe simples e prática.

4) Como que você visualiza os ambientes de testes no futuro? O que você ainda acha que precisa melhorar?

A preocupação com a qualidade de software tem crescido cada vez mais e ganhado cada vez mais espaço na forma como desenvolvemos. Com isso, atualmente já não é aceitável que haja código de produção sem uma boa cobertura de testes, principalmente em softwares de grande utilização e importância para o usuário, como plataformas de e-commerce e aplicativos de geolocalização. O domínio de ferramentas de testes e boas práticas de software se tornará uma habilidade indispensável para qualquer desenvolvedor, tanto no front como no backend.

O tempo de execução de testes de aceitação ainda é bem lento, por desempenhar funções custosas como criar uma nova instância do browser e esperar o tempo de resposta do servidor, mas com o grande avanço tecnológico e o aumento do poder de processamento dos computadores, os testes serão executados ainda mais rápido, o que despertará um foco ainda maior e facilitará a execução dos testes de integração e de aceitação, que são indispensáveis para monitorar o funcionamento de cada módulo da aplicação.

Leia Também

04 e 05 de Outubro

São Paulo - Brasil

Centro de Convenções Rebouças

Faça a sua inscrição e fique por dentro das inovações e tendências Web com os melhores palestrantes nacionais e internacionais!

A Web.br é o local perfeito para trocar experiências e ficar por dentro das novidades do mercado.

COMPRE SEU INGRESSO!

Somente no local do evento: R$ 370,00

Assine a
newsletter

 

Fique por dentro das novidades do evento!

Cadastre-se na nossa Newsletter e receba atualizações de agenda, novos palestrantes, informações sobre inscrições e muito mais!

Seja um
patrocinador:

A sua empresa deseja patrocinar ou apoiar a edição 2018 da conferência Web.br? Fale com a gente!

organização

Centro de Estudos sobre Tecnologias Web Acesse o site do NIC.br Acesse o site do CGI.br

Iniciativa convidada

Acesse o site do W3C
Imagem do rodapé