• Save
Unit Testing
Upcoming SlideShare
Loading in...5
×
 

Unit Testing

on

  • 1,784 views

 

Statistics

Views

Total Views
1,784
Views on SlideShare
1,766
Embed Views
18

Actions

Likes
1
Downloads
1
Comments
0

2 Embeds 18

http://panda.et.lv 16
http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

Unit Testing Unit Testing Presentation Transcript

  • Unit Testing Модульное тестирование — приведите свой код в порядок
  • Unit testing — (рус. модульное тестирование) создание специальной логики, которая демонстрирует правильную работу отдельных индивидуальных частей программного компонента
  • Тестовый вариант — предположение о работе некоторого участка программы, включающее в себя описание, условия запуска, набор исходных данных и ожидаемый результат.
  • Юнит-тесты на фоне общего тестирования программного продукта Системный анализ СА Анализ требований АТ Проектирование П Кодирование К Тестирование элементов ТЭ Тестирование интеграции ТИ Тестирование правильности ТП Системное тестирование СТ С. А. Орлов, «Технологии конструирования ПО», опорный конспект лекций, часть 2 (2006 г.), стр. 22
  • Применение юнит-тестов • Независимые маршруты • Операторы отношений • Прогон циклов • Граничные значения • Обработка ошибок • Валидация ввода
  • Миф: на написание тестов уходит слишком много времени
  • Миф: на написание тестов уходит слишком много времени • Скорость набора кода не является ограничивающим фактором производительности программиста
  • Миф: на написание тестов уходит слишком много времени • Скорость набора кода не является ограничивающим фактором производительности программиста • Поиск неизвестных ошибок может занять гораздо больше времени
  • Миф: на написание тестов уходит слишком много времени • Скорость набора кода не является ограничивающим фактором производительности программиста • Поиск неизвестных ошибок может занять гораздо больше времени • Проверенные модули облегчают процесс интеграции
  • Миф: тесты отвлекают от размышлений над логикой
  • Миф: тесты отвлекают от размышлений над логикой • Тесты способствуют частому рефакторингу и хорошему дизайну
  • Миф: тесты отвлекают от размышлений над логикой • Тесты способствуют частому рефакторингу и хорошему дизайну • Тесты документируют приложение
  • Миф: тесты отвлекают от размышлений над логикой • Тесты способствуют частому рефакторингу и хорошему дизайну • Тесты документируют приложение • Пропадает необходимость постоянно держать в голове описанное тестами поведение кода
  • Миф: всё и так работает
  • Миф: всё и так работает
  • Миф: тестировать слишком сложно
  • Миф: тестировать слишком сложно • Проще, чем писать реализацию
  • Миф: тестировать слишком сложно • Проще, чем писать реализацию • Проще писать реализацию, если есть тесты
  • Миф: тестировать слишком сложно • Проще, чем писать реализацию • Проще писать реализацию, если есть тесты • Появляется уверенность в надёжности нового кода и исправности старого
  • red/green/refactor
  • Создание тестов !"# $%&'( Тестирование )*+,-+ Кодирование )*+,-+ Тестирование Типичный !"# $%&'( цикл TDD Рефакторинг
  • Out of scope • пользовательские интерфейсы • работа с базами данных • потоки с долгим временем выполнения
  • Фреймворки для юнит-тестов на ваших языках PHP PHPUnit C# NUnit Java JUnit Ruby Test::Unit C++ Google Test