Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): Juliano Bianchini
Título: Ferramenta de Suporte ao Palnejamento de Teste Funcional de Software a partir de Diagramas de Casos de Uso
 
Introdução:
A contínua demanda por sistemas de computação exige que os profissionais da área de tecnologia da informação estejam preparados para fornecer produtos de software com qualidade. Para tanto, a verificação e validação (V&V) são consideradas atividades fundamentais no desenvolvimento de software. Estas atividades são especialmente valiosas quando aplicadas desde cedo no processo de desenvolvimento, pois erros encontrados nas fases de especificação e projeto são muito mais baratos para serem corrigidos do que quando encontrados em fases mais avançadas (RYSER; GLINZ, 2003, p. 1-2). Entre as atividades de V&V está a atividade de teste de software.
O papel do teste é encontrar erros na implementação de um software e validar os requisitos implementados. Isso significa que o teste tem um papel importantíssimo na verificação e validação de software. Porém, em muitos casos, a preparação e o desenvolvimento dos casos de teste são feitos sem muito planejamento. Além disso, freqüentemente os testes são selecionados de forma aleatória ou ad-hoc (momentânea) e os casos de teste são desenvolvidos de uma forma não estruturada e não sistemática. Esta é uma realidade encontrada no desenvolvimento de softwares comerciais, onde há recursos limitados e tempo escasso para o teste.
Apesar de existirem várias técnicas e estratégias aplicadas a teste de software, a prática ainda está distante da teoria (RYSER; GLINZ, 2003, p. 1-2). Alguns problemas encontrados incluem:
a) falta de planejamento dos tempos e custos: na prática, o planejamento dos testes é feito tardiamente no processo, quando ele está quase no final. Desta forma há pressão para manter menor custo e tempo e somado ao fato de que o projeto pode estar atrasado, a preparação e execução do teste são feitas superficialmente, comprometendo a garantia da qualidade do produto de software;
b) falta de documentação: os testes não são devidamente preparados, não há um plano de teste e os testes não são documentados;
c) o teste é a última etapa do processo de desenvolvimento: o desenvolvimento dos casos de teste é feito apenas quando o software está quase pronto. Porém, a fase de testes deveria começar imediatamente após a especificação ter sido desenvolvida. Desta forma, muitos erros, omissões e inconsistências podem ser encontradas nas fases de análise e projeto. É mais barato corrigir erros nestas fases iniciais do que após a implementação ter sido feita;
d) casos de teste não são gerados de forma sistemática: os testes são escolhidos de forma aleatória e os casos de teste gerados com base no conhecimento do testador e sem procedimento definido.
Entre as abordagens de testes de software encontra-se o teste Funcional também conhecido como teste de Caixa-Preta. As técnicas de teste Funcional derivam os casos de testes a partir da análise da funcionalidade (dados de entrada/saída e especificação) do programa sem levar em consideração a estrutura interna do mesmo.
A Unified Modeling Language (UML) é muito usada para modelar sistemas orientados a objetos e, na versão 1.3, é formado por nove diagramas com objetivos e perspectivas diferentes. A utilização dela como modelo sistemático para o desenvolvimento dos casos de teste tem sido estudada e evoluída durante os últimos anos. Um diagrama que tem sido estudado para teste é o caso de uso que é uma forma de capturar as funcionalidades e comportamentos de um sistema na perspectiva do usuário. O caso de uso é usado para ajudar na elicitação e documentação dos requisitos dos usuários. Desta forma, o caso de uso é uma fonte de informações que ajuda não só o desenvolvimento do software, mas também, a atividade de teste de software. Entre as propostas de utilização da UML para teste encontra-se a apresentada por Heumann (2004) e o teste de caso de uso estendido, proposto por Binder (2000, p. 722-731).
A não documentação do processo de software é, conforme já dito anteriormente, um fato nas empresas de desenvolvimento de software. O padrão IEEE 829 tem por objetivo descrever os documentos necessários para apoiar a atividade de teste de software. Os documentos deste padrão descrevem o planejamento, especificação e a geração de relatórios de testes. Este padrão será usado neste trabalho como base para documentação da atividade de testes.