Testes em software
Caros,
Para melhor interagir com as equipes de desenvolvimento cá na empresa,
gostaria de entender melhor como funcionam os testes em software.
Não me parecia má uma visita na Wikipédia, então, fiquei a saber que
ela catalogava os seguintes tipos de testes:
1. Testes de unidade;
2. Testes de integração;
3. Testes de sistema;
4. Testes de aceitação;
5. Testes de operação.
1. Testes de unidade
Não tenho muita dúvida do que venha a ser isso. No Freepascal, temos a
FPCUnit. Basicamente, escolhemos uma rotina crítica e construimos um
programa que a teste e emita um relatório.
É um teste sempre feito pelo desenvolvedor. Suponho que seja muito
saudável que os testes unitários sejam entregues juntamente com o
código fonte, visto que futuras atualizações do software poderiam
resultar em testes uitários falhos.
2. Testes de integração
A Wikipédia deixou claro de que não se trata de integração entre
sistemas, mas sim, entre módulos. Um módulo contém os formulários; o
outro, persiste os dados em um banco de dados; será que o formulário
está a colher dados que são consistentes com as regras do banco?
Suponho que aqui tenhamos um teste integrado.
Suponho ainda que seja um teste entregue pelo desenvolvedor e que
corresponda a um programa de teste compilado, por exemplo, com
FPCUnit, contendo, entretanto, a interação entre rotinas de mais de um
módulo.
3. Testes de sistema
O desenvolvimento começou com uma especificação funcional: Documento
de visão, Regras de negócio e Diagramas de Casos e Usos. Aí estavam
definidos os requisitos funcionais. Se bem entendi, os testes de
unitários e de integração seriam aqueles chamados "testes de caixa
branca" porque pressupõe o conhecimento e a manipulação das entranhas
do software. Entretanto, os testes de sistema contrapõe os requisitos
funcionais aos resultados esperados. Não se fixa no processamento, mas
nos resultados pelo que é chamado "teste de caixa preta".
4. Teste de aceitação
Eis aqui a primeira dúvida. Ele se parece muito com o teste de
sistema. A única informação adicional é que se trata de um conjunto de
testes, realizado por um grupo limitado, destinado a aprovar o sistema
e pagar para o desenvolvedor. Deste modo, a minha pergunta é se
realmente existem dois tipos de testes (de sistema e de aceitação) ou
se, contrariamente, correspondem aos mesmos testes, recebendo nomes
distintos de acordo com a função que ocupam.
Estes testes seriam conduzidos pelos usuários e pela equipe de TI do cliente.
5. Testes de operação
Se bem entenbem entendi, os testes de operação são muito parecidos com
os testes de sistema, entretanto, realizads em ambiente de produção.
Uma diferença é quem no ambiente de homologação, não existe, por
exemplo, o sistema que anteriormente funcionava. Então, é no teste de
operação que ocorreria a migração das bases de dados para o novo
sistema.
Suponho que estes testes dsejam realizados pela equipe de
infraestrutura do cliente.
O que gostaria de saber é se entendi adequadamente como funcionam o os
testes de software:
1. Os tipos aqui descritos correspondem a uma visão meramente
acadêmica ou são utilizados na vida real?
2. Qual a diferença entre os testes de sistema e os testes de aceitação?
Luciano
--
--
--
Você recebeu esta mensagem porque está inscrito no Grupo "Lazarus-BR"
nos Grupos do Google.
Para postar neste grupo, envie um e-mail para
lazarus-br@...
Para cancelar a sua inscrição neste grupo, envie um e-mail para
lazarus-br+unsubscribe@...
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/lazarus-br?hl=pt-BR
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lazarus-BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para lazarus-br+unsubscribe@...
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.