Anda di halaman 1dari 39

TestCen: Ferramenta de Suporte ao Planejamento de Teste Funcional de Software a partir de Diagramas de Caso de Uso

Everaldo Artur Grahl (egrahl@furb.br) Juliano Bianchini (fjuliano@inf.furb.br)

Universidade Regional de Blumenau (FURB) Grupo de Qualidade de Software Rua Braz Wanka, 238 CEP 89035-160 Vila Nova Blumenau SC Brasil

SUCESU 2004 - MT
1

Roteiro da Apresentao
Introduo Objetivos do artigo Casos de uso como modelo para teste Testes baseados em casos de uso; Caso de uso estendido; Padro IEEE 829-1998; Ferramenta CASE para modelagem UML Desenvolvimento da ferramenta Estudo de caso Concluses
SUCESU 2004 - MT

ArgoUML.

Introduo
Grande parte dos problemas de qualidade encontrados em software pode ser atribudo a (RYSER; GLINZ, 2003, p. 1-2): Falta de planejamento dos tempos e custos; Falta de documentao; O teste a ltima etapa do processo de desenvolvimento; Os casos de teste no so gerados de forma sistemtica;

SUCESU 2004 - MT

Introduo
No Brasil, fala-se muito e faz-se pouco...

Fonte: Secretaria de Poltica de Informtica (SEPIN, 2004)


SUCESU 2004 - MT 4

Introduo
Utilizao da UML: Para modelar sistemas orientados a objetos; Como modelo sistemtico para o desenvolvimento dos teste; O diagrama de caso de uso tem sido estudado como modelo para o teste funcional; Propostas: Heumann (2004) e Binder (2000, p. 722-731);

SUCESU 2004 - MT

Objetivos do Artigo
Apresentar adaptao de uma ferramenta CASE para UML de cdigo aberto para suportar extenses aplicveis a casos de testes funcionais a partir dos casos de uso; Apresentar a ferramenta TestCen que permite apoiar o planejamento de testes funcionais de software criados a partir dos Diagramas de Casos de Uso utilizando o padro IEEE 829.
SUCESU 2004 - MT 6

Casos de Uso como Modelo para o Teste


Diagramas de caso de uso descrevem requisitos e representam a forma como o sistema ser usado; Mostram ao usurio o que esperar do software, ao desenvolverdor o que codificar, ao "documentador" o que documentar e ao testador o que testar (HEUMANN, 2004); Podem ajudar na verificao e validao:
Verificando se o os requisitos foram implementados; Testando e validando a implementao dos requisitos.
SUCESU 2004 - MT 7

Casos de Uso como Modelo para o Teste


Simplificam o processo de teste, incrementam a eficincia e ajudam na certeza de se ter uma cobertura completa dos testes (HEUMANN, 2004); Propostas: Heumann (2004) e Binder (2000, p. 722-731);

SUCESU 2004 - MT

Teste baseado em Casos de Uso (HEUMANN, 2004)


1) Para cada caso de uso, gerar uma lista de cenrios de casos de uso:
Ler a descrio textual do caso de uso e identificar o fluxo principal e os fluxos alternativos;

SUCESU 2004 - MT

Teste baseado em Casos de Uso (HEUMANN, 2004)


2) Para cada cenrio identificar, ao menos, um caso de teste e as condies que o faro ser executado:
Analisar os cenrios, revisar a descrio do caso de uso e criar o caso de teste; Elaborar uma tabela que represente valores de entrada e sada pode ajudar na organizao e montagem dos casos de teste;

3) Para cada caso de teste, identificar os dados que sero utilizados no teste:
Revisar cada caso para assegurar a meticulosidade, identificar redundncias ou faltas e gerar os dados que sero usados nos testes.
SUCESU 2004 - MT 10

Teste de Caso de Uso Estendido (BINDER, 2000)


1) Identificar as variveis operacionais:
Variveis que so explicitamente parte da interface que suporta o caso de uso tais como entradas e sadas do sistema;

2) Identificar os domnios das variveis operacionais:


Definio de quais so os valores vlidos e invlidos para cada varivel;
SUCESU 2004 - MT 11

Teste de Caso de Uso Estendido (BINDER, 2000)


3) Desenvolver os relacionamentos operacionais:
Modelagem do relacionamento entre as variveis operacionais que determinam diferentes respostas do sistema. Pode-se modelar os relacionamentos atravs de uma tabela de deciso;

Ex.:
Variante Variveis operacionais Resultados esperados username senha O sistema aberto na tela principal 1 Vlida fulano xpto12 2 Invlida fulano xyz 21 Mensagem de username/senha invlido

SUCESU 2004 - MT

12

Teste de Caso de Uso Estendido (BINDER, 2000)


4) Desenvolver casos de teste: Escrever os casos de teste com base no relacionamento entre as variveis operacionais; Os resultados esperados podem ser desenvolvidos pela observao dos valores de entrada.

SUCESU 2004 - MT

13

Teste de Caso de Uso Estendido (BINDER, 2000)


Vantagens: A utilizao dos casos de uso est consolidada nos processos de anlise e projeto, facilitando o desenvolvimento dos casos de teste; Casos de uso refletem o ponto de vista do usurio; Provem uma forma sistemtica de desenvolvimento das informaes necessrias para o projeto de teste; Casos de uso ambguos, inconsistentes ou incompletos, so logo apontados pelos testes.
SUCESU 2004 - MT 14

IEEE 829 Padro para Documentao do Teste de Software


Tem por objetivo descrever os documentos necessrios para apoiar a atividade de teste de software; Os documentos descritos neste padro abrangem o planejamento, especificao e a gerao de relatrios de testes;

SUCESU 2004 - MT

15

IEEE 829 Padro para Documentao do Teste de Software


composto pelos documentos de:
Especificao do plano de teste: prescreve o escopo, o plano de ao, os recursos e o cronograma das atividades de teste; Especificao do projeto de teste: refina o que foi definido no plano de teste e identifica as caractersticas que sero testadas; Especificao do caso de teste: detalha cada caracterstica que ser testada;
SUCESU 2004 - MT 16

IEEE 829 Padro para Documentao do Teste de Software


composto pelos documentos de (continuao):
Especificao do procedimento de teste: especifica os passos para execuo do caso de teste; Relatrio de transio de item de teste: identifica os itens que esto sendo enviados para a equipe de testes; Log dos testes (dirio de bordo): prov um histrico cronolgico dos detalhes relevantes da execuo dos testes;
SUCESU 2004 - MT 17

IEEE 829 Padro para Documentao do Teste de Software


composto pelos documentos de (continuao):
Relatrio de incidente: documenta qualquer evento que ocorreu durante o processo de teste e que requer investigao; Relatrio com resumo dos testes: sumariza os resultados dos testes projetados.

SUCESU 2004 - MT

18

A Ferramenta Case ArgoUML


uma ferramenta CASE (Open Source) para criao de diagramas da UML; Gera cdigo-fonte em Java; Possibilita fazer a engenharia reversa a partir de cdigo-fonte em Java; Utiliza diversos outros projetos de cdigofonte aberto, tais como GEF (Graph Editing Framework), log4j, SAX Parser Factory e Novosoft UML Library;
SUCESU 2004 - MT 19

Desenvolvimento das Ferramentas


Requisitos principais: Desenvolver uma extenso para a ferramenta CASE ArgoUML que possibilite especificar casos de teste para cada caso de uso criado; Permitir a leitura dos casos de testes criados na ferramenta CASE ArgoUML; Permitir a manuteno dos cadastros necessrios ao planejamento dos testes;
SUCESU 2004 - MT 20

Desenvolvimento das Ferramentas


Requisitos principais (continuao): Permitir o registro de informaes sobre a execuo dos casos de testes criados e armazenar o histrico destas execues; Emitir um relatrio com os erros encontrados na execuo de um caso de teste.
SUCESU 2004 - MT 21

Desenvolvimento das Ferramentas


Digrama de casos de uso (principais):

SUCESU 2004 - MT

22

Desenvolvimento das Ferramentas


Alteraes no ArgoUML:
Criao do esteretipo <<Caso de Teste>>.

Boto para inserir esteretipo

SUCESU 2004 - MT

23

Desenvolvimento das Ferramentas


Alteraes no ArgoUML:
Criao de duas guias para inserir informaes para teste;

SUCESU 2004 - MT

24

Desenvolvimento das Ferramentas


Implementao da ferramenta TesCen:

SUCESU 2004 - MT

25

Estudo de Caso
Elaborao de um conjunto de testes para um sistema fictcio de controle de uma biblioteca; Neste sistema pode-se cadastrar o acervo, alunos, bibliotecrios, bem como controlar os emprstimos e devolues de livros; Entre os casos de uso obtidos, tem-se o caso de uso emprstimo de livros:

SUCESU 2004 - MT

26

Estudo de Caso
Descrio do caso de uso de emprstimo de livros:
Caso de uso emprestar livro Ator primrio Ator secundrio Pr-condies Fluxo Principal Fluxo Alternativo 1 Fluxo Alternativo 2 Fluxo Alternativo 3 Ps-condies
SUCESU 2004 - MT
Aluno Bibliotecrio O aluno deve estar cadastrado no sistema de acadmicos e ter um cadastro e senha na biblioteca. O aluno informa os livros a serem emprestados. A bibliotecria informa para o sistema o cdigo de cada livro e o sistema registra a data e hora do emprstimo, o cdigo do livro e qual a data de devoluo do mesmo. O aluno tenta emprestar um livro, porm existem livros emprestados cuja data de entrega j venceu. O sistema no deve permitir o emprstimo. O aluno tenta emprestar um livro, mas existem multas no pagas de atraso na entrega de livros. O sistema no deve permitir o emprstimo. O aluno tenta emprestar um livro, mas o nmero mximo de emprstimos j excedeu. O sistema no deve permitir o emprstimo. Para o fluxo principal, o sistema dever ter registrado com sucesso o emprstimo do livro. Para os fluxos alternativos o sistema dever emitir mensagens de erro e/ou alerta.

27

Estudo de Caso
Caso de teste para o fluxo principal: 1) Analisando a descrio textual do caso de uso foi encontrado o fluxo principal (e os fluxos alternativos); 2) Em seguida foram identificadas as variveis operacionais:
Cdigo do aluno 001 Cdigo do livro 005 Data e hora do emprstimo Data e hora do momento do emprstimo Data da devoluo Data do momento de emprstimo + 7 dias

SUCESU 2004 - MT

28

Estudo de Caso
Passos:
3) Desenvolvimento dos casos de teste, incluindo os procedimentos para execuo. Estes foram desenvolvidos com base nas descries dos casos de uso e nas variveis operacionais identificadas.
Procedimentos Na tela de validao do aluno, digitar como cdigo do aluno 001 e senha abc123 (j previamente cadastrados). Informar como cdigo do livro a ser emprestado 005. Verificaes O sistema dever ir para a tela de emprstimo de livros. O sistema dever trazer as informaes do livro: nome autor, descrio, editora e n da edio. O sistema dever mostrar uma mensagem de confirmao do emprstimo, seguido de uma lista de livros emprestados pelo aluno, onde para o livro 005 a data e hora do emprstimo deve ser a data e hora do momento de emprstimo e a data de devoluo deve ser a data do momento de emprstimo + 7 dias.

Confirmar a emprstimo do livro para o aluno 001.

SUCESU 2004 - MT

29

Estudo de Caso
Especificao dos testes, para o caso de uso emprestar livro, no ArgoUML:

SUCESU 2004 - MT

30

Estudo de Caso
Especificao do caso de teste, para o fluxo principal, no ArgoUML:

SUCESU 2004 - MT

31

Estudo de Caso
Especificao do caso de teste, para o fluxo principal, no ArgoUML:

SUCESU 2004 - MT

32

Estudo de Caso
Importao dos dados do ArgoUML para a ferramenta TestCen:

SUCESU 2004 - MT

33

Estudo de Caso
Testes especificados na ferramenta TestCen:

SUCESU 2004 - MT

34

Estudo de Caso
Execuo de um caso de teste na ferramenta TestCen:

SUCESU 2004 - MT

35

Concluses
A utilizao das metodologias apresentadas por Binder (2000) e Heumann (2004) proporcionam uma criao mais fcil e gil dos casos de teste; A utilizao das ferramentas ferramentas (customizao do ArgoUML e o TestCen) facilitou e organizou o processo de teste, contribuindo tambm para a re-execuo dos testes nas iteraes/manutenes posteriores;

SUCESU 2004 - MT

36

Concluses
A criao dos casos de teste facilitada a medida que a especificao dos casos de uso feita de forma detalhada;

A ferramenta apresentada apenas supre parte do que a atividade de teste deve contemplar, outros tipos de teste devem ser aplicados;

SUCESU 2004 - MT

37

Referncias Bibliogrficas
BARTI, Alexandre. Garantia da qualidade de software: adquirindo maturidade organizacional. Rio de Janeiro: Elsevier, 2002. BEZERRA, Eduardo. Princpios de anlise e projeto de sistemas com UML. Rio de Janeiro: Campus, 2002. BINDER, Robert V. Testing object-oriented systems: models, patterns and tools. Addison-Wesley, 2000. HEUMANN, Jim. Generating test cases from use cases. Disponvel em: <http://therationaledge.com/content/jun_01/m_cases_jh.html>. Acesso em: 20 jan. 2004. INSTITUTE OF ELECTRICAL AND ELECTRONIC ENGINEERS. IEEE Std 829-1998: IEEE standard for software test documentation. Nova York, 1998. RYSER, Johannes; GLINZ, Martin. A practical approach to validating and testing software systems using scenarios. Disponvel em: <http://www.ifi.unizh.ch/groups/req/ftp/papers/QWE99_ScenarioBasedTesting.pdf>. Acesso em: 01 set. 2003. SEPIN. Qualidade dos produtos de software. Disponvel em: <http://www.mct.gov.br/Temas/info/Dsi/Quali2001/QualiProutosSW2001.htm>. Acesso em: 15 abr. 2004. SOMMERVILLE, Ian. Engenharia de software. 6. ed. So Paulo: Addison Wesley, 2003.
38

FIM

Obrigado!

39

Anda mungkin juga menyukai