Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado.



Documentos relacionados
PMBOK PROF. DR. PAULO ROBERTO SCHROEDER DE SOUZA.

Feature-Driven Development

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROFESSOR: CRISTIANO MARIOTTI

Técnicas de Caixa Preta de Teste de Software

Análise de Dados do Financeiro

Alterações Easycaptive

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Orientações para preenchimento da Nota Fiscal Eletrônica (NF-e)

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO

PROBLEMA, MUDANÇA E VISÃO

Engenharia de Software II

Teste de Software. Profa. Cátia dos Reis Machado

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Controle de Almoxarifado

Se observarmos nos diferentes livros. Planejamento de Testes a partir de Casos de Uso

César Cruz Proprietário [18/04]

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

2. Função Produção/Operação/Valor Adicionado

Fluxo de Caixa por Demonstrativo Contábil

Usando o Excel ESTATÍSTICA. Funções

Software PHC com MapPoint

Proposta de Trabalho para a Disciplina de Introdução à Engenharia de Computação PESQUISADOR DE ENERGIA

4 Implementação e Resultados Experimentais

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

CHECK - LIST - ISO 9001:2000

U3 Sistemas Análise e Desenvolvimento de Softwares ===== Manual do Plano de Contas Financeiras ===== Manual. Plano de Contas Financeiras

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

Questionário. A ferramenta auxilia na alocação de Não (0) x x x. Satisfatório (5) complexidade de um caso de uso? de uso (72) Sim (10)

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

Tecnologia da Informação Prof. Mário Henrique de Souza Pardo Resumo Aula 4

Construção do Boxplot utilizando o Excel 2007

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

SISTEMA DE INFORMAÇÃO DAS PARTICIPAÇÕES DO ESTADO

Dicas Logycware Como utilizar o módulo de Estoques. Copyright Logycware Sistemas de Informática 2008 Todos os Direitos Reservados

Gerenciamento de Mudanças. Treinamento OTRS ITSM

Desempenho da Fase Analítica. Fernando de Almeida Berlitz

ADM041 / EPR806 Sistemas de Informação

QUADRADO MÁGICO - ORDEM 4

Rock In Rio - Lisboa

Gestão Pessoal. Relatório Único. Manual preparação do software para o relatório único

UML Aspectos de projetos em Diagramas de classes

5 Extraindo listas de produtos em sites de comércio eletrônico

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

PRINCÍPIOS DE INFORMÁTICA PRÁTICA OBJETIVO 2. BASE TEÓRICA 3. SEQÜÊNCIA DA AULA. 3.1 Iniciando o PowerPoint

Manual de digitação de contas Portal AFPERGS

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Processos Técnicos - Aulas 4 e 5

CAPÍTULO 1 - CONTABILIDADE E GESTÃO EMPRESARIAL A CONTROLADORIA

Sistema de Pedido de Registro e Inspeção online. Manual do Usuário

TESTES AUTOMATIZADOS COM JUNITE MOCKITO

Demonstração dos Fluxos De Caixa. (DFC)

1-Outras Informações, 2-Balanço (Ativo e Passivo), 3-DRE (Custos, Despesas e Resultado), 4- DLPA, 5-REFIS e 6-PAES.

Trecho retirando do Manual do esocial Versão 1.1

Especificação do 3º Trabalho

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

Aula 06 Introdução à Teste de Módulos II e Exercícios. Alessandro Garcia LES/DI/PUC-Rio Março 2014

Engenharia de Software III

a 1 x a n x n = b,

Manual do Contribuidor. Portal de Internet. Projeto: Novo Portal de internet

Algoritmos e Estrutura de Dados III. Árvores

Cálculo utilizando variáveis do tipo DATA

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

REDUZINDO AS QUEBRAS ATRAVÉS DA MANUTENÇÃO PROFISSIONAL

SISTEMAS INTEGRADOS DE GESTÃO PAS 99:2006. Especificação de requisitos comuns de sistemas de gestão como estrutura para a integração

Disciplina: Unidade III: Prof.: Período:

Espaço Amostral ( ): conjunto de todos os

3. Fase de Planejamento dos Ciclos de Construção do Software

Engenharia de Software I

Gerenciamento de software como ativo de automação industrial

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

6 Conclusões e próximos passos

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula:

Tutorial 8 Tarefas no Moodle

Astra LX Frases Codificadas Guia para o processo de Configuração de Frases Codificadas no Programa AstraLX.

3 Qualidade de Software

BPMN (Business Process. George Valença

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

Emissão de Nota Fiscal de Serviço Eletrônica

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

ProgramaTchê Programação OO com PHP

Manual Administrador - Mídia System

Este material traz a teoria necessária à resolução das questões propostas.

Como organizar um processo de planejamento estratégico

1. Instalei o DutotecCAD normalmente no meu computador mas o ícone de inicialização do DutotecCAD não aparece.

Processos de Desenvolvimento de Software

6 Experimentação do processo proposto

4 O Workflow e a Máquina de Regras

softwares que cumprem a função de mediar o ensino a distância veiculado através da internet ou espaço virtual. PEREIRA (2007)

FURB - Universidade Regional de Blumenau TCC - Trabalho de Conclusão de Curso Acadêmico: Fernando Antonio de Lima Orientador: Oscar Dalfovo

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

O Acordo de Haia Relativo ao Registro. Internacional de Desenhos Industriais: Principais características e vantagens

Transcrição:

1 Introdução Testes são importantes técnicas de controle da qualidade do software. Entretanto, testes tendem a ser pouco eficazes devido à inadequação das ferramentas de teste existentes [NIST, 2002]. São, então, necessários estudos visando desenvolver ferramentas mais eficazes, ou seja, que consigam diminuir o esforço gasto na área de testes. Neste trabalho procuramos explorar tabelas de decisão como instrumento capaz de apoiar a geração automática de casos de teste e o registro do oráculo necessário para verificar automaticamente se o resultado obtido está em conformidade com o especificado. Existem três grandes classes de teste, a saber: testes estruturais (caixa branca), testes funcionais (caixa preta) e testes mistos (caixa cinza). Nos testes de caixa branca, a geração das massas de teste leva em conta o código fonte do artefato a ser testado. Nos testes caixa preta, a geração das massas de teste leva em conta somente a especificação, ignorando completamente a implementação. Nos testes mistos, leva-se em conta a especificação e algum aspecto da implementação, por exemplo, a especificação das estruturas de dados utilizadas, ou a organização do tratamento de exceções. Para todo teste criado existe um resultado esperado, denominado oráculo. Em todos os tipos de testes os oráculos são criados a partir da especificação ou de alguma propriedade inerente ao artefato sendo desenvolvido. A figura 1 [STAA,2009] ilustra as atividades, e os correspondentes resultados, que são realizadas ao gerar massas de teste.

14 Especificação Escolher o critério de seleção Artefato Gerar casos de teste abstratos Critério de seleção Padrões Determinar significados Critério de valoração Selecionar dados e ações semânticos valorados Suítes de teste úteis Determinar resultados esperados Massa de teste Automação do teste Especificação da ferramenta de teste Figura 1: Fases para geração dos testes. Gerar script de teste Scripts de teste Uma boa parte das técnicas de geração de casos de teste [MYERS, 2004] utiliza explicitamente ou implicitamente tabelas de decisão como instrumento intermediário na geração dos casos de teste específicos. Em linhas gerais os métodos de geração analisam as especificações e/ou o código e produzem uma série de condições que os diversos casos de teste devem satisfazer os casos de teste abstratos. Estas condições precisam ser traduzidas para as condições a serem satisfeitas pelos dados utilizados nos testes os casos de teste semânticos. A lista dessas condições semânticas pode ser organizada como uma tabela de decisão [MYERS, 2004]. Isto sugere a possibilidade de desenvolver geradores automáticos de casos de teste capazes de produzirem casos de teste valorados a partir das tabelas de decisão. Sugere também que as tabelas de decisão indiquem os oráculos necessários para verificar se a execução dos testes resultou de acordo com o esperado. Desta forma, podem-se gerar as massas de teste úteis, ou, como também chamadas, as suítes de teste. A partir dos casos de teste úteis e da especificação das ferramentas de teste automatizadas, podem ser criados os scripts de teste a elas destinadas. Ainda não existe na literatura nenhum projeto que tenha

15 utilizado a tabela de decisão para o planejamento do teste e nem a partir deste gerar a partir deste os casos de teste. Esta seqüência de trabalho permite não somente automatizar a geração da massa de testes como também automatizar a execução dos próprios testes. 1.1.Objetivo da Dissertação Essa pesquisa tem como objetivo implementar um editor de tabelas de decisão e os correspondentes geradores de casos de teste e de scripts de teste e, a seguir, avaliar os benefícios que o uso de tabelas de decisão pode trazer ao processo de automação dos testes, tanto no planejamento (geração de casos de testes valorados a partir dos casos de teste semânticos) quanto na execução dos casos de teste. Para a parte de planejamento, usaremos tabelas de decisão como entrada para a geração dos casos de testes valorados. Pela estrutura bem definida das tabelas de decisão pode-se verificar se o conjunto de casos de teste é completo e não ambíguo. A utilização e avaliação explicitamente das tabelas de decisão ainda não foi apresentado na literatura. Além disso, pode-se verificar se cada caso de teste contém oráculos. Por ora a verificação da coerência entre a combinação de condições e os respectivos oráculos será realizada por inspeção ou revisão realizada por uma pessoa ou equipe. Depois do planejamento do teste, ou seja, do preenchimento completo da tabela de decisão, a próxima etapa é a geração dos casos de teste. Para cada caso de teste, representado através das colunas da tabela de decisão, são gerados dados aleatórios considerando as condições descritas nas tabelas. A última etapa é a transformação dos casos de teste em scripts de teste utilizando o framework FEST [FEST,2009]. Esse framework gera scripts com a estrutura de um script JUnit, só que adicionando a interação com a interface. É importante lembrar que cada caso de teste possui um ou mais oráculos, e que estes precisam ser capazes de verificar o resultado levando em conta os dados utilizados a cada teste. 1.2.Tabela de Decisão Uma tabela de decisão é uma ferramenta que tem como objetivo expressar as combinações de condições necessárias para a execução de um determinado

16 conjunto de ações [MYERS, 2004]. Uma tabela de decisão é particionada em duas regiões, a saber: condições e ações. A região de condições estabelece as condições e os possíveis valores para elas. A região de ações identifica as ações que devem ser realizadas em resposta a uma determinada combinação de condições. Os valores das condições e quais ações devem ser acionadas são chamadas de regras, ou seja, cada coluna da tabela de decisão é uma regra. A tabela de decisão a seguir representa a escolha de qual será o transporte utilizado para ir a um jogo de futebol. Como irá ao jogo? R1 R2 R3 R4 C1 Estádio perto da residência? Sim Sim Não Não C2 Dia chuvoso Não Sim Sim Não A1 Ir de carro X X X A2 Ir a pé X Uma das grandes vantagens da tabela de decisão é que é possível verificar se é não ambígua e completa. No caso da utilização de tabela de decisão para testes, cada uma das colunas representa um caso de teste semântico. Já as ações podem ser entendidas como sendo os oráculos, ou seja, as indicações dos valores esperados ou das formas de calculá-los em função dos valores utilizados nas condições. Para a geração do caso de teste valorado, utilizado futuramente na criação do script para execução dos testes, é em geral possível gerar automaticamente os dados. Essa geração pode ser realizada através de gramáticas geradoras ou de uma seleção randômica de possíveis valores. 1.3.Organização da Dissertação A dissertação está organizada em seis capítulos. O segundo capítulo apresenta o estado da arte para três assuntos: geração automática de casos de teste, tabela de decisão e geração automática de dados de teste. No terceiro capítulo é apresentado o processo de teste desenvolvido e no quarto capítulo são apresentadas as ferramentas que auxiliaram o processo.

17 Os próximos dois capítulos apresentam experimentos feitos para a avaliação do processo, sendo o capítulo cinco de casos pequenos desenvolvidos apenas para a dissertação e o capítulo seis de um estudo de caso do processo realizado em um sistema em produção. Por fim, são apresentadas as conclusões e trabalhos futuros.