Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC

TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC

Palestra apresentada na trilha Banco de Dados, no dia 05/07.

Stefan Teixeira

July 05, 2016
Tweet

More Decks by Stefan Teixeira

Other Decks in Programming

Transcript

  1. • QA Automation Engineer @ Toptal • Blogs técnicos: stefanteixeira.com.br

    (pt-br) / stefanteixeira.com (en) • Co-organizador dos meetups DevOps Carioca e Grupo de Testes Carioca Contatos: • E-mail: [email protected] • Twitter: twitter.com/stefan_teixeira • LinkedIn: linkedin.com/in/stefanteixeira • GitHub: github.com/stefanteixeira • SlideShare: slideshare.net/stefanteixeira Sobre
  2. Como testar? • Chamadas diretas ao BD (ex: JDBC) •

    DBFit • DB Test Driven • SS-Unit / tSQLt (apenas MSSQL)
  3. Pontos importantes • 100% de cobertura != bons testes •

    Importante para saber O QUE está sendo testado (e o que NÃO está)
  4. Motivação / Contexto • Aplicação Java • Mais de 80%

    das regras de negócio em stored procedures T-SQL
  5. Motivação / Contexto • Aplicação Java • Mais de 80%

    das regras de negócio em stored procedures T-SQL • Mudanças frequentes nas procedures
  6. Motivação / Contexto • Suite com mais de 200 testes

    (com JDBC) • Dificuldade em saber o que está sendo testado
  7. Como funciona? • SQLCC usa Traces do MSSQL para determinar

    as linhas de código executadas • Apenas intercepta requests com um determinado Application Name
  8. Resultados • Dificuldades em configurar o projeto → Criado fork

    com bug crítico corrigido e README atualizado: https://github.com/ stefanteixeira/sqlcc
  9. Referências • SQLCC • https://github.com/jbarker7/sqlcc (repo original) • https://github.com/stefanteixeira/sqlcc (fork

    atualizado) • Fighting the Monster (experiências com teste de procedures): https:// gojko.net/2007/11/20/fighting-the-monster/ • DBFit: http://dbfit.github.io/dbfit/index.html • tSQLt: http://tsqlt.org/ • SS-Unit: http://www.chrisoldwood.com/sql/ss-unit/manual/SS-Unit.html • DB Test Driven: http://dbtestdriven.com/ • SSDT Dev Pack: https://the.agilesql.club/blog/Ed-Elliott/2016-01-14/T-SQL-Code- Coverage-In-SSDT • PL SQL Test Coverage: http://www.semdesigns.com/Products/TestCoverage/ PLSQLTestCoverage.html