SOFTWARE TESTING WITH JAVASCRIPT

"ONE LANGUAGE TO CONQUER THEM ALL"

ERICK WENDEL

MICROSOFT STUDENT PARTNER

​​

o que são testes ?

software testing

"...Testes de software é uma investigação conduzida para fornecer informações às partes interessadas sobre a qualidade do produto ou serviço sob teste."

tipos de testes

  •     Installation testing
  •     Compatibility testing
  •     Smoke and sanity testing
  •     Regression testing
  •     Acceptance testing
  •     Alpha testing
  •     Beta testing
  •     Functional vs non-functional testing
  •     Continuous testing​
  • Destructive testing
  • Software performance testing
  • Usability testing
  •  Accessibility testing
  •  Security testing
  •  Internationalization and localization
  •  Development testing
  •  A/B testing
  •  Concurrent testing
  •  Conformance testing or type testing​​

confuso ?

PROBLEMAS

Nem todos os problemas são causados por erros de código, em boa parte das vezes, o resultado esperado, nem sempre é o que de fato será executado.

problemas

problemas

bugs

custos

"Um estudo realizado pelo National Institute of Standards and Technology em 2002 relata que os bugs de software custam à economia dos EUA

$59,5 bilhões anuais. Mais de um terço desse custo poderia ser evitado se fosse feito um melhor teste de software."

surprise ??

Práticas em Desenvolvimento de testes

  • Testes de Unidade (Unit Test)
  • Desenvolvimento Orientado a Testes (TDD)
  • Desenvolvimento Orientado a Comportamentos (BDD)

Testes de unidade

TESTES DE UNIDADE

Testes unitários são direcionados a unidades de código, geralmente a funções ou módulos. Ao tornar o teste específico para uma única função, o teste deve ser simples, rápido de escrever e rápido de ser executado

 

 

 

demonstration !!!

Desenvolvimento orientado a testes

tdd

Desenvolvimento Orientado a Testes, ou TDD é uma prática onde escreve-se primeiro os testes, antes do código de implementação. Tem por objetivo obter um cobertura de testes elevada, o que refere-se à porcentagem do código testado. Quanto maior a porcentagem, melhor.

 

principios

demonstration !!!

Desenvolvimento orientado a comportamento

bdd

Desenvolvimento Orientado a Comportamento, ou BDD é uma prática onde os testes são especificados como cenários e sequencia de passos.

demonstration!!

automatizando com gulp

const gulp = require('gulp');
const test = require('gulp-mocha');


gulp.task('default', [ 'test', 'watch']);

gulp.task('watch', () => {
    return gulp.watch('*.js', ['test']);
});

gulp.task('test', () => {
    return gulp.src('*.js')
        .pipe(test({reporter: 'nyan'}));
});

Automatizando com Gulp

links !!!

  • http://bit.ly/control-flow-nodejs

  • http://bit.ly/mva-erickwendel

  • http://erickwendel.com.br

  • http://netcoders.com.br/blog​

  • http://slides.com/erickwendel/testes-com-javascript/fullscreen

  • https://github.com/ErickWendel/palestra-vivaReal-testes-js

Mais links

  • https://en.wikipedia.org/wiki/Software_testing
  • https://codeutopia.net/blog/2015/03/01/unit-testing-tdd-and-bdd/
  • http://tdd.caelum.com.br
  • http://eamodeorubio.github.io/bdd-with-js/
  • https://mochajs.org
  • https://www.npmjs.com/package/gulp-mocha

Obrigado !!111!!