SlideShare a Scribd company logo
1 of 13
Тестирование совсем черного ящика
QA для Windows сервисов
Москвин Сергей
ООО «Смартек»
Темы для обсуждения
О чем сегодня пойдет речь?
 Что такое сервисы и почему они не такие как все?
 Как начать тестировать сервис?
 Какие виды тестирования применимы для сервисов?
 Какие инструменты можно использовать?
 Все упомянутое выше будет подкреплено примерами
из реального проекта по тестированию сервиса –
монитора файловой системы
Отличительные черты Windows сервисов
Почему Windows сервисы такие особенные?
 Не имеют графического интерфейса
 Могут запускаться при загрузке ОС и останавливаться
при завершении работы, легко переносят перезагрузку
 Запуск и остановка выполняется командами Service
Control Manager’а, поэтому они могут быть постоянно
запущенными и не требуют внимания
 В большинстве случаев работают под
системными учетными записями
Диаграмма работы монитора FS
Архитектура сервиса – монитора FS
Начало тестирования сервиса
С чего же начать тестирование сервиса?
 Изучить документацию
 Определить круг приложений и действий, на которые
сервис реагирует
 Познакомиться c событиями попадающими в лог
сервиса, а также изучить их формат.
 Подготовить средства просмотра и анализа логов
 И конечно же не стоит забывать про
журнал событий Windows
Негативное тестирование
Почему негативное тестирование так важно?
 Падения сервисов сложнее заметить, чем падения
десктопных приложений
 Последствия отказов в работе сервисов обходятся
гораздо дороже
 Надежность сервиса не должна ни у кого вызывать
сомнений
 После устранения сбоев в работе сервис
должен восстанавливать корректную работу
самостоятельно
Автоматизация тестирования
Как организовать автоматизацию тестирования сервиса?
 Использовать уже известные приемы и приложения,
что используются для ручного тестирования
 Научиться автоматизировать действия с данными
приложениями
 Подготовить тестовые сценарии на все случаи жизни
 Помнить о необходимости сбора и обработки ошибок
 Применять автотесты для регрессионных проверок и
длительных тестов
Конфигурационное тестирование
Что проверить кроме настроек самого сервиса?
 Даже если используется .Net Framework или другие
фреймворки, стоит проверить продукт на всех
совместимых ОС, в том числе разной архитектуры
 Сервисы редко работают одни – всегда рядом есть
антивирусы, фаерволы, средства шифрования и
другое «тяжелое» ПО
 Иногда возникают ситуации, когда даже «легковесное»
ПО сторонних производителей может влиять
на корректную работу сервиса
Анализ использования ресурсов
Сколько ресурсов нужно сервису для счастья?
 Наибольшее внимание нужно уделять тем ресурсам,
которые потребляются в большей степени, согласно
специфике сервиса
 Для оценки потребления ресурсов не обязательно
использовать стороннее ПО – зачастую достаточно
монитора ресурсов Windows
 Стремление к экономии ресурсов не всегда идет
производительности сервиса на
пользу – нужен баланс
Профилирование
Что может быть скрыто внутри?
 Утечки памяти в компонентах сервиса
 Исключения и ошибки (например Access Violation или
Null Reference Exception)
 Статистика использования процессорного времени
методами внутри сервиса
 Узкие места в коде или логике, влияющие на
производительность
Для достижения полной уверенности
Как еще убедиться в качестве сервиса?
 Нагрузочное тестирование
 Стресс тестирование
 Тестирование масштабируемости
 Тестирование безопасности
Заключение и Ваши вопросы
С чего все начиналось?
Мы знали только установлен ли у нас сервис, запущен ли он и
имели возможность запустить его или остановить.
К чему мы пришли?
Мы научились влиять на сервис, фиксировать его реакцию,
автоматизировать наши тесты, применять различные методики
тестирования и убедились в том, что он надежен!
Всем спасибо за внимание!
С удовольствием отвечу на заданные вопросы
по почте: smoskvin@smartru.com
по Skype: s_moskvin
по ICQ: 272688126

More Related Content

More from SQALab

Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 
Истинная сила тестировщика - информация
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информацияSQALab
 
Автоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПОАвтоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПОSQALab
 
Правильный подход к составлению профиля нагрузочного тестирования
Правильный подход к составлению профиля нагрузочного тестированияПравильный подход к составлению профиля нагрузочного тестирования
Правильный подход к составлению профиля нагрузочного тестированияSQALab
 
Sustainable Test Automation: Collaborate within Team
Sustainable Test Automation: Collaborate within TeamSustainable Test Automation: Collaborate within Team
Sustainable Test Automation: Collaborate within TeamSQALab
 
Test Data Preparation: Tips and Tricks
Test Data Preparation: Tips and TricksTest Data Preparation: Tips and Tricks
Test Data Preparation: Tips and TricksSQALab
 
9 кругов Ада: антипаттерны UI-Автоматизации
9 кругов Ада: антипаттерны UI-Автоматизации9 кругов Ада: антипаттерны UI-Автоматизации
9 кругов Ада: антипаттерны UI-АвтоматизацииSQALab
 
The secrets in game testing
The secrets in game testingThe secrets in game testing
The secrets in game testingSQALab
 

More from SQALab (20)

Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 
Истинная сила тестировщика - информация
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информация
 
Автоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПОАвтоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПО
 
Правильный подход к составлению профиля нагрузочного тестирования
Правильный подход к составлению профиля нагрузочного тестированияПравильный подход к составлению профиля нагрузочного тестирования
Правильный подход к составлению профиля нагрузочного тестирования
 
Sustainable Test Automation: Collaborate within Team
Sustainable Test Automation: Collaborate within TeamSustainable Test Automation: Collaborate within Team
Sustainable Test Automation: Collaborate within Team
 
Test Data Preparation: Tips and Tricks
Test Data Preparation: Tips and TricksTest Data Preparation: Tips and Tricks
Test Data Preparation: Tips and Tricks
 
9 кругов Ада: антипаттерны UI-Автоматизации
9 кругов Ада: антипаттерны UI-Автоматизации9 кругов Ада: антипаттерны UI-Автоматизации
9 кругов Ада: антипаттерны UI-Автоматизации
 
The secrets in game testing
The secrets in game testingThe secrets in game testing
The secrets in game testing
 

Тестирование совсем черного ящика. QA для Windows сервисов

  • 1. Тестирование совсем черного ящика QA для Windows сервисов Москвин Сергей ООО «Смартек»
  • 2. Темы для обсуждения О чем сегодня пойдет речь?  Что такое сервисы и почему они не такие как все?  Как начать тестировать сервис?  Какие виды тестирования применимы для сервисов?  Какие инструменты можно использовать?  Все упомянутое выше будет подкреплено примерами из реального проекта по тестированию сервиса – монитора файловой системы
  • 3. Отличительные черты Windows сервисов Почему Windows сервисы такие особенные?  Не имеют графического интерфейса  Могут запускаться при загрузке ОС и останавливаться при завершении работы, легко переносят перезагрузку  Запуск и остановка выполняется командами Service Control Manager’а, поэтому они могут быть постоянно запущенными и не требуют внимания  В большинстве случаев работают под системными учетными записями
  • 6. Начало тестирования сервиса С чего же начать тестирование сервиса?  Изучить документацию  Определить круг приложений и действий, на которые сервис реагирует  Познакомиться c событиями попадающими в лог сервиса, а также изучить их формат.  Подготовить средства просмотра и анализа логов  И конечно же не стоит забывать про журнал событий Windows
  • 7. Негативное тестирование Почему негативное тестирование так важно?  Падения сервисов сложнее заметить, чем падения десктопных приложений  Последствия отказов в работе сервисов обходятся гораздо дороже  Надежность сервиса не должна ни у кого вызывать сомнений  После устранения сбоев в работе сервис должен восстанавливать корректную работу самостоятельно
  • 8. Автоматизация тестирования Как организовать автоматизацию тестирования сервиса?  Использовать уже известные приемы и приложения, что используются для ручного тестирования  Научиться автоматизировать действия с данными приложениями  Подготовить тестовые сценарии на все случаи жизни  Помнить о необходимости сбора и обработки ошибок  Применять автотесты для регрессионных проверок и длительных тестов
  • 9. Конфигурационное тестирование Что проверить кроме настроек самого сервиса?  Даже если используется .Net Framework или другие фреймворки, стоит проверить продукт на всех совместимых ОС, в том числе разной архитектуры  Сервисы редко работают одни – всегда рядом есть антивирусы, фаерволы, средства шифрования и другое «тяжелое» ПО  Иногда возникают ситуации, когда даже «легковесное» ПО сторонних производителей может влиять на корректную работу сервиса
  • 10. Анализ использования ресурсов Сколько ресурсов нужно сервису для счастья?  Наибольшее внимание нужно уделять тем ресурсам, которые потребляются в большей степени, согласно специфике сервиса  Для оценки потребления ресурсов не обязательно использовать стороннее ПО – зачастую достаточно монитора ресурсов Windows  Стремление к экономии ресурсов не всегда идет производительности сервиса на пользу – нужен баланс
  • 11. Профилирование Что может быть скрыто внутри?  Утечки памяти в компонентах сервиса  Исключения и ошибки (например Access Violation или Null Reference Exception)  Статистика использования процессорного времени методами внутри сервиса  Узкие места в коде или логике, влияющие на производительность
  • 12. Для достижения полной уверенности Как еще убедиться в качестве сервиса?  Нагрузочное тестирование  Стресс тестирование  Тестирование масштабируемости  Тестирование безопасности
  • 13. Заключение и Ваши вопросы С чего все начиналось? Мы знали только установлен ли у нас сервис, запущен ли он и имели возможность запустить его или остановить. К чему мы пришли? Мы научились влиять на сервис, фиксировать его реакцию, автоматизировать наши тесты, применять различные методики тестирования и убедились в том, что он надежен! Всем спасибо за внимание! С удовольствием отвечу на заданные вопросы по почте: smoskvin@smartru.com по Skype: s_moskvin по ICQ: 272688126