Sei sulla pagina 1di 10

Universidade Federal do Esprito Santo

Centro Tecnolgico
Departamento de Informtica

Disciplina: INF 02810 Engenharia de Software

Prof.: Monalessa Perini Barcellos


(monalessa@inf.ufes.br)

Contedo
1.

Introduo

2.

Processo de Software

3.

Gerncia de Projetos de Software

4.

Gerncia da Qualidade

5.

Especificao e Anlise de Requisitos

6.

Projeto de Sistemas

7.

Implementao e Testes

8.

Entrega e Manuteno

Engenharia de Software

Monalessa Perini Barcellos

7. Implementao e Testes
Implementao
Consiste na codificao do software .
realizada por programadores.
Programadores, geralmente, trabalham em equipe e precisam integrar, testar e
alterar cdigo produzido por outros.
muito importante que haja padres organizacionais para a fase de
implementao.
Esses padres devem ser seguidos por todos os programadores e devem
estabelecer, dentre outros, padres de nomes de variveis, formato de cabealhos
de programas e formato de comentrios, recuos e espaamento, de modo que o
cdigo e a documentao a ele associada sejam claros para quaisquer membros
da organizao.
Engenharia de Software

Monalessa Perini Barcellos

7. Implementao e Testes
Testes
Uma vez implementado o cdigo de uma aplicao, ele deve ser testado para
descobrir tantos defeitos quanto possvel, antes da entrega do produto de
software ao seu cliente.
Testes so atividades de verificao e validao.
Mesmo se um teste no detectar defeitos, isso no quer dizer necessariamente
que o produto um produto de boa qualidade. Os testes podem ter sido mal
conduzidos.
Princpios dos Testes:
Teste completo no possvel.
Teste envolve vrios estgios.
Teste deve ser conduzido por terceiros.
Testes devem ser planejados antes de serem realizados.
Engenharia de Software

Monalessa Perini Barcellos

7. Implementao e Testes
Processo de Testes

Planejamento de Testes: trata da definio das atividades de teste, das estimativas dos
recursos necessrios para realiz-las, dos objetivos, estratgias e tcnicas de teste
a serem adotadas e dos critrios para determinar quando uma atividade de teste
est completa.

Projeto de Casos de Testes: a atividade chave para um teste bem-sucedido, ou seja,


para se descobrir a maior quantidade de defeitos com o menor esforo possvel.

Execuo dos testes: consiste na execuo dos casos de teste e registro de seus
resultados.

Avaliao dos resultados: detectadas falhas, os defeitos devero ser procurados. No


detectadas falhas, deve-se fazer uma avaliao final da qualidade dos casos de
teste e definir pelo encerramento ou no de uma atividade de teste.

Engenharia de Software

Monalessa Perini Barcellos

7. Implementao e Testes
Tcnicas de Testes
Essencialmente, h dois tipos de testes:

Testes Funcionais ou Caixa Preta:

Utilizam as especificaes (de requisitos, anlise e projeto) para definir os


objetivos do teste e, portanto, para guiar o projeto de casos de teste.
So conduzidos na interface do software.
So empregados para demonstrar que as funes do software esto
operacionais, que a entrada adequadamente aceita e a sada corretamente
produzida e que a integridade da informao externa (uma base de dados,
por exemplo) mantida.

Testes Estruturais ou Caixa Branca:

Estabelecem os objetivos do teste com base em uma determinada


implementao, verificando detalhes do cdigo.
Caminhos lgicos internos so testados, definindo casos de testes que
exercitem conjuntos especficos de condies ou laos.

Engenharia de Software

Monalessa Perini Barcellos

7. Implementao e Testes
Testes Caixa Branca
Testes de estrutura de controle
Enfocam as estruturas de controle de um mdulo, tais como comandos,
condies e laos.
Teste de condio um tipo de teste de estrutura de controle que exercita as
condies lgicas contidas em um mdulo.
Um teste de fluxo de dados, por sua vez, seleciona caminhos de teste
tomando por base a localizao das definies e dos usos das variveis nos
mdulos.
Testes de ciclo ou lao focalizam exclusivamente os laos (loops).
Teste de caminho bsico
Define uma medida de complexidade lgica de um mdulo e usa essa
medida como guia para definir um conjunto bsico de caminhos de
execuo.

Engenharia de Software

Monalessa Perini Barcellos

7. Implementao e Testes
Testes Caixa Preta
Particionamento de equivalncia

Divide o domnio de entrada de um mdulo em classes de equivalncia, a


partir das quais casos de teste so derivados.

A meta minimizar o nmero de casos de teste, ficando apenas com um caso


de teste para cada classe, uma vez que, a princpio, todos os elementos de
uma mesma classe devem se comportar de maneira equivalente.

Anlise de valor limite

A prtica mostra que um grande nmero de erros tende a ocorrer nas


fronteiras do domnio de entrada de um mdulo.

Tendo isso em mente, a anlise de valor limite leva seleo de casos de teste
que exercitem os valores limtrofes.

Engenharia de Software

Monalessa Perini Barcellos

7. Implementao e Testes
Estratgias de Testes
a) Teste de Unidade: tem por objetivo testar a menor unidade do projeto (um
componente de software que no pode ser subdividido), procurando identificar erros
de lgica e de implementao em cada mdulo separadamente.

Engenharia de Software

Monalessa Perini Barcellos

7. Implementao e Testes
Estratgias de Testes
b)Teste de Integrao: visa a descobrir erros associados s interfaces entre os
mdulos quando esses so integrados para formar estrutura do produto de software.

Engenharia de Software

Monalessa Perini Barcellos

7. Implementao e Testes
Estratgias de Testes
c) Teste de Sistema: tem por objetivo identificar erros de funes (requisitos
funcionais) e caractersticas de desempenho (requisito no funcional) que no estejam
de acordo com as especificaes. Muitas vezes, so chamados de testes de validao.
Os testes de sistema incluem
diversos tipos de teste,
realizados na seguinte ordem :

Teste funcional

Teste de desempenho

Teste de aceitao

Teste de instalao

Engenharia de Software

Monalessa Perini Barcellos

7. Implementao e Testes
Testes: algumas questes

O qu e quanto tentar?

Lei de Pareto:

Engenharia de Software

Progresso da Deteco de Defeitos:

Monalessa Perini Barcellos

7. Implementao e Testes
Testes: algumas questes

Quem deve realizar os testes?

Engenharia de Software

Monalessa Perini Barcellos

7. Implementao e Testes
Plano de Testes
Um exemplo bem simples
Caso de Teste para a funo Substituir de um editor de teste.

Engenharia de Software

Monalessa Perini Barcellos

7. Implementao e Testes
Testes automatizados
Exemplo de ferramenta de apoio a testes automatizados: JUnit

Engenharia de Software

Monalessa Perini Barcellos

8. Entrega e Manuteno
Entrega
No momento da entrega, duas questes so cruciais : treinamento e documentao.
essencial que o treinamento de pessoal seja realizado para que os usurios e
operadores possam operar o sistema adequadamente.
A documentao que acompanha o sistema ser utilizada como material de referncia
para a soluo de problemas ou como informaes adicionais.
Essa documentao inclui, dentre outros, manuais do usurio e do operador, guia
geral do sistema, tutoriais, ajuda (help) - preferencialmente online - e guias de

referncia rpida.
Engenharia de Software

Monalessa Perini Barcellos

8. Entrega e Manuteno
Manuteno
O desenvolvimento de um sistema termina quando o produto entregue para o cliente e entra
em operao.
A partir da, deve-se garantir que o sistema continuar a ser til e atendendo s necessidades do
usurio, o que pode demandar alteraes no mesmo. Comea, ento, a fase de manuteno.
H muitas causas para a manuteno, dentre elas: falhas no processamento devido a erros no
software, falhas de desempenho, alteraes no ambiente de dados, alteraes no ambiente de
processamento, necessidade de modificaes em funes existentes e necessidade de incluso
de novas capacidades.
O processo de manuteno semelhante (mas no igual) ao processo de desenvolvimento e
pode envolver atividades de levantamento de requisitos, anlise, projeto, implementao e
testes, agora no contexto de um software existente.
Engenharia de Software

Monalessa Perini Barcellos

8. Entrega e Manuteno
Tipos de Manuteno

Manuteno corretiva: trata de problemas decorrentes de defeitos.

Manuteno adaptativa: s vezes, uma mudana no ambiente do sistema, incluindo


hardware e software de apoio, pode implicar em uma necessidade de adaptao.

Manuteno perfectiva: consiste em realizar mudanas para melhorar algum aspecto


do sistema, mesmo quando nenhuma das mudanas for consequncia de
defeitos.

Manuteno preventiva: consiste em realizar mudanas a fim de prevenir falhas.


Geralmente ocorre quando um mantenedor descobre um defeito que ainda no
causou falha e decide corrigi-lo antes que ele gere uma falha.

Engenharia de Software

Monalessa Perini Barcellos

Referncias

FALBO, R. A., BARCELLOS, M. P., 2011, Notas de Aula Engenharia de Software Parte II,
Departamento de Informtica, Universidade Federal do Esprito Santo.

MIELKE, I., CARRARETTO, R., HOLZ, H., 2011, Testes de Software, Apresentao realizada na
disciplina Qualidade de Software, Mestrado em Informtica, Departamento de Informtica,
Universidade Federal do Esprito Santo.

Engenharia de Software

Monalessa Perini Barcellos

Universidade Federal do Esprito Santo


Centro Tecnolgico
Departamento de Informtica

Disciplina: INF 02810 Engenharia de Software

Prof.: Monalessa Perini Barcellos


(monalessa@inf.ufes.br)

10

Potrebbero piacerti anche