A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Testes e Qualidade de Software

Apresentações semelhantes


Apresentação em tema: "Testes e Qualidade de Software"— Transcrição da apresentação:

1 Testes e Qualidade de Software
Gonçalo Almeida – ei03050 Tiago Santos – ei03099 Testes e Qualidade de Software F.I.T. – Framework for Integrated Tests

2 Estrutura da Apresentação
Testes de Aceitação O que é o F.I.T.? Como funciona o F.I.T.? Exemplo de Utilização FIT vs JUnit Plataforma FitNess Conclusão

3 Testes de Aceitação Os testes de aceitação permitem ao cliente especificar concretamente o que o programa deverá fazer. Problemas e necessidades regras de negócio não são bem entendidas pelos programadores. o cliente não consegue transmitir correctamente todas as informações necessárias. se não houver acompanhamento dos clientes desde o início, torna-se complicado fazer alterações posteriormente.

4 Testes de Aceitação Objectivos
ajudar a pensar e a comunicar através de exemplos concretos, sobre os quais a aplicação vai trabalhar. testar de forma automática, da perspectiva do negócio, que a aplicação está a funcionar correctamente e que continua a fazê-lo à medida que vai crescendo.

5 F.I.T. - Introdução Criado em 2002
Actualmente suporta Java, C++, C#, Delphi, Lisp, Objective C, Perl, Python, PHP, Ruby e Smalltalk. Autores: Ward Cunningham Arquitecto da Microsoft Foca-se nos aspectos sociais de desenvolvimento de software Desenvolveu wikis para correr os testes do FIT Rick Mugridge Professor universitário e investigador Foca-se em várias áreas da engenharia de software, entre as quais se destaca o TDD e a automação de testes. Desenvolveu a biblioteca do FIT

6 Funcionamento Geral Lê de tabelas em formato HTML.
Guarda todos os dados em memória. Aplica os métodos do sistema que está a ser testado, nos dados de teste. Compara resultados dos métodos com os da tabela de dados. Faz a coloração na coluna dos resultados, conforme esses resultados.

7 Funcionamento - Tabelas
Regras de construção de uma tabela Linha 1: <package>.<class> Linha 2: <atributo>ou<método> Linha 3..n : <dados_teste> Coluna dos métodos serve para apresentar os resultados. O cliente e o programador interagem para conseguirem adequar o melhor possível a tabela, ao caso particular

8 Funcionamento – Classe mediadora
Comunicação entre tabelas e o Sistema, através de Fixtures. Fixtures são classes responsáveis por testar o grau de satisfação do Sistema.

9 Funcionamento – Análise de resultados
Cenários possíveis de resultados: Verde Passou o teste Vermelho As expectativas falharam. Amarelo Uma parte do teste ainda não foi implementado ou ocorreram excepções. Cinzento Partes da tabela não foram processadas por qualquer motivo, normalmente por falta de implementação.

10 Funcionamento - Workflow
Tabela inicial Nome dos atributos igual aos da tabela

11 Funcionamento - Fixtures
Existem três tipos de fixtures: Column Row Action

12 Funcionamento – Fixture Column
Usadas para testar regras de negócio. Leitura da tabela feita de cima para baixo e da esquerda para a direita. Para cada coluna existe um atributo ou método com o mesmo nome. Nas colunas dos métodos, são apresentados os resultados através de cores. No caso do teste falhar, surge uma mensagem a indicar qual o valor esperado.

13 Fixture Column – Exemplo (Crédito)
Regras do negócio: Cliente há mais de 12 meses Paga as contas regularmente Balanço das dívidas inferior a 6000€ Crédito máximo: 1000€ Os dados a itálico significam que esse teste vai falhar Tabela correspondente:

14 Exemplo Crédito - Continuação
Escrever a classe de Teste: Nome da classe igual à primeira linha da tabela. Nome dos atributos igual aos das colunas dos atributos. Nome dos métodos igual aos das colunas dos métodos.

15 Exemplo Crédito - Continuação
Analisar os resultados: Os testes com sucesso surgem a verde. Os testes que falharam surgem a vermelho e indicam o valor esperado. A última linha dá uma falha no teste. Isto porque como o 12 está a itálico a Fixture vai interpretar que aquele teste tem de falhar para dar certo. No entanto com 12 meses ainda é possível ter crédito, por isso não vai falhar e dá origem ao erro.

16 Funcionamento – Fixture Row
Testam os resultados de uma pesquisa ou acção no sistema, comparando-os com os elementos da tabela. Cada linha corresponde a um elemento da lista de resultados. Cada coluna representa um atributo desse elemento. Não é obrigatório testar todos os atributos dos elementos. Se existirem elementos no sistema que não foram cobertos, estes são acrescentados no final da tabela. Pode ter em conta a ordem dos elementos.

17 Fixture Row – Exemplo (Chat)
Regra de negócio: Pesquisar utilizadores em salas de conversação. A “anna” estava noutra sala Uma tabela sem elementos, leva o FIT a acrescentar os elementos do sistema.

18 Funcionamento – Fixture Action
Testa que uma sequência de acções, produz o efeito desejado no sistema. 4 tipos de acções: Start <class> indica que é nesta classe que vamos testar as acções. Enter <método><argumento> o utilizador submete um valor no sistema. Press <método> equivale a carregar num botão duma interface. Check <método><valor> verifica se o valor de retorno do método está de acordo com o <valor>

19 Fixture Action - Exemplo
Regra de negócio: Utilizador compra artigos e acumula no total. Possível interface

20 F.I.T - Intervenientes Clientes Programadores
Ajudam a preencher as tabelas de teste com os valores esperados Programadores Criam fixtures de teste, fazem a sua manutenção e refazem as fixtures para manter o teste o mais correcto possível.

21 F.I.T – Intervenientes (Continuação)
Testers Criam testes de FIT (html or Excel), para preencher juntamente com o cliente e mantêm as tabelas de modo a serem legíveis pelo FIT. Gestores Usam os resultados do FIT para avaliar quantitativamente o progresso e qualidade do desenvolvimento de software.

22 FIT Tools FITLibrary – Fornece fixtures extra.
FITNess – Ambiente Wiki. AntFIT – Extensão do Apache Ant. MavenFIT – Plugin para projectos Maven WinFITRunnerLit – Graphical launcher. FITDecorators – Framework para escrever Decorators.

23 FitNess – o WikiFit Ferramenta que integra num Wiki os testes desenvolvidos usando o FIT. Permite assim: Aos Clientes e Testers, inserirem e disponibilizarem imediatamente testes novos. Melhorar a comunicação entre os Testers e os Programadores. Actualizar automaticamente o estado dos testes. O acompanhamento do estado do projecto por parte de todos os membros da equipa.

24 FIT JUnit vs Cliente e fornecedor interagem no processo.
Existência de tabelas, perfeitamente claras. Iniciam os testes desde a fase de requisitos. Lida com regras de negócio de alto nível. Testes realizados por programadores. Testes exclusivamente em código. Testes realizados na altura da programação. Lida com objectos da implementação. Conclusão: JUnit direccionado para os programadores e FIT para os clientes. Não são rivais, mas sim complementares

25 Conclusão - O FIT potencia a interligação dos vários intervenientes no desenvolvimento do software e ajuda a acelerar este processo. - Funciona de forma simples e intuitiva para pessoas sem grandes conhecimentos informáticos. - Permite ter uma boa noção do estado do projecto.

26 Bibliografia Mugridge, R., Cunningham, W. (2005). Fit for Developing Software: Framework for Integrated Tests. Prentice Hall PTR. ... sts/default.aspx ... ts/fitdecorator/

27 Dúvidas ?


Carregar ppt "Testes e Qualidade de Software"

Apresentações semelhantes


Anúncios Google