• Nenhum resultado encontrado

Teste de operações com acesso a base de dados

N/A
N/A
Protected

Academic year: 2021

Share "Teste de operações com acesso a base de dados"

Copied!
12
0
0

Texto

(1)

7.12.2006 MEI.TQS.TA1 Hugo Dias e Licínio Mano

Teste de operações com

acesso a base de dados

(2)

2

7.12.2006 MEI.TQS.TA1 Hugo Dias e Licínio Mano

Agenda

Enquadramento

Porquê?

Tipologia dos testes

Desafios

Ferramentas e técnicas

DbUnit

 Introdução  Exemplo prático 

Conclusões

(3)

7.12.2006 MEI.TQS.TA1 Hugo Dias e Licínio Mano

Enquadramento

 Teste de aplicações com acesso a bases de dados • Porquê

• Tipos de teste

• Desafios

• Ferramentas

“Writing a suite of maintainable, automated unit tests without a testing framework is virtually impossible.” http://www-128.ibm.com/developerworks/library/j-test.html

Com a apresentação que estamos a realizar, pretendemos aprofundar os tipos de testes se podem realizar a aplicações com BD, o porquê e que necessidades dtemos de os fazer, desafios e ferramentas para os implementar.

Quando falamos de um assunto como o TAcABD, devemos começar a nossa abordagem com alguma perguntas fundamentais:

PORQUÊ? Quais as necessidades e porque razões queremos investir tempo neste tipo de testes

TIPOS DE TESTE: ainda que seja um tema aparentemente específico, é possível realizar diferentes tipos de teste neste contexto das

aplicações

DESAFIOS: quais os principais obstáculos que irão surgir no processo de desenvolvimento e no contexto organizacional

FERRAMENTAS: perceber o estado de maturação das ferramentas no sentido de avaliar a curva de aprendizagem e o valor dos resultados que essas ferramentas no podem fornecer

Porque é fundamental responder a estas perguntas?

Bem só com resposta objectivas e mais valias bem identificadas será possível construir frameworks que permitam a manutenção e

(4)

4

7.12.2006 MEI.TQS.TA1 Hugo Dias e Licínio Mano

Porquê?

 A maioria dos projectos envolvem bases de dados relacionais para

o armazenamento de dados,

 Realização de testes

• Garantia de qualidade e progresso no desenvolvimento de software

 TDD - em Metodologias Ágeis,

• Execução automática de testes sempre que possível

 Garantir o correcto funcionamento do software

No contexto actual de projectos de software uma grande maioria dos projectos envolvem bases de dados relacionais para o armazenamento de dados. Sendo por isso importante verificar a consistência de dados entre e após as operações e facilitar a regressão a diferentes estados que a BD pode assumir.

Num processo de desenvolvimento de software a qualidade é cada vez mais um dos factores de distinção. Um dos meios para garantir a qualidade e o próprio avanço no processo de desenvolvimento, é a

realização de testes. Sendo qua o acesso a BD uma realidade na maior parte dos projectos, é fundamental que este constexto esteja também coberto por baterias de teste de odo a garantir que a aplicação não falha nesta parte da aplicação.

TDD: A utilização de metodologias ágeis, que promovem o TDD, reforçam a necessidade de execução automática de testes sempre que possível

(5)

7.12.2006 MEI.TQS.TA1 Hugo Dias e Licínio Mano

Tipologia dos testes

Testes unitários dados de testeGeração de Testes de carga

Teste de aplicações com acesso a base de dados

No que diz respeito a aplicações com acesso a base de dados existem 3 áreas em que podem ser realizados estes:

-Testes unitáios: para testar e garantir o correcto funcionamento das funções de acesso e extração de dados das BD’s

Tools which enable you to regression test your database.

-Geração de dados de teste: criação aleatória de dados, testanto os tipos de dados e integridade referencial

Developers need test data against which to validate their systems. Test data generators can be particularly useful when you need large amounts of data, perhaps for stress and load testing.

-Testes de carga: (que como o próprio nome indica), servem para aferir a performance da BD consoante mediante diferentes cargas de

utilização

Tools simulate high usage loads on your database, enabling you to determine whether your system's architecture will stand up to your true production needs.

A nossa apresentação será focada nos testes unitário ou (como também são conhecidos) testes de regressão

(6)

6

7.12.2006 MEI.TQS.TA1 Hugo Dias e Licínio Mano

Desafios

 Competências em teste insuficientes

 Testes unitários insuficientes para bases de dados existentes

 Falta de ferramentas de teste

 Renitência de alguns profissionais

Database testing is new to many people, and as a result you are likely to face several challenges:

1. Insufficient testing skills. This problem can be overcome through

training, through pairing with someone with good testing skills (pairing a DBA without testing skills and a tester without DBA skills still works), or simply through trial and error. The important thing is that you recognize that you need to pick up these skills.

2. Insufficient unit tests for existing databases. Few organizations have yet to adopt the practice of database testing, so it is likely that you will not have a sufficient test suite for your existing database(s).

Although this is unfortunate, there is no better time than the present to start writing your test suite.

3. Insufficient database testing tools. As I said earlier, we still have

a way to go with respect to tools.

4. Reticent DM groups. My experience is that some data

management (DM) groups may see the introduction of database

regression testing, and agile techniques such as test-first development (TFD) and refactoring, as a threat. Or, as my July 2006 "state of data management" survey shows, a large percentage of organizations are not only not doing any database testing at all they haven't even

discussed it. For many in the data management community the idea of doing database testing is rather new and it's simply going to take a while for them to think it through. I'm not so sure that you should wait to do such obvious process improvement.

(7)

7.12.2006 MEI.TQS.TA1 Hugo Dias e Licínio Mano

Ferramentas e técnicas

•Data Factory •Datatect •DTM Data Generator •Turbo Data

Developers need test data against which to validate their systems. Test data generators can be particularly useful when you need large amounts of data, perhaps for stress and load testing.

Test Data Generator

•Empirix

•Mercury Interactive

•RadView

•Rational Suite Test Studio

•Web Performance

Tools simulate high usage loads on your database, enabling you to determine whether your system's architecture will stand up to your true production needs. Testing tools for load

testing

•DBUnit

•NDbUnit

•OUnit for Oracle (being replaced soon by Qute) •SQLUnit

•TSQLUnit (for testing T-SQL in MS SQL Server) •Visual Studio Team Edition for Database Professionals includes testing capabilities Tools which enable you to regression test

your database. Unit testing tools

Examples Description

Category

(8)

8

7.12.2006 MEI.TQS.TA1 Hugo Dias e Licínio Mano

DbUnit

 Extensão do Junit

 Permite exportar e importar dados de e para uma BD para ou de ficheiros XML, respectivamente

 Colocar uma BD num estado conhecido, executar operações, comparar o estado da BD depois das operações com o estado previsto.

(9)

7.12.2006 MEI.TQS.TA1 Hugo Dias e Licínio Mano

(10)

10

7.12.2006 MEI.TQS.TA1 Hugo Dias e Licínio Mano

DbUnit - Exemplo Prático

1. Exportar a base de dados (completa ou subconjunto) – resulta

num XML

2. Alterar o XML gerado de acordo com para o estado esperado

no final da operação

3. Criar e correr o teste

a) Executar a operação pretendida

b) Comparar o estado da base de dados com o XML esperado

(DbUnit)

4. Em caso de falha

a) Corrigir erros

(11)

7.12.2006 MEI.TQS.TA1 Hugo Dias e Licínio Mano

Conclusões

 Fácil instalação e configuração

 Simplicidade na implementação e execução de casos de teste

 Fundamental no TDD para a automatização e repetição de testes

 Dependente das competências e apetência da equipa para este tipo de testes

(12)

12

7.12.2006 MEI.TQS.TA1 Hugo Dias e Licínio Mano

Referências

 DbUnit - www.dbunit.org

 Effective Unit Testing with DbUnit

-http://www.onjava.com/pub/a/onjava/2004/01/21/dbunit.html

 Database Regression Testing

-http://www.agiledata.org/essays/databaseTesting.html

 Simplified Database Unit testing using Enterprise Services - http://weblogs.asp.net/rosherove/articles/dbunittesting.aspx

Referências

Documentos relacionados

Acta Otolaryngol (Stockh). Jacobson GP, Newman CW. Background and technique of caloric testing. In: Jacobson GP, Newman CW, Kartush JM. Handbook of balance function testing.

O percurso metodológico da pesquisa se deu por meio de uma abordagem de caráter qualitativa que segue os parâmetros solicitados no RTQ-C para edificações de nível A (BRASIL, 2010) com

O disco lamelar POLIFAN Z SG POWER convence graças a uma performance de remoção de material agressiva e uma excelente vida útil, que permitem atingir a máxima rentabilidade.. É o

consentimento das entidades convenentes, as empresas recolherão a título de contribuição social, até o dia 10 (dez) de cada mês, o valor de R$ 8,46 (oito reais e quarenta

Com o objetivo de levantar dados acerca das caracte- rísticas epidemiológicas das solicitações de hemoderivados e de sua adequação em conformidade com o protocolo correlato vigente

Já ouvi muitos praticantes experimentados referir que se efetuarmos uma boa meditação Gassho, unindo-nos de seguida com a energia Reiki, sentindo-a entrar em

Como o período de ventos mais intensos está relacionado aos eventos de estiagem, é no segundo semestre que a dinâmica morfológica interfere diretamente na dinâmica de uso e

Salienta que as sanções contra a Rússia adotadas pelos EUA e a UE estão a ter efeitos diretos sobre a economia russa; reitera o seu pedido aos Estados-Membros e ao SEAE de