🗊Презентация Тестирование программистом. Юнит-тесты. Фреймворки для тестирования

Нажмите для полного просмотра!
Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №1Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №2Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №3Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №4Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №5Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №6Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №7Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №8Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №9Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №10Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №11Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №12Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №13Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №14Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №15Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №16Тестирование программистом. Юнит-тесты. Фреймворки для тестирования, слайд №17

Вы можете ознакомиться и скачать презентацию на тему Тестирование программистом. Юнит-тесты. Фреймворки для тестирования. Доклад-сообщение содержит 17 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Тестирование программистом. Юнит-тесты. Фреймворки для тестирования
Еникеев Р.Р.
Описание слайда:
Тестирование программистом. Юнит-тесты. Фреймворки для тестирования Еникеев Р.Р.

Слайд 2





Введение
Программисты 
не должны надеяться на то, что их код работает правильно
должны доказывать корректность кода снова и снова
Лучший способ доказать - автоматизированные тесты
Обычно программисты выполняют ручное тестирование
Автоматизированный тест
Пишется программистом
Запускается на компьютере
Во время тестирования
Тестировщик ищет баги
Программист убеждается в корректности программы
Описание слайда:
Введение Программисты не должны надеяться на то, что их код работает правильно должны доказывать корректность кода снова и снова Лучший способ доказать - автоматизированные тесты Обычно программисты выполняют ручное тестирование Автоматизированный тест Пишется программистом Запускается на компьютере Во время тестирования Тестировщик ищет баги Программист убеждается в корректности программы

Слайд 3





Unit тесты
Программисты тестируют сам код, а не результат щелчка по кнопке на сайте
Unit-тест – блок кода (обычный метод), который вызывает тестируемый блок кода и 
Тестирует минимально возможный участок кода
Класс
Метод
Проверяет его правильность работы (сравнение ОР и ФР)
Тестируемый код
Тестируемая система (SUT, system under test)
Тестируемый класс (CUT, class under test)
Описание слайда:
Unit тесты Программисты тестируют сам код, а не результат щелчка по кнопке на сайте Unit-тест – блок кода (обычный метод), который вызывает тестируемый блок кода и Тестирует минимально возможный участок кода Класс Метод Проверяет его правильность работы (сравнение ОР и ФР) Тестируемый код Тестируемая система (SUT, system under test) Тестируемый класс (CUT, class under test)

Слайд 4





Когда пишутся тесты
Мы создаем тесты по мере написания кода, не ожидая завершения написания всего приложения
Также как ручное тестирование
У нас может не быть UI или других классов, но мы все равно тестируем наш код
Описание слайда:
Когда пишутся тесты Мы создаем тесты по мере написания кода, не ожидая завершения написания всего приложения Также как ручное тестирование У нас может не быть UI или других классов, но мы все равно тестируем наш код

Слайд 5





Свойства хорошего unit теста
Автоматизированный и повторяемый
После написания тест должен остаться для последующего использования, чтобы использовать как регрессионное тестирование
Должен легко запускаться и выполнятся быстро
Чтобы выполняться как можно чаще и программист не ленился их запускать
Простым в реализации
Чтобы программист не ленился писать юнит-тесты
Сложные тесты занимают много времени программиста
Написать юнит-тест не сложно, сложнее написать код, который будет поддерживать тестирование
Описание слайда:
Свойства хорошего unit теста Автоматизированный и повторяемый После написания тест должен остаться для последующего использования, чтобы использовать как регрессионное тестирование Должен легко запускаться и выполнятся быстро Чтобы выполняться как можно чаще и программист не ленился их запускать Простым в реализации Чтобы программист не ленился писать юнит-тесты Сложные тесты занимают много времени программиста Написать юнит-тест не сложно, сложнее написать код, который будет поддерживать тестирование

Слайд 6





Свойства хорошего unit теста
Любой участник разработки должен иметь возможность запустить unit тест
Поэтому тесты должны сохраняться в CVS (также как SUT)
Независимые (могут запускаться независимо)	
Отсутствие побочных эффектов!
Описание слайда:
Свойства хорошего unit теста Любой участник разработки должен иметь возможность запустить unit тест Поэтому тесты должны сохраняться в CVS (также как SUT) Независимые (могут запускаться независимо) Отсутствие побочных эффектов!

Слайд 7





Хранение тестов
Тесты можно хранить
Снаружи проекта как отдельный проект
в релиз будет уходить только код
Внутри рабочего проекта
тесты будут поставляться вместе с кодом, что позволит запустить их на пользовательском компьютере
Описание слайда:
Хранение тестов Тесты можно хранить Снаружи проекта как отдельный проект в релиз будет уходить только код Внутри рабочего проекта тесты будут поставляться вместе с кодом, что позволит запустить их на пользовательском компьютере

Слайд 8





Имя тест-кейса
Юнит-тесты необходимо сопровождать как и обычный код
поэтому важно выбирать правильные имена
Имя тест-кейса 
объясняет для чего он нужен
другие программисты смогут понять для чего он нужен
помогает лучше разобраться нам самим, что мы тестируем
не понимая этого, мы не сможем написать тест (также как обычная функция)
Описание слайда:
Имя тест-кейса Юнит-тесты необходимо сопровождать как и обычный код поэтому важно выбирать правильные имена Имя тест-кейса объясняет для чего он нужен другие программисты смогут понять для чего он нужен помогает лучше разобраться нам самим, что мы тестируем не понимая этого, мы не сможем написать тест (также как обычная функция)

Слайд 9





Именование тестов
Много способов именования юнит-тестов
Бывают соглашения по именованию внутри компании/отдела
Именования тестового класса для Foo – FooTest
Каждый класс тестирует только одну сущность
Принцип именования тестов
[Тестирующийся метод]_[Сценарий]_[Ожидаемое поведение]
Описание слайда:
Именование тестов Много способов именования юнит-тестов Бывают соглашения по именованию внутри компании/отдела Именования тестового класса для Foo – FooTest Каждый класс тестирует только одну сущность Принцип именования тестов [Тестирующийся метод]_[Сценарий]_[Ожидаемое поведение]

Слайд 10





Фреймворки для тестирования
Существует большое количество фреймворков для разных ЯП
https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
Большинство фреймворков очень похожи, т.к. основаны на общей идее и имеет инфраструктуру (иерархию классов)
для создания тестов
Вспомогательные функции для assert’ов
для запуска тестов (test runners)
Во многих IDE есть поддержка тестовых фреймворков
Описание слайда:
Фреймворки для тестирования Существует большое количество фреймворков для разных ЯП https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks Большинство фреймворков очень похожи, т.к. основаны на общей идее и имеет инфраструктуру (иерархию классов) для создания тестов Вспомогательные функции для assert’ов для запуска тестов (test runners) Во многих IDE есть поддержка тестовых фреймворков

Слайд 11





Самый простой пример тест-кейса
Тест-кейс должен начинаться с test
Инфраструктура создания в
unittest.TestCase 
В одном классе могут нахо-диться множество тест-кейсов
unittest.main() – предоставляет интерфейс командной строки
Описание слайда:
Самый простой пример тест-кейса Тест-кейс должен начинаться с test Инфраструктура создания в unittest.TestCase В одном классе могут нахо-диться множество тест-кейсов unittest.main() – предоставляет интерфейс командной строки

Слайд 12





Test runner
Test runner запускает тесты и выдает результат
Сколько тестов запустилось
Если произошла ошибка
Место ошибки
Причина ошибки
Существуют
Console runner
GUI runner
Тест-кейс и раннер независимы, поэтому можно использовать любой раннер.
Описание слайда:
Test runner Test runner запускает тесты и выдает результат Сколько тестов запустилось Если произошла ошибка Место ошибки Причина ошибки Существуют Console runner GUI runner Тест-кейс и раннер независимы, поэтому можно использовать любой раннер.

Слайд 13





Тестирование калькулятора
Описание слайда:
Тестирование калькулятора

Слайд 14





Список assert’ов
Описание слайда:
Список assert’ов

Слайд 15





Дизайн тест-кейсов
AAA - unit тест состоит из 3 частей
Arrange – создаем все объекты, которые необходимы для выполнения тестирования
		calc = Calc()
Act – выполняется тестируемый метод
		actual_result = calc.sum(1, 2)
Assert – сравнение ожидаемого и фактического результата
		self.assertEqual(3, actual_result)
Описание слайда:
Дизайн тест-кейсов AAA - unit тест состоит из 3 частей Arrange – создаем все объекты, которые необходимы для выполнения тестирования calc = Calc() Act – выполняется тестируемый метод actual_result = calc.sum(1, 2) Assert – сравнение ожидаемого и фактического результата self.assertEqual(3, actual_result)

Слайд 16





Параметризованные тесты (parameterized)
Описание слайда:
Параметризованные тесты (parameterized)

Слайд 17





Ссылки
https://docs.python.org/3/library/unittest.html
https://wiki.python.org/moin/PythonTestingToolsTaxonomy
Описание слайда:
Ссылки https://docs.python.org/3/library/unittest.html https://wiki.python.org/moin/PythonTestingToolsTaxonomy



Похожие презентации
Mypresentation.ru
Загрузить презентацию