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

Unit testing and TDD

crdoo
September 02, 2018
38

Unit testing and TDD

Заводчиков Дмитрий
2-я встреча Костромского клуба тестировщиков

crdoo

September 02, 2018
Tweet

More Decks by crdoo

Transcript

  1. Definition • Модульное тестирование (англ. unit testing) — процесс в

    программировании, позволяющий проверить на корректность отдельные модули исходного кода программы.
  2. Benefits • Поощрение изменений • Упрощение интеграции • Документирование кода

    • Отделение интерфейса от реализации • Быстрое регрессионное тестирование
  3. What is more effective? • Unit testing (модульное тестирование) •

    Тестирование программистами (по завершении написания кода) • Тестирование при помощи команды QA • Code review (with team lead, colleagues) • Automated testing (with Silktest, Selenium, Sailfish, etc.)
  4. Google philosophy • тестирование нужно не для качества • тестирование

    - это часть инженерной культуры • тестирование - это часть разработки По мотивам статьи «How Google Tests Software»
  5. Unit testing frameworks Java PHP .Net Javascript Junit http://www.junit.or g/

    SimpleTest http://www.simple test.org/ Xunit http://xunit.codepl ex.com/ JsUnit http://www.jsunit. net/ TestNG http://www.testng. org PHPUnit https://github.com /sebastianbergma nn/phpunit/ Nunit http://www.nunit.o rg/ D.O.H http://dojotoolkit.o rg
  6. Code coverage • Покрытие кода — мера, используемая при тестировании

    программного обеспечения. Она показывает процент, насколько исходный код программы был протестирован. Code coverage tools in Java: • Emma (open source) • Cobertura (open source) • Sonar (commercial)
  7. Test driven development • TDD предполагает использование инструментов автоматического модульного

    тестирования • В TDD модульные тесты используются для разработки, сначала пишутся тесты – потом код
  8. Conclusion • Unit тесты - один из важнейших инструментов в

    борьбе за повышение качества продукта • Unit тесты экономят время, а значит и деньги • Unit testing frameworks существуют во всех языках и платформах разработки • Unit тесты можно использовать при разработке через тестирование (TDD)