Вы находитесь на странице: 1из 6

Universidade Federal do Estado do Rio de Janeiro

Centro de Cincias Exatas e Tecnologia


Escola de Informtica Aplicada
Curso: Bacharelado em Sistemas de Informao

Construo de Sistemas

Validao e Testes

Grupo: Bruna Couto


Paulo Fernando
Rodrigo Cezar
1. Introduo
um processo da investigao tcnica com intuito de identificar a qualidade, a segurana
e a exatido do software desenvolvido. Isto inclui, mas no limitado ao processo de
executar um programa ou uma aplicao com a inteno de encontrar erros.
A validao do software tem como objetivo mostrar que um sistema encontra-se
conforme sua especificao e satisfaz os requisitos do cliente. Envolve processos de
verificao, reviso e testes do sistema.
O processo de teste voltado para o alcance de um nvel de qualidade de produto, que
durante o processo de desenvolvimento, o software muda conforme avano das
atividades, requisitos, prottipos, modelo de dados lgico, modelo de dados fsico,
cdigo-fonte, mdulos funcionais e finalmente um sistema. O objetivo principal desta
tarefa encontrar o nmero mximo de erros dispondo do mnimo de esforo, ou seja,
mostrar aos que desenvolvem se os resultados esto ou no de acordo com os padres
estabelecidos.
H diversos objetivos para a realizao de testes:
Encontrar falhas que comprometam a confiabilidade
Encontrar diferenas da especificao original
Analisar se o sistema est adequado ao uso
Analisar se o desempenho do sistema satisfatrio
Encontrar problemas nas interfaces com outros sistemas
Encontrar problemas nas interfaces com equipamentos

Pode se pensar que seja obrigao exclusiva dos programadores, garantir que todos os
programas funcionem corretamente. Infelizmente esta no a realidade. Isso porque os
programas possuem um grande nmero de estados contendo frmulas complexas,
atividades e algoritmos. O tamanho do projeto a ser desenvolvido e a quantidade de
pessoas envolvidas no processo aumentam ainda mais a complexidade. Assim, a presena
de falhas inevitvel. Por exemplo, quando um usurio da linha de produo efetua
consultas no sistema das quais s a gerncia deveria ter acesso.
Esse tipo de falha pode ser originado por diversos motivos, como os listados abaixo:
A especificao pode estar errada ou incompleta.
A especificao pode conter requisitos impossveis de serem implementados, devido a
limitaes de hardware ou software.
Talvez a base de dados esteja organizada de forma que no seja permitido distinguir
os tipos de usurio.
Pode ser que haja um erro no algoritmo de controle dos usurios.
Pode ser que haja erros no cdigo, o algoritmo pode estar implementado de forma
errada ou incompleta.

Todos os processos de teste se baseiam em:


Formular um caso de teste segundo um critrio estabelecido
Determinar os resultados esperados dos casos de teste
Rever os casos de teste e seus resultados esperados

2
Comparar os resultados do teste com o resultado esperado
Explicar os problemas encontrados de forma que possam ser corrigidos no sistema

EXEMPLOS DE TIPOS DE FALHAS:


Especificao
Especificao dos requisitos
Especificao do projeto e da arquitetura
Projeto
Interface com o usurio
Interface com outros sistemas ou hardwares
Interfaces entre mdulos e classes
Modelos de dados
Comunicao de dados
Validao de dados
Sincronizao em processos distribudos
Conformidade com padres
Cdigo
Lgica
Clculo
Manipulao de dados
Implementao de interfaces
Aspectos temporais
Documentao incompleta ou incompreensvel
Documentao inconsistente

2. Tcnicas de Teste
Atualmente h muitas maneiras de se testar um software. Mesmo assim, h
tcnicas que sempre foram muito utilizadas em sistemas desenvolvidos sobre linguagens
estruturadas Abaixo esto descritas as 2 tcnicas mais conhecidas.

Caixa-Branca

Tcnica de teste que avalia o comportamento interno do componente de software.


Essa tcnica trabalha diretamente sobre o cdigo-fonte do componente de software para
avaliar aspectos tais como: teste de condio, teste de fluxo de dados, teste de ciclos e
teste de caminhos lgicos. Os aspectos avaliados nesta tcnica de teste dependero da
complexidade e da tecnologia que determinarem a construo do componente de
software. O desenvolvedor responsvel pelos testes tem acesso ao cdigo fonte da
aplicao e pode construir cdigos para efetuar a ligao de bibliotecas e componentes.
Um exemplo bem prtico desta tcnica de teste o uso da ferramenta livre JUnit para
desenvolvimento de classes de teste (test cases) para testar classes ou mtodos
desenvolvidos em Java. Tambm se enquadram nessa tcnica testes manuais ou testes

3
efetuados com apoio de ferramentas para verificao de aderncia a boas prticas de
codificao, reconhecidas pelo mercado de software.A tcnica de teste de Caixa-Branca
recomendada para as fases de Teste da Unidade e Teste da Integrao, cuja
responsabilidade principal fica a cargo dos desenvolvedores do software, que por sua vez
conhecem bem o cdigo-fonte produzido.

Caixa-Preta

Tcnica de teste em que o componente de software a ser testado abordado como


se fosse uma caixa-preta, ou seja, no se considera o comportamento interno do mesmo
(cdigo-fonte). Dados de entrada so fornecidos, o teste executado e o resultado obtido
comparado a um resultado esperado previamente conhecido. O componente de software
a ser testado pode ser um mtodo, uma funo interna, um programa, um componente,
um conjunto de programas ou componentes ou mesmo uma funcionalidade. A tcnica de
teste de Caixa-preta aplicvel a todas as fases de teste: teste de unidade (ou teste
unitrio), teste de integrao, teste de sistema e teste de aceitao.

3. Fases de Teste

Teste de Unidade

Tambm conhecida como Teste Unitrio. a fase do processo de teste em que se


testam as menores unidades de software desenvolvidas( pequenas partes ou unidades do
sistema). Os alvos desse tipo de teste so os mtodos dos objetos ou mesmo pequenos
trechos de cdigo. Assim, o objetivo encontrar falhas de funcionamento dentro de uma
pequena parte do sistema funcionando independentemente do todo. Cada parte do
programa isolada e testada afim de mostrar que funciona individualmente.

O teste de unidade no detecta todos os erros de um programa, como por


exemplo, erros de integrao e problemas de performance. Alm disso, pode no ser fcil
antecipar todos os casos especiais de input que a unidade do programa pode vir a
receber. Esse tipo de teste eficaz apenas se for usado conjuntamente com outras
atividades de teste do software.

Teste de Integrao

Na fase de teste de integrao, o objetivo encontrar falhas provenientes da


integrao interna das unidades de um sistema. Geralmente os tipos de falhas encontradas
so de envio e recebimento de dados. Por exemplo, um objeto A pode estar aguardando o
retorno de um valor X ao executar um mtodo do objeto B, porm este objeto B pode
retornar um valor Y, gerando uma falha. No faz parte do escopo dessa fase de teste o
tratamento de interfaces com outros sistemas (integrao entre sistemas). Essas interfaces

4
so testadas na fase de teste de sistema, apesar de, a critrio do gerente de projeto, estas
interfaces poderem ser testadas mesmo antes de o sistema estar plenamente construdo..

Teste de Sistema

Na fase de Teste de Sistema o objetivo executar o sistema sob o ponto de vista


do seu usurio final, varrendo as funcionalidades em busca de falhas. Os testes so
executados em condies similares - de ambiente, interfaces sistmicas e massas de
dados - quelas que um usurio utilizar no seu dia-a-dia de manipulao do sistema. De
acordo com a poltica de uma organizao, podem ser utilizadas condies reais de
ambiente, interfaces sistemticas e massas de dados.

Teste de Aceitao

Fase de Teste em que o teste conduzido por usurios finais do sistema. Os testes
so realizados, geralmente, por um grupo restrito de usurios finais do sistema. Estes
simulam operaes de rotina do sistema de modo a verificar se seu comportamento est
de acordo com o solicitado.

um teste formal, conduzido para determinar se um sistema satisfaz ou no seus


critrios de aceitao e para permitir ao cliente determinar se aceita ou no o sistema.
utilizado para a validao de um software pelo comprador, pelo usurio ou por terceira
parte, com o uso de dados ou cenrios especficos ou reais. Pode incluir testes funcionais,
de configurao, de recuperao de falhas, de segurana e de desempenho.

Teste de Regresso

Fase de Teste aplicvel a uma nova verso de software ou necessidade de se


executar um novo ciclo de teste durante o processo de desenvolvimento. Consiste em se
aplicar, a cada nova verso do software ou a cada ciclo, todos os testes que j foram
aplicados nas verses ou ciclos de teste anteriores do sistema. Inclui-se nesse contexto a
observao de fases e tcnicas de teste de acordo com o impacto de alteraes provocado
pela nova verso ou ciclo de teste. Para efeito de aumento de produtividade e de
viabilidade dos testes, recomendada a utilizao de ferramentas de automao de testes,
de forma que, sobre a nova verso ou ciclo de teste, todos os testes anteriores possam ser
reexecutados com maior agilidade.

5
Bibliografia

INTERNET:
http://www.fw.uri.br/~adrovane/engsoft_arquivos/processos_software.pdf
http://infolab.stanford.edu/~burback/watersluice/node2.html
Wikipedia - http://pt.wikipedia.org ; http://www.wikipedia.org
Mundo OO http:// www.mundooo.com.br

Оценить