SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
CI&CD.
Взаимодействие с
тестировщиками
Развенская Ксения
k.razvenskaya@corp.mail.ru
План лекции
 Идеальный процесс разработки
 Взаимодействие с командой тестирования

2
В предыдущих сериях
 Автоматизированные системные (функциональные)
тесты
 Юнит-тесты
 Интеграционные тесты
 Тесты производительности

3
Как теперь будет выглядеть
процесс разработки?

4
Процесс разработки
Разработка
на локальной
машине

Функциональное
тестирование

Интеграция с общей
веткой

Локальная сборка

Локальный прогон
Юнит-тестов
5
Welcome to Integration Hell

6
Что такое
идеальный процесс?

7
Идеальный процесс разработки








Удобный
Способствует повышению качества
Снижает риски
Ускоряет разработку
Прозрачен для всей команды
Максимально автоматизирован
?

8
Continuous Integration.
Непрерывная интеграция

Непрерывная интеграция — это практика разработки
программного обеспечения, которая заключается в
выполнении частых автоматизированных сборок
проекта для скорейшего выявления и решения
интеграционных проблем.
Википедия

9
Continuous Intergration.
Непрерывная интеграция

"Continuous Integration is a software development
practice where members of a team integrate their
work frequently, usually each person integrates at
least daily - leading to multiple integrations per
day. Each integration is verified by an automated
build (including test) to detect integration errors as
quickly as possible."
M. Fowler

10
Непрерывная интеграция.
Идея
 Как можно более частая интеграция кода
 Непрерывное тестирование изменений

11
Требования к проекту
 Исходный код и все, что необходимо для сборки и
тестирования проекта, хранится в репозитории
системы контроля версий
 Чекаут из репозитория, сборка и тестирование
проекта автоматизированы

12
CI процесс
Code-review (opt.)

13
Continuous Integration.
Преимущества использования

• Проблемы интеграции выявляются и
исправляются быстро, что оказывается
дешевле
• Немедленный прогон модульных тестов для
свежих изменений
• Постоянное наличие текущей стабильной
версии вместе с продуктами сборок — для
тестирования, демонстрации, и т. п.

14
CI процесс
Code-review (opt.)

15
Система контроля версий.
Version Control System
Система контроля версий – инструмент, облегчающий работу с
изменяющимися данными. Предоставляет возможность хранить
несколько версий одного документа, при необходимости вернуться к
более ранней версии, определить кто и когда внес то или иное
изменение, etc.

16
Система контроля версий.
Преимущества использования





Легкий доступ к коду
Обеспечивает версионность
Облегчает совместную разработку
Возможность автоматизировать процессы сборки,
ревью, запуска тестов

17
Система контроля версий.
Антипаттерны использования
1. Редкие коммиты -> рискуем потерять часть
изменений, реже интегрируемся
Решение: Частые коммиты в течение дня
2. Массовые коммиты перед уходом с работы ->
рискуем задержать коллег из-за сломанной
сборки
Решение: Не коммитить после N часов

18
Система контроля версий.
Инструменты
 Git
 Subversion
 CVS
 ClearCase
 ...
http://en.wikipedia.org/wiki/Comparison_of_revision
_control_software

19
CI процесс
Code-review (opt.)

20
Code-review.
Код-ревью
Код-ревью – систематический просмотр кода с целью найти и
исправить ошибки, допущенные на начальном этапе
разработки.
Цель - повышение качества кода и обмен опытом между
разработчиками.
Виды
 Pre-commit review (email/over-the-shoulder)
 Post factum
 Выборочное ревью

21
Код-ревью.
Плюсы и минусы
Плюсы:
 Способствует обнаружению ошибок
 Возможность получить фидбек о стиле программирования и
выборе алгоритмов
 Обмен опытом
 Развивает командность
 Единообразность кода
Минусы:
 Требует инвестиций на начальном этапе

22
Код ревью.
Типы ошибок







Ошибки обращения к данным
Ошибки логических и арифметических операций
Использование сложных конструкций
Ошибки в логике программы
Стилевые ошибки
Опечатки

23
Ошибки обращения к данным







Проблемы адресации
Индексы массивов
Объявление переменных
Размер и тип
Именование переменных
…

24
Ошибки вычислений






Переполнения
Потеря точности
Деление на ноль
Ошибки в операторах сравнения
…

25
Стилевые ошибки





Именование переменных
Форматирование
Документирование кода
…

26
А также..





Бесконечные циклы
Race conditions
Утечки памяти
…

27
Код-ревью.
Основные принципы
Хорошо





Быстро
Конструктивно
Объективно
Позитивно

Плохо
 Навязывание личных предпочтений
 Переход на личности
28
Код-ревью.
Антипаттерны
Код-ревью тормозит процесс разработки ->
негативное отношение к процессу ревью

Решение: Проводить параллельно с тестированием,
у задач на код-ревью – 1 приоритет

29
Код-ревью.
Инструменты
 VCS plug-ins
 E-mail
http://en.wikipedia.org/wiki/List_of_tools_for_code_review

30
CI процесс
Code-review (opt.)

32
Автоматическая сборка





Компиляция
Сборка
Выполнение модульных тестов
Формирование документации и release notes

33
Автосборка.
Антипаттерны
Редкие сборки -> поздно обнаруживаем баги
Решение: В идеале - сборка после каждого коммита
Допускается сборка по расписанию несколько раз в день, если
сборка+прогон модульных тестов занимает много времени
NB! Возможно, это проблема и с ней надо разобраться отдельно

34
Автосборка.
Антипаттерны
Сборка на машине разработчика -> проблема WOMM
Решение: Сборка должна производиться в целевой среде

35
Автосборка.
Инструменты
 Maven
 Ant
 Make
 Gant
 MSBuild
 …
http://en.wikipedia.org/wiki/List_of_build_automation_softw
are

36
CI процесс
Code-review (opt.)

37
Непрерывное тестирование
 Выполнение модульных тестов при сборке
 Прогон функциональных/нагрузочных/etc автотестов для
каждой сборки

38
CI процесс
Code-review (opt.)

39
Непрерывная обратная связь.
Continuous Feedback
Необходима автоматическая отправка информации о
состоянии сборки разработчикам.
Средства: Email, SMS, дашборды, нотификация в
мессенджер

40
Обратная связь.
Антипаттерны
Слишком много сообщений о проваленной сборке ->
Письма заносятся в спам-фильтр.

Решение: Сообщения должны быть адресными – тому, кто сломал
сборку.
41
Обратная связь.
Антипаттерны
Неинформативные отчеты -> уходит много времени на понимание
проблемы

Решение: В сообщении должна содержаться необходимая и
достаточная информация о проваленной сборке/тестах
42
Антипаттерны применения CI
Сборка всегда находится в сломанном состоянии,
тесты не чинят.

Решение: «Зеленая» сборка - приоритет №1, pre-commit hook,
мотивация

43
Требования к CI серверу
 Проверка наличия изменений в репозитории
 Выполнение некоторых действий по триггеру
(наличие изменений, расписание)
 Поддержка нескольких инструментов сборки
 Поддержка нескольких VCS
 Предоставление отчетов, статистики, отправка
нотификаций
 Сохранение истории
 Панель управления задачами

44
Инструменты CI
 Jenkins (Hudson)
 CruiseControl

 TeamCity
 Bamboo
 …

45
Что дальше?

46
Непрерывная доставка.
Continuous Delivery
Непрерывная доставка изменений в среду, где будет тестироваться бизнеслогика.

47
Continuous Delivery VS
Continuous Deployment
“Continuous Delivery is about keeping your
application in a state where it is always able to
deploy into production.
Continuous Deployment is actually deploying
every change into production, every day or
more frequently.”
M. Fowler

48
Непрерывное развертывание.
Continuous Deployment
Непрерывное развертывание – выпуск в продакшн-среду изменений сразу,
как только они готовы к выкладке.

49
Непрерывное развертывание.
Tips&Tricks









Автоматизированная выкладка одной командой
Только полностью готовые к выкладке фичи в production-ветке
DevOps
Чистота среды
Маркировка каждой сборки
Прогон всех проверок
Использование обратной связи
Возможность быстро откатить изменения

50
Взаимодействие с командой
тестирования

51
Основная идея – у нас общая цель!

52
Мифы о тестировании
 Тестирование увеличивает время до выкладки в
продакшн
 Тестировщики любят находить много багов
 Тестировщики обеспечивают качество
 Тестировщики отвечают за качество продукта
 Тестирование должно быть полностью
автоматизировано

53
Эффективное взаимодействие
 Тестировщики должны иметь возможность протестировать
приложение
 Процесс разработки должен быть прозрачен для
тестировщика (и наоборот)
 Работа с кодом
 Работа с требованиями
 Работа с багами

54
Тестопригодность.
Testability
Тестопригодность – степень легкости и удобства тестирования, а также
возможность проведения тестирования с использованием определенного
инструмента или подхода.

55
Тестопригодность.
Testability
Характеристики тестопригодного ПО:
 управляемость: возможность перейти в любое состояние
системы, подавая на вход разные стимулы
 наблюдаемость: в каждый момент времени понимаем в
каком состоянии находится система
 изолируемость: тестируемый компонент может быть
проверен в изоляции
 разделение задач: тестируемый компонент имеет одно,
вполне определенное назначение
 автоматизируемость: возможность автоматизировать
тестирование

56
Управление требованиями и
процесс разработки
Тестировщику необходим список изменений ->
Все изменения должны быть отражены в ТЗ/Тасктрекере.

57
Работа с багами





Старайтесь относиться позитивно
Учитесь на ошибках
Все баги – через баг/таск-трекер
Не накапливайте технический долг

58
Баги в продакшне

59
Баги в продакшн-среде:
причины






Ошибка тестировщика
Невозможность протестировать все
Баг воспроизводится нестабильно (гейзенбаг)
Несоответствие тестовой среды продакшн-среде
Ошибка при выкладке

60
Баги в продакшн-среде:
действия
 Фикс
NB! Фикс должен быть протестирован перед
выкладкой
 Анализ причин
 Меры по предотвращению багов в будущем

61
Резюме
 Процесс важен для достижения результата
 Процесс должен существовать не ради процесса
 Процесс должен быть удобен всем и способствовать
эффективной работе команды

62
Материалы
1.
2.
3.
4.

http://martinfowler.com/articles/continuousIntegration.html
http://www.thoughtworks.com/continuous-delivery
Непрерывное развертывание ПО, Джез Хамбл, Дейвид Фарли
http://refcardz.dzone.com/refcardz/continuous-integration#refcard-download-socialbuttons-display
5. http://martinfowler.com/bliki/FeatureBranch.html
6. http://martinfowler.com/bliki/FeatureToggle.html
7. http://itrevolution.com/devops-culture-part-1/

63
Спасибо за внимание!
Развенская Ксения
k.razvenskaya@corp.mail.ru

Mais conteúdo relacionado

Mais procurados

Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаSQALab
 
C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...
C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...
C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...corehard_by
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QASQALab
 
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в ТитаникПодводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в ТитаникSQALab
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовSQALab
 
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDЭволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDCEE-SEC(R)
 
Инструменты разработки ПО в *nix
Инструменты разработки ПО в *nixИнструменты разработки ПО в *nix
Инструменты разработки ПО в *nixAlexander Gerasiov
 
управление сборками и развертыванием веб приложений
управление сборками и развертыванием веб приложенийуправление сборками и развертыванием веб приложений
управление сборками и развертыванием веб приложенийSergii Shmarkatiuk
 
BDD girls Battle: Cucumber VS. JBehave
BDD girls Battle: Cucumber VS. JBehaveBDD girls Battle: Cucumber VS. JBehave
BDD girls Battle: Cucumber VS. JBehaveSQALab
 
Agile software configuration management
Agile software configuration managementAgile software configuration management
Agile software configuration managementSergii Shmarkatiuk
 
Continuous Delivery для ASP.NET MVC проекта под Linux
Continuous Delivery для ASP.NET MVC проекта под LinuxContinuous Delivery для ASP.NET MVC проекта под Linux
Continuous Delivery для ASP.NET MVC проекта под LinuxDotNetConf
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandexaviatakz
 
Основы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрованияОсновы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрованияbearoff
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliverySQALab
 
Непрерывная интеграция. Практическое применение
Непрерывная интеграция. Практическое применениеНепрерывная интеграция. Практическое применение
Непрерывная интеграция. Практическое применениеdevclub
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Ontico
 
Как мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в BadooКак мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в BadooSQALab
 

Mais procurados (20)

Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщика
 
C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...
C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...
C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QA
 
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в ТитаникПодводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
 
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDЭволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
 
Инструменты разработки ПО в *nix
Инструменты разработки ПО в *nixИнструменты разработки ПО в *nix
Инструменты разработки ПО в *nix
 
Java one presentation
Java one presentationJava one presentation
Java one presentation
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
управление сборками и развертыванием веб приложений
управление сборками и развертыванием веб приложенийуправление сборками и развертыванием веб приложений
управление сборками и развертыванием веб приложений
 
BDD girls Battle: Cucumber VS. JBehave
BDD girls Battle: Cucumber VS. JBehaveBDD girls Battle: Cucumber VS. JBehave
BDD girls Battle: Cucumber VS. JBehave
 
Agile software configuration management
Agile software configuration managementAgile software configuration management
Agile software configuration management
 
Continuous Delivery для ASP.NET MVC проекта под Linux
Continuous Delivery для ASP.NET MVC проекта под LinuxContinuous Delivery для ASP.NET MVC проекта под Linux
Continuous Delivery для ASP.NET MVC проекта под Linux
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
 
Основы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрованияОсновы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрования
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
 
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис ВоскобойникКак работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
 
Непрерывная интеграция. Практическое применение
Непрерывная интеграция. Практическое применениеНепрерывная интеграция. Практическое применение
Непрерывная интеграция. Практическое применение
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 
Как мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в BadooКак мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в Badoo
 

Semelhante a Тестирование осень 2013 лекция 5

Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПОAnton Konushin
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
Анти шаблоны непрерывной интеграции
Анти шаблоны непрерывной интеграцииАнти шаблоны непрерывной интеграции
Анти шаблоны непрерывной интеграцииSQALab
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
 
Agile: разработка + тестирование
Agile: разработка + тестированиеAgile: разработка + тестирование
Agile: разработка + тестированиеAlexander Byndyu
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Проблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийПроблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийTatyanazaxarova
 
Как тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиКак тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиkosyakov
 
лившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование мифлившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование мифMagneta AI
 
Contineous Integration by Надежда Кныш
Contineous Integration by Надежда КнышContineous Integration by Надежда Кныш
Contineous Integration by Надежда КнышQA Club Minsk
 
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Tatyanazaxarova
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияSQALab
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кодаSergii Shmarkatiuk
 
ClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClub QA Kostroma
 
Unit testing and TDD
Unit testing and TDDUnit testing and TDD
Unit testing and TDDIosif Itkin
 
Тестирование ПО
Тестирование ПОТестирование ПО
Тестирование ПОseleznev_stas
 

Semelhante a Тестирование осень 2013 лекция 5 (20)

Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Анти шаблоны непрерывной интеграции
Анти шаблоны непрерывной интеграцииАнти шаблоны непрерывной интеграции
Анти шаблоны непрерывной интеграции
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 
Agile: разработка + тестирование
Agile: разработка + тестированиеAgile: разработка + тестирование
Agile: разработка + тестирование
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Проблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийПроблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложений
 
Как тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиКак тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книги
 
Непрерывная интеграция (Марина Пестова)
Непрерывная интеграция (Марина Пестова)Непрерывная интеграция (Марина Пестова)
Непрерывная интеграция (Марина Пестова)
 
лившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование мифлившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование миф
 
Contineous Integration by Надежда Кныш
Contineous Integration by Надежда КнышContineous Integration by Надежда Кныш
Contineous Integration by Надежда Кныш
 
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспечения
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кода
 
ClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDD
 
Unit testing and TDD
Unit testing and TDDUnit testing and TDD
Unit testing and TDD
 
Тестирование ПО
Тестирование ПОТестирование ПО
Тестирование ПО
 

Mais de Technopark

Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelTechnopark
 
Лекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuЛекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuTechnopark
 
Лекция 13. YARN
Лекция 13. YARNЛекция 13. YARN
Лекция 13. YARNTechnopark
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. SparkTechnopark
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache MahoutTechnopark
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeperTechnopark
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveTechnopark
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Technopark
 
Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Technopark
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Technopark
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSTechnopark
 
Лекция 2. Основы Hadoop
Лекция 2. Основы HadoopЛекция 2. Основы Hadoop
Лекция 2. Основы HadoopTechnopark
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceTechnopark
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...Technopark
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"Technopark
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"Technopark
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"Technopark
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"Technopark
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...Technopark
 

Mais de Technopark (20)

Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель Pregel
 
Лекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuЛекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.Ru
 
Лекция 13. YARN
Лекция 13. YARNЛекция 13. YARN
Лекция 13. YARN
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. Spark
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache Mahout
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeper
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и Hive
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)
 
Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFS
 
Лекция 2. Основы Hadoop
Лекция 2. Основы HadoopЛекция 2. Основы Hadoop
Лекция 2. Основы Hadoop
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduce
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
 

Тестирование осень 2013 лекция 5