Teste

De Wiki Colaborativa do SISP
Ir para: navegação, pesquisa

Testes e qualidade de código

Testar um software é importante pois reduzem os riscos de se encontrarem problemas quando o software em produção, além de contribuir para o aumento da qualidade dos sistemas de software caso os problemas de softwares sejam encontrados antes do software entrar em produção [1].

A comunidade de desenvolvedores de vários softwares livres, encorajam o uso do TDD (Test Driven Development) [2], já que manter os testes em um software é importante pois reduzem os riscos de se encontrarem problemas quando o software em produção, além de contribuir para o aumento da qualidade dos sistemas de software caso os problemas de softwares sejam encontrados antes do software entrar em produção.

Do ponto de vista do desenvolvimento colaborativo, a importância de se desenvolver e executar testes a cada funcionalidade, é garantir que todos os módulos desenvolvidos funcionem corretamente, mesmo após a adição de uma nova funcionalidade ou plugin na arquitetura de um software, é possível que eles intefiram diretamente nas funções que estão dentro do núcleo desse software, prejudicando assim os demais usuários.

Normalmente, boas práticas em desenvolvimento de software pedem que sejam realizados os seguintes tipos de testes:

  • Testes unitários - Buscam avaliar o software através de blocos de código ou menores unidades lógica. Em programação estruturada, por exemplo, essas unidades lógicas são definidas como um procedimento ou função.
  • Testes de aceitação - Ajudam a entender se as necessidades dos usuários foram atendidas, realizando um conjunto de ações que estão visíveis para um usuário e testando se as saídas são reconhecidas pelo usuário.
  • Testes funcionais - Verificam se o comportamento do software desenvolvido está de acordo com as especificações levantadas.
  • Testes de integração - Testam os componentes de software que estão separados em busca de saber se os mesmos funcionam em conjunto.

Foram feitos alguns testes unitários, que buscam avaliar o software através de blocos de código ou menores unidades lógica. Em programação estruturada, por exemplo, essas unidades lógicas são definidas como um procedimento ou função . Esses testes tem o objetivo de verificar se a adição de uma nova funcionalidade dentro do plug-in não interferem no funcionamento das demais funções do Noosfero. O trecho de código abaixo representa um dos testes unitários que foram feitos no plug-in.

Os testes de aceitação ajudam a entender se as necessidades dos usuários foram atendidas, realizando um conjunto de ações que estão visíveis para um usuário e testando se as saídas são reconhecidas pelo usuário.

Referências

  1. Braziliam Software Testing Qualifications Board. Certificação em Teste Foundation Level Syllabus. Comissão Internacional para Qualificação de Teste de Software. 2007
  2. Maiores informações em: http://en.wikipedia.org/wiki/Test-driven_development