terça-feira, 29 de março de 2011

[ATPS]

ATPS de Engenharia de Software Etapa II Introdução Vamos apresentar o documento de requisitos do software da veterinária CLIVET. Procuramos seguir passos para uma adequada elaboração dos requisitos necessários para o bom desenvolvimento e funcionamento da aplicação voltada à empresa. Desenvolvimento Basicamente, dividimos todo o programa de desenvolvimento em 3 etapas, podendo estas, serem subdivididas em outras “n” etapas. As 3 principais etapas são: *Desenvolvimento do aplicativo em Java; *Integração do mesmo com o banco de dados MySQL; *Integração da base de dados com o sistema Windows XP/Seven. Apresentaremos os motivos pelos quais escolhemos tais conjuntos de ferramentas, abaixo. *Java mostra uma excelente integração com bases de dados, é muito portável (rodas em inúmeras diferentes plataformas), e é muito leve, no que diz respeito à necessidade de um hardware / investimento em hardware; *MySQL é uma ferramenta livre e grátis, e, muito poderosa; tem uma excelente performance para bases de dados pequenas e médias, mantendo um excelente controle e segurança dos dados arquivados; além disso, é bem leve, mais uma vez, contribuindo com o baixo custo do projeto, no que diz respeito ao hardware; *Um navegador web (ex: Internet Explorer,Firefox, Google Chrome, etc.), livres, sem custo; *Como servidor, utilizaremos um Windows Server 2008 .A tecnologia comprovada e confiável do Windows Server Foundation oferece uma base para a execução da maioria das aplicações de pequenas empresas. Trata-se de uma plataforma para capacidades básicas de TI a preço acessível, que inclui o compartilhamento de arquivos e impressões, acesso remoto e segurança. Com a experiência simples e familiar do Windows, as organizações podem iniciar suas operações com facilidade. (Requisitos de hardware) Mínimo aceitável: *Um roteador (simples) de 4 portas (preço em torno de R$ 70,00); *Um computador (servidor) com 512MB RAM (mínimo), cerca de 40 GB de Hard-Disk (hd), com um processador Pentium 3 ou Pentium 4 (hardware simples), com uma placa de rede; *Um computador (cliente) que consiga rodar um browser (Firefox, por exemplo), com monitor, teclado, mouse e uma placa de rede; *4 cabos de rede (tipo CAT-5, pelo menos um cabo reserva). *Impressora padrão aceitável pelo sistema operacional (média de valor R$ 200,00). *Um No-break no caso de falta ou oscilação de energia (não obrigatório) Qualidades do software / sistemas Com um setup destes, fica fácil expandir o software; caso necessário, podemos adicionar mais clientes ao servidor; caso seja necessário a empresa expandir (filiais), basta contratar um link de internet com um provedor, e linkar os novos clientes/filiais ao servidor; backups de dados podem ser feitos facilmente; acessos podem ser controlados por regras de firewall e permissões de usuário (segurança praticamente garantida); pode-se ainda criar um disaster-recovery, bastando clonar o servidor de dados! Com um setup destes, fica claro o motivo da escolha feita por tais aplicativos O cliente (computador cliente) fica sendo um mero detalhe; só precisa de um navegador, com uma página de acesso bem feita, bem diagramada e auto-explicativa, que registra os dados, mandando-os em tempo-real ao servidor. Com um no-break conectado ao servidor, pode-se ainda contar com muito mais segurança de dados, disponibilidade e escalabilidade do sistema. Característica da página, no(s) computador(es) cliente(s) Será apresentada uma página inicial, com o logotipo da empresa, e campos de nome e senha; nesta página, pode-se entrar como usuário com privilégios de consulta (apenas), cadastro de clientes e animais, e diagnósticos/vacinas/compras de produtos, etc. São 3 graus de privilégios de usuário, sendo eles, do menor grau de privilégios, para o maior: Consulta < Cadastro < Completo *Consulta é auto-explicativo; serve apenas para consulta de dados (de clientes, animais, produtos e horários livres para consultas, geralmente acessados pela secretária/recepcionista); é acessado pelo veterinário, para a impressão de receitas, e, pela secretária, para a impressão de boletos/cobranças; *Cadastro é utilizado pela secretária/recepcionista, para cadastrar novos clientes, animais, e agendar consultas; *Completo pode ser utilizado pelo próprio veterinário, para atualizar os dados dos animais, carteira de vacinação, internação, ficha veterinária, compra de produtos, etc; pode-se ser escalonado para utilização, também, da secretária, para anexar estes dados, caso o veterinário esteja em um dia muito cheio. Temos, ainda, um último grau de usuário, que é o admin; este login é de exclusividade do administrador dos sistemas, utilizado para o upgrade dos softwares, e manutenção dos mesmos e da base de dados. Análise dos requisitos não-funcionais Quanto aos itens abaixo, temos: *Manutenibilidade: simples, rápida, fácil e eficiente; caso seja necessário adicionar/remover algum campo na base de dados, basta replicar isso à página Java; pode-se utilizar novas formas de “select” na base de dados, para melhor organização e visualização de dados; o sistema todo, em si, é de uma facilidade enorme de manutenção; além disso, MySQL proporciona recuperação de dados com facilidade; pode-se ainda fazer backups regulares do disco, no período da madrugada, etc; *Eficiência: altíssima; todos os softwares utilizados são reconhecidos mundialmente, grátis e extremamente qualificados para um altíssimo desempenho; *Segurança: enorme; um Windows Server sempre atualizado é um dos sistemas mais seguros do mundo; *Confiabilidade: altíssima, e, pode ser expansível para um grau “paranóico” de segurança e disponibilidade de serviços; funcionamento 24/7 praticamente garantido; *Portabilidade: o cliente pode rodar em quase qualquer plataforma, até celulares, caso queiram utilizar uma rede wireless/3G; o servidor é transparente ao usuário do sistema. Por seguir o modelo “cliente-servidor”, tal sistema é otimizado ao máximo, podendo passar por manutenções, novo escalonamento, etc, sem a necessidade da interrupção de serviços do mesmo! Tabela de definição de prioridades dos requisitos (funcionais e não-funcionais) Códigos: Prioridade Grau Urgente 0 Alta 1 Média 2 Baixa 3 Futuras 4 Tabela I Tabela dos requisitos (a serem garantidos e desenvolvidos): Nome Tipo Grau Efetuar login no sistema Funcionais 1 Segurança no login Não-Funcionais 1 Cadastro de dados no sistema Funcionais 0 Segurança de dados do cadastro Não-Funcionais 0 Backup de dados/cadastros Misto 0 Rotate/exclusão programada dos backups Misto 2 Gerência de usuários Funcionais 1 Portabilidade do “computador cliente” Não-Funcionais 1 Segurança do servidor Não-Funcionais 1 Expansibilidade Misto 1 Manutenibilidade Misto 0 Disponibilidade Misto 0 Suporte ao cliente Não-Funcionais 1 Tela para inserção/remoção/consulta de dados Funcionais 0 Apresentação da aplicação Funcionais 0 Firewall Não-Funcionais 3 Tabela II Estevan Caetano RA 0991003743 Carlos Galvão RA 0943475647

[ATPS] ATPS - Etapa 2

Faculdade Anhanguera de Campinas

FAC III

Edward Furumoto 0901413362

Lucas Santana Melo 1099433969

Suelen Cosma de Camargo 0950168

Wagner Martins Barbosa 0919400026

ATPS – Etapa 2

Engenharia de Software e Análise de Projeto de Sistemas

Professora Tânia Regina Ramires Bezerra

5º Ciências da Computação

Campinas 2011

REF.

FUNÇÃO

Grau

RF01. 1

Tela para cadastro de clientes poderá incluir, alterar ou excluir dados do cliente, como: Nome, CPF/CNPJ, tipo de pessoa (física ou Jurídica), Endereço completo ( Av /Rua, nº, complemento), código da cidade, UF, CEP, Bairro, código do país.

1

RF01. 2

Código do cliente deve ser fornecido pelo próprio sistema e não deve ser alterado ou excluído após que tenha um histórico com a empresa.

1

RF01. 2

O cadastro do cliente deve exigir alguns dados obrigatórios como (Endereço completo, CPF ou CNPJ, e-mail, código da cidade), para que caso haja necessidade de emissão de nota fiscal eletrônica esses dados são indispensáveis.

1

RF01. 3

Relatório que mostre todos os usuários com seus principais dados cadastrais citados na RF01.1, que poderá ser usado para emissão de etiquetas e mala-direta

2

RF02. 1

Tela para cadastro de serviços poderá incluir, excluir ou alterar um serviço. Cadastrar dados como: descrição do serviço e preço.

1

RF02. 2

Sistema deve gerar um relatório de serviços com seus respectivos preços para que seja enviado aos clientes.

2

RF02. 3

Código de serviço deve ser fornecido pelo próprio sistema.

1

RF03. 1

Tela de cadastro de produtos poderá incluir, alterar ou excluir dados como: descrição, código de tributação, NCM e preço. Deverá apresentar um Text field com a quantidade em estoque do produto, não poderá ter alteração neste campo.

1

RF03. 2

Código de produtos deve ser fornecido pelo próprio sistema e não deve ser alterado ou excluído caso haja histórico de compra ou venda do mesmo.

1

RF03. 3

O sistema deve ter uma tela para lançamento de compra de produtos. Será lançada de acordo com a nota fiscal do fornecedor, por isso a tela de compra deve receber os respectivos dados passados pela nota.

1

RF03. 4

Relatório de venda de produtos, por dia ou um período especifico.

2

RF03. 5

Sistema deve gerar um relatório de produtos com seus respectivos preços para que seja enviado aos clientes.

2

RF04. 1

Relatório de fechamento de caixa deverá conter informações de todos os lançamentos feitos no dia e no final, calcular entradas e saídas e mostrar o resultado final do dia.

1

RF04. 2

Tela para cadastro de conta corrente poderá incluir, alterar ou excluir uma conta corrente e pedir ao usuário que forneça os dados como: descrição da conta, tipo de conta corrente (caixa geral ou bancária). Apresentar em um Text field o saldo da conta e este campo não poderá sofrer alterações.

2

RF04. 3

O código de conta corrente deverá ser fornecido pelo sistema, iniciando pelo código 2, pois o código 1 será do caixa geral e receberá todos os movimentos diários.

1

RF05. 1

Tela para inventário de produtos apresentará uma coluna com o nome do produto, quantidade contábil (fornecida pelo sistema), quantidade escritural (que o cliente digitará) e uma coluna de diferença que será negativa ou positiva caso haja.

2

RF05. 2

O sistema deve gerar um relatório de trilha de auditoria, mostrando todas as alterações, inclusões, exclusões feitas, descriminando o usuário a data e o horário da determinada ação realizada no sistema.

1

RF05. 3

Tela de cadastro de usuários do sistema poderá incluir, excluir ou alterar um usuário. Dados solicitados nessa tela, são: nome e tipo de usuário.

1

RF05. 4

Cadastro de usuário deverá ter 3 tipos de usuário sendo que “máster” é o mais completo e possui todo acesso e permissão para fazer qualquer tipo de alteração, modificação e exclusão no sistema.

1

REF.

FUNÇÃO

Grau

RNF01. 1

No cadastro de clientes, caso os campos obrigatórios não sejam preenchidos, deverá aparecer uma mensagem, informando ao usuário qual é o campo que está em branco ou preenchido errado.

1

RNF01. 2

Para a escolha da cidade, o sistema deverá ter uma lista com todas as cidades brasileiras, informando o código do IBGE.

1

RNF01. 3

Sempre que for inserido um novo CPF, CNPJ o sistema deverá fazer uma consulta no banco de dados, e verificar se já existe, caso não haja, fazer a inserção se já houver, informar ao usuário e bloquear o cadastro repetido.

1

RNF01. 4

Alteração, exclusão, inclusão de clientes, só podem ser feitas por usuários com perfis de administrador e máster. Usuários com perfil de operador só podem visualizar o cadastro.

1

RNF02. 1

Cadastro de usuários deve ser dividido em 3 níveis (máster, administrador e operador). Só é permitido cadastrar usuários do sistema, aqueles que possuem perfil máster. Administrador e operador não tem acesso a essa tela.

1

RNF02. 2

Nome do usuário deve conter apenas letras e senha deve conter letras (minúsculas) e números com no máximo 10 caracteres.

1

RNF03. 1

O lançamento da nota fiscal de compra de produtos poderá ser feita manualmente ou através da importação do DANFE. Para que seja importado o sistema deve ter um método de comunicação com o site da secretaria da fazenda do estado e um espaço para digitar o código de barras do DANFE.

1

RNF03. 2

Para importação da DANFE, deve levar em consideração a integridade dos dados. Ou importam todos os dados da nota ou não importa nada.

1

RNF03. 3

Ao clicar no botão “GRAVAR”, o sistema deverá fazer todos os cálculos, e verificar se não há divergência entre os valores lançados.

1

RNF04. 1

O estoque escritural (saldo dos produtos, baseado nas vendas e compras), deverá ser apresentado para o cliente e depois de feita a contagem e o lançamento no sistema, deverá ter um campo para mostrar se houve perda ou sobra no estoque.

1

RNF05. 1

Relatórios financeiros devem ser apresentados de forma mais simplificada possível, para que haja compreensão do usuário.

1

RNF05. 2

No relatório de fechamento de caixa, deverá aparecer o responsável, data e horário.

1

RNF06. 1

O Sistema deve ser instalado em Sistema operacional Windows XP ou 7,processador core2duo ou superior, memória RAM 2GB no mínimo e 160GB de HD no mínimo.

1

RNF06. 2

O instalador do sistema deve conter todos os aplicativos e arquivos necessários para seu funcionamento.

1

RNF06. 3

Deve ser instalado em um servidor e outras estações de trabalho acessarão o sistema através da rede, portando deverá ser desbloqueado a porta 4545 para que tenha total disponibilidade e exclusividade para tramitação de dados entre estação e servidor.

1

RNF06. 4

Todas as seleções, buscas, geração de relatórios, devem ser implementados de forma que tenham o menor tempo possível para que apresente um resultado para o usuário.

1

RNF06. 5

O sistema fará um backup a cada 15 dias, compactando-o para que ocupe menos espaço possível em disco.

1

RNF06. 6

Caso o cliente não queira fazer o backup quinzenalmente poderá ser parametrizado em um arquivo esta opção.

1

RNF06.7

O IP do servidor deve ser parametrizado e em um arquivo de configuração, este IP será solicitado durante a instalação do sistema.

1

[Aula] Testes de Software

Na aula desta semana (28/03) aprendemos os conceitos de Testes de Software e também conhecemos algumas ferramentas utilizadas na realização de testes, através dos seguintes seminários:
  • Teste unitário e de cobertura para Java Script com JsUnit e JsCovarage
  • Automatizando Testes Funcionais em Aplicações Web

Pesquisando sobre as novidades na área, me deparei com um vídeo interessante postado no blog Grupo de Testadores de Software, questionando se você é um bom testador ou não. Enfim, assistam o video a seguir e verifiquem se percebem alguma coisa não muito comum.



Boa sorte!!!

segunda-feira, 28 de março de 2011

[ATPS] Engenharia de Software - ATPS 2


CIÊNCIA DA COMPUTAÇÃO
Março 2011

ATIVIDADES PRÁTICAS SUPERVISIONADAS
ENGENHARIA DE SOFTWARE E ANÁLISE DE PROJETO DE SISTEMA


Fabiano dos Santos Froza RA: 0919432914
Mayara Claro Grego RA: 0919436192
Rafael José Maria RA: 0901382072
Thiago de Marco Pinto RA: 0919440232
Rodrigo Maurício de Oliveira RA:0901344449

PROVET


Provet é um software desenvolvido para atender as necessidades de gerenciamento da clínica veterinária CLIVET (Clinica Veterinária), o mesmo armazenara dados e informações dos clientes e animais, e assim fazer com que essas informações se transformem na principal ferramenta de trabalho da equipe veterinária, possibilitando assim um rápido atendimento ao cliente.
O software utiliza banco de dados em mySQL para armazenar dados de clientes, fornecedores, produtos entre outros dados.
REQUISITOS FUNCIONAIS
Para acessar o sistema é preciso logar com usuário e senha.
Abertura do Sistema: Tela de Acesso ao sistema Acesso com usuário e senha.
Cadastros Básicos: Cadastro de Funcionários, usuários e senhas: O sistema deve realizar cadastro de Funcionários, usuários e senhas de acesso ao sistema, Controle de permissões do nível de acesso de cada usuário cadastrado, os funcionários são cadastrados separados por funções.
Cadastro de Clientes: O sistema deve realizar cadastro de dados cadastrais do cliente, Informações adicionais, limite de crédito, Animais do cliente.
Cadastro de Animais: O sisteme deve realizar cadastro de dados cadastrais do animal, Observações do Animal, Álbum de fotos é possível adicionar infinitas fotos do animal.
Cadastro de Fornecedores: O sistema deve realizar cadastro de dados cadastrais do fornecedor, Histórico de compras do fornecedor, aqui é exibido todas as compras realizadas com este fornecedor, Ficha cadastral do fornecedor, é possível imprimir todos os dados do fornecedor para arquivar em uma ficha.
Cadastro de Produtos: O sistema deve realizar a Listagem / Pesquisa de Produtos, os produtos são separados por grupos, Dados cadastrais de um produto, Histórico de compras do produto, Histórico de Vendas do produto, Movimentação de Estoque do produto (compras, vendas, ajuste de estoque e devolução).
Controle de Estoque: O sistema deve realizar o lançamento de Notas de compra (entrada de produtos no estoque): Listagem de todas as notas de compras lançadas no sistema, Registrando uma nota de entrada de mercadorias, Programando pagamentos de uma compra de produtos.
Ajuste de Estoque (quantidades e preços) e Reajuste automático de preços: Ajuste de estoque, aqui você pode alterar preços e quantidades de estoque dos produtos de uma forma rápida e eficiente, Reajuste automático de preços, você informa os parâmetros e o sistema recalcula os preços.
Dados de Vendas: O sistema deve cadastrar abertura de caixa, Registrando a venda de um serviço, escolhendo funcionário que executou e determinando sua comissão, Integração com o módulo de agenda, Fechamento do caixa.
Impressão de Etiquetas de código de barras dos produtos: Seleção de Produtos e quantidade de etiquetas para cada produto, Seleção do modelo de etiqueta (todos modelos podem ser personalizados), Visualização da impressão de etiquetas.
Contas a pagar (integrado com compras de produtos): Calendário de contas a pagar, Dados de uma conta a pagar, Relatórios de contas a pagar.
Contas a Receber (integrado com débitos dos clientes): Calendário de contas a receber, Listagem geral de contas a receber, Dados de uma conta a receber.
Listagem da agenda: Grade de exibição dos serviços agendados por data e horário, Listagem geral de serviços agendados, Agendando um serviço (com impressão de comanda para uso interno), Agenda de Telefones.
Relatórios do sistema:
Modulo de Relatórios: Todos os relatórios podem ser gerados e exportados no formato do Microsoft Excel.
Módulo de Segurança:
Backup: O sistema deve possuir mecanismos para realizar Backup da base de dados.

VANTAGENS
DESVANTAGENS
PROVET
STANDARD
CUSTO BAIXO
POUCO RECURSO
PROVET
PREMIUM
CUSTO BENEFICIO
SEM SUPORTE A ATUALIZAÇÕES POSTERIORES
PROVET
GOLD
SUPORTE A ATUALIZAÇÕES SEM CUSTOS
NÃO TEM
Abertura do Sistema: Constara dois icones para acesso: acesso administrador e funcionarios.
Acesso administrador: Poderá acessar todas as areas do software ativando e desativando acessos, relatorios de clientes, financeiro e estoque.Podendo realizar qualquer tipo de alteração nas informações.
Será o administrador que dara a cada funcionario cadastrado o nivel de acesso permitido por cada um deles no sistema.
Tabela de prioridades:
Nivel
Tipos de permissões
1
- Permite cadastrar dados de clientes;
- Cadastrar dados dos animais;
- Alterar informações de ambos;
- Abertura de caixa ;
- Registrar vendas produtos/serviços
- Selecionar qual vendedor foi responsavel pela negociação

2
- Permite acesso a todos os ambientes do software
Requisitos que o software permitirá:*Gerara código do cliente no momento da conclusão do cadastro.

*Inserir: Dados do cliente (nome completo, endereço , CPF , RG, telefone fixo , telefone movel, e-mail).
Dados do animal (nome, idade, raça, data de nascimento, foto do animal).
Observações que sejam pertinentes da vida do animal.
Alterar: Dados do cliente (nome completo, endereço , CPF , RG, telefone fixo , telefone movel).
Dados do animal (nome, idade, raça, data de nascimento, foto do animal).

Ficha cadastral de fornecedores;

Produtos;
*Excluir:Dados do animal (nome, idade, raça, data de nascimento, foto do animal).
Ficha cadastral de fornecedores negativados;
Produtos não mais comercializados
*Impressão:Ficha cadastral do cliente:
Ficha cadastro do animal;
Ficha cadastral de fornecedores;
Extrato de caixa diario e mensal;
Relação de produtos;
Notas de compras;
Notas a pagar;
Valores a receber;
Agenda de serviços;( com o codigo do cliente, nome do animal e horario agendado e o tipo de serviço).
Manutenção:
Software de facil manuseio com resposta rapida as consultas em até 20 segundos em caso de pane no sistema a manutenção possuo a previsão de restabelecimento em até 06 horas.
Segurança: Utiliza sistema de login e senha com restrição de prioridades de acesso aos arquivos de acordo com cada registro de usuario, possui backup programado automatico para o servidor.

Requisitos
Nivel de prioridade
Código de cliente
1
Dados do cliente
2
Dados do animal
1
Ficha cadastral de fornecedores negativados
3
Produtos
1
Produtos não mais comercializados
2
Extrato de caixa diario
1
Notas de compras
1
Notas a pagar
1
Valores a receber
1
Agenda de serviços
2
Manutenção
1
Segurança
1


[Seminário] - Automatizando Testes Funcionais em Aplicações Web

Estratégias de Testes de Software



Durante o desenvolvimento de um software, diversas estratégias para teste podem ser aplicadas. Essas estratégias podem ser categorizadas da seguinte forma:


· Baseadas em Implementação: Utiliza o código como elemento para a geração dos testes. É uma atividade cara, sob o ponto de vista de recursos necessários para a sua realização, e bastante complexa quando o tamanho do código de torna bastante grande;


· Baseadas em especificação: utiliza um documento de especificação como base para geração dos testes. Assim, tenta-se cobrir as imposições e restrições descritas nos requisitos estabelecidos para o sistema. A automação da geração dos testes nesse caso é mais complicada, caso não de tenha um formalismo para a elaboração da especificação do sistema;


· Baseados em modelos: é uma subcategoria de estratégias baseada em especificação. Utiliza modelos desenvolvidos ao longo do processo de desenvolvimento que representam o comportamento ou estrutura do software.



Cada estratégia apresentada possui sua aplicabilidade, vantagens e desvantagens.


Teste funcional representa uma categoria de técnicas de teste em que o comportamento de software a ser testado é abordado como se fosse uma caixa-preta, ou seja, não se considera o comportamento interno do mesmo.


Haverá sucesso no teste se o resultado obtido for igual ao resultado esperado. O componente de software a ser testado pode ser um método, uma função interna, um programa, um componente, um conjunto de programas ou mesmo uma funcionalidade.


Um dos mecanismos para facilitar a realização de testes funcionais é pensar na automação de algumas tarefas que compõem o processo de testes.




Automação dos Testes



Automação dos testes consiste no uso de algum apoio computacional, ferramentas, para controlar a execução dos testes, a comparação dos resultados e comportamentos esperados, a configuração das pré-condições dos testes e outras atividades do controle dos testes e relato de seus resultados.


Apesar de os testes manuais poderem encontrar muitos defeitos em um software, essa tarefa é complexa, desgastante e consome muito tempo.


A automação dos testes é um processo de escrever um programa computacional para realizar testes que, caso contrário, seriam feitos manualmente, na maioria dos casos, o método de testes com custo mais efetivo para produtos que possuem uma longa vida, com muitas manutenções, pois pequenas modificações em certas partes do software que estariam funcionando anteriormente deixem de funcionar.


Existem duas abordagens gerais para automação dos testes:


· Testes dirigidos a código: as interfaces para classe, módulos ou bibliotecas são testadas com uma larga variedade de argumentos de entrada para validar se os resultados que estão sendo retornados estão corretos;


· Teste de interface: um framework de teste que gera eventos de interface do usuário tais como digitação de teclas ou cliques do mouse, e observa as mudanças que ocorrem na interface do usuário. Assim, podemos validar se o comportamento observado do software após tais eventos estão corretos.


Uma forma de gerar casos de testes automaticamente é utilizando a estratégia de Teste Baseado em Modelos, que adota modelos representando o sistema para geração de casos de testes, porem existem outras estratégias interessantes.




Importância da Automação dos Testes



Uma das principais características das atividades de teste de software, assim como a atividade de desenvolvimento de software em geral, é o fato de serem realizados por pessoas, e consequentemente possíveis erros. Diversos problemas relacionados aos testes a serem aplicados em um software podem ser evitados a partir da automação desta atividade, dentre os quais:


· Dados de entrada de teste incorretos, informando valores ou tipos de dados inválidos;


· Não perceber um comportamento incorreto do software a certo evento;


· Reportar os resultados dos testes incorretamente;


· Esquecer-se de executar alguns casos de teste;


· Esquecer-se de executar alguma pré-condição para execução dos testes;


· Alteração na execução da sequencia de casos de teste, o que poderia levar a execução dos testes a um fracasso;



Além de evitar problemas causados por eventuais falhas humanas, a automação dos testes pode ainda nos proporcionar:


· Uma forma de armazenar conhecimento sobre domínio do projeto ou sobre as funcionalidades que compõem o sistema;


· Garantira a acurácia dos relatórios de testes;


· Velocidade na execução dos testes;


· Realizar testes em momentos específicos e sempre que necessário;


· Simplificação nos testes de regressão;


· Possibilidade de testar o sistema com diferentes conjuntos de dados.




Teste de Interface (Graphical User Interface)



Muitas ferramentas de automação provêm funcionalidades de gravar a execução de um software e rodar esta gravação que permite aos usuários interativamente “filmar” as ações do usuário e repeti-la quantas vezes quiser, comparando os resultados e comportamentos obtidos com aqueles esperados. A vantagem desta abordagem, chamada capture-replay, é que ela requer pouco ou nenhum desenvolvimento de software. Os casos de entrada armazenados podem então ser usados para reproduzir os testes posteriormente. Alterar o nome de um botão ou movê-lo para outra parte da tela pode requerer que os testes tenham que ser regravados.


Uma variação deste tipo de ferramenta seriam as ferramentas para teste de aplicações Web.


Outra variação de automação de testes sem scripts que não usa a ideia de capture-replay, em vez disso constrói um modelo da aplicação a ser testada e então permite ao testador criar casos de teste simplesmente editando os parâmetros e condições de teste. Esta abordagem pode ser aplicada a qualquer software baseado em interfaces.


As ferramentas de automação de testes mais conhecidas podem ser caras, apesar de já existirem diversas ferramentas gratuitas e com um bom conjunto de funcionalidades de apoio à automação dos testes.




Ferramenta Selenium IDE



Selenium IDE é um ambiente de desenvolvimento integrado para testes com Selenium. Foi desenvolvido como uma extensão do Firefox e permite gravar, editar e depurar testes. O Selenium IDE inclui o Selenium Core, permitindo gravar e reproduzir os testes no ambiente que eles serão executados, de maneira fácil e rápida.


Entre suas funcionalidades, podemos citar:


· Gravação e reprodução dos testes de forma simples;


· Seleção de campo inteligente, que captura as informações cobre os campos a partir da página;


· Funcionalidade autocompletar para todos os comandos de Selenium;


· Possibilita navegar entre os testes;


· Possibilita configurar depuração e pontos de paradas para verificação durante os testes;


· Permite salvar os testes como HTML, scripts em Ruby ou outro formato.




Conclusão



Ferramentas automatizam o conhecimento técnico da equipe de teste, mas não conseguem passar sobre este conhecimento para aumentar a qualidade dos testes. Uma vez que este conhecimento é provido pela equipe de teste, ferramentas contribuem significativamente para a redução de esforços dos testes e aumento de sua qualidade.



Thiago de Marco Pinto 09194402322


Henrique Moreno 0947497522