Engenharia de Software 1 - Aula 7 - Teste OO

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 23

Disciplina Engenharia de Software 1

Testes de Software Orientado a Objetos

Profa. Silvia Helena Oliveira Santos

Testes Orientados a Objetos

O objetivo de qualquer teste de software encontrar o maior nmero de erros possveis, com um mnimo de esforo aplicado.

Testes Orientados a Objetos

medida que a programao orientada a objeto cresce, mais reuso de padres ser utilizado. Ento, isso minimiza a necessidade de testar completamente sistemas O.O?

NO: cada reuso um novo contexto de utilizao e a retestagem prudente.

Testes Orientados a Objetos

Uma diferena importante do teste de programas procedimentais em relao aos modelos orientados a objetos encontra-se no fato que as aplicaes orientadas a objetos no so executadas seqencialmente. A menor unidade de teste para sistemas orientados a objetos a classe, pois onde encontramos uma coleo de declaraes de variveis e funes.

Testes Orientados a Objetos


Desenvolvimento de software OO muito eficiente, mas acarreta problemas para o teste. Alguns problemas:

Classes abstratas: no possvel test-las diretamente, pois no so instanciveis. Herana: uma mudana numa subclasse pode impactar todas as subclasses.

Polimorfismo: muitas vezes no possvel dizer qual cdigo ser executado quando da utilizao de uma funo polimrfica.
Encapsulamento: impossibilita a visualizao do contedo dos atributos, dificultando o teste.

Estratgias deTestes Orientados a Objetos

A estratgia clssica para testar software comea com o teste em pequena escala e trabalho em direo ao teste em larga escala.

Isto significa, comearmos com o teste de unidade, depois progredirmos para o teste de integrao, validao e do sistema.

Testes Orientados a Objetos Revisando...

Testes de unidade

Cada unidade testada separadamente.

Testes de integrao

Os mdulos do sistema devem ser testados em conjunto. os requisitos estabelecidos so testados para a verificao se o sistema corresponde ao que o cliente pediu.
So verificadas a segurana, desempenho, etc. do sistema.

Testes de validao

Teste de Sistema

Testes orientados no contexto de O.O. Teste de Unidade


Quando considerado o software orientado a objetos, o conceito de unidade se modifica. Cada classe e cada objeto empacotam os atributos (dados) e as operaes (mtodos). Ao invs de testar um programa individual, testa-se a classe.

Possibilita o teste de mtodos de cada classe uma tcnica caixa-branca, onde o conhecimento da estrutura interna do sistema deve ser conhecida Necessita de um bom planejamento de testes A utilizao de ferramentas fundamental A utilizao de testes automatizados pr-requisito para a realizao de testes de regresso.

Testes orientados no contexto de O.O. Teste de Unidade

Testes Orientados a Objetos

Teste de integrao

Uma estratgia para esse tipo de teste a integrao de classes necessrias e teste baseado no caminho de execuo para responder a uma entrada ou evento do sistema.

Testes Orientados a Objetos

Testes de validao

No nvel de validao, o testador deve se apoiar nos casos de uso que so parte do modelo de anlise. O caso de uso fornece um cenrio que tem uma alta probabilidade de descobrir erros nos requisitos de interao com o usurio.

Testes Orientados a Objetos

Teste de sistema

Deve ser utilizado os mesmos testes de segurana, estresse, etc. como no modelo clssico.

Testes Orientados a Objetos O que avaliar?

Para avaliar a consistncia, cada classe e suas conexes com outras classes devem ser examinadas.

O modelo classe-responsabilidade colaborao (CRC) pode ser usado para facilitar essa atividade.

Testes Orientados a Objetos Modelo CRC

Cartes CRC so utilizados na etapa inicial de projeto de um sistema orientado a objetos.


O projeto feito em conjunto por uma equipe de cerca de 5 ou 6 pessoas. Participam da atividade:

Usurio, analista, projetista e programador.

Testes Orientados a Objetos Modelo CRC

O modelo CRC composto por fichas ou cartes. Cada ficha lista o nome da classe, suas responsabilidades (operaes) e suas colaboraes (outras classes para as quais ela envia mensagens e das quais ela depende para a satisfao de suas responsabilidades).

Testes Orientados a Objetos Modelo CRC

A modelagem classe-responsabilidadecolaborao (CRC) fornece um meio para identificar e organizar as classes que so relevantes aos requisitos do sistema. O modelo CRC uma coleo de fichas de indexao que representam classes. As fichas so divididas em trs partes.

Testes Orientados a Objetos Modelo CRC


Nome da Classe

Lista de responsabilidades da classe

Colaboradores

operaes

outras classes para as quais ela envia mensagens

Testes Orientados a Objetos

Para avaliar o modelo de classes, os seguintes passos so recomendados:


1.

Revisitar o modelo CRC. Fazer uma verificao cruzada para garantir que todas as colaboraes implicadas pelo modelo OOA esto representadas adequadamente. Inspecionar a descrio de cada ficha CRC para determinar se uma responsabilidade parte da definio da colaborao. Exemplo: para entrar com o montante de uma compra a crdito, necessrio ler primeiramente o carto de crdito. Determinar se responsabilidades muito solicitadas poderiam ser combinadas em uma nica responsabilidade. Por exemplo, ler carto de crdito e obter autorizao ocorrem em toda situao.

2.

3.

Testes Orientados a Objetos


Nome da Classe: Vendas a crdito
Responsabilidade
Ler carto de crdito Obter autorizao

Colaboradores
Carto de crdito Autoridade de crdito

Entrar com montante compra Etiqueta do produto

Registro da venda
Gerar nota de venda Nota de venda

Testes Orientados a Objetos


Os testes de caixa branca e caixa preta so utilizados em sistemas orientados a objetos.

Testes Orientados a Objetos Consideraes Finais

O objetivo dos testes provar que defeitos existem no software


No possvel provar que um software est livre de defeitos impossvel testar todas as ossibilidades de um sistema Inspees de software so boas tcnicas complementares que previnem a insero de defeitos

Testes Orientados a Objetos Consideraes Finais


A configurao do ambiente fundamental Test Driven Development: testes so escritos antes da implementao
Prtica XP, sendo uma de suas atividades mais importantes Importante em nveis iniciais do CMMI e do MPS.BR Testar uma tarefa custosa, portanto, o seu planejamento fundamental

Referncias

PARASOFT CORPORATION. Negcios integrados. Disponvel em: <http://www.ni.com.br/produtos/f_parasoft.html> Acesso em 8 de junho 2006. DELAMARO, Mrcio Eduardo; MALDONADO, Jos Carlos; JINO, Mario. Introduo ao Teste de Software. Campus, 2007. PRESSMAN, Roger. Engenharia de Software. So Paulo: Makron Books, 2002. SOMMERVILLE, Ian. Engenharia de Software. So Paulo: Pearson Adilson Wesley, 2003.

Você também pode gostar