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

Testando aplicações legadas: por onde começo?

Testando aplicações legadas: por onde começo?

Realizar testes em projetos novos é relativamente fácil, mas o
que podemos fazer quando temos uma aplicação legada? Por
onde começar a testar quando não há documentação dos
módulos e os pais da criança não estão por perto para ajudar.

Nesta palestra vimos algumas técnicas para planejar e
realizar testes em código legado levando em consideração
restrições como arquitetura da aplicação e criticidade das
funcionalidades. Veja como lidar com códigos cabalísticos e
regras clássicas como "Tá funcionando, não mexa".

Adiel Cristo

April 21, 2018
Tweet

More Decks by Adiel Cristo

Other Decks in Programming

Transcript

  1. Globalcode – Open4education Tipos de Testes Testes Unitários Testes de

    Integração – Testes de Fumaça Testes de Aceitação
  2. Globalcode – Open4education Tipos de Testes Testes Unitários <?php use

    PHPUnit\Framework\TestCase; class StackTest extends TestCase { public function testPushAndPop() { $stack = []; $this->assertEquals(0, count($stack)); array_push($stack, 'foo'); $this->assertEquals('foo', $stack[count($stack)-1]); $this->assertEquals(1, count($stack)); $this->assertEquals('foo', array_pop($stack)); $this->assertEquals(0, count($stack)); } } ?>
  3. Globalcode – Open4education Tipos de Testes Testes de Integração <?php

    class LoginCest { public function tryLogin(FunctionalTester $I) { $I->amOnPage('/'); $I->click('Login'); $I->fillField('Username', 'Miles'); $I->fillField('Password', 'Davis'); $I->click('Enter'); $I->see('Hello, Miles', 'h1'); // $I->seeEmailIsSent(); // only for Symfony2 } }
  4. Globalcode – Open4education Tipos de Testes Testes de Fumaça <?php

    class LoginCest { public function tryHomepage(FunctionalTester $I) { $I->amOnPage('/'); $I->see('Meu Título', 'h1'); } }
  5. Globalcode – Open4education Tipos de Testes Testes de Aceitação <?php

    class LoginCest { public function tryLogin(FunctionalTester $I) { $I->amOnPage('/login'); $I->fillField('username', 'davert'); $I->fillField('password', 'qwerty'); $I->click('LOGIN'); $I->see('Welcome, Davert!'); } }
  6. Globalcode – Open4education Planejamento Comece pelo princípio – Aprenda a

    usar a ferramenta, o domínio vem com a prática – Convença seus superiores – Pense grande, mas comece pequeno
  7. Globalcode – Open4education Planejamento Features – Comece pelas mais valiosas,

    mas que estejam ao seu alcance – Teste com foco no cliente: usuário, stakeholder, dev – Procure por features compartilhadas ou encadeadas
  8. Globalcode – Open4education Planejamento Documentação – Se não existe, crie

    – Comece com o mínimo, depois incremente – Incentive os outros a usar, e criar conteúdo