SlideShare uma empresa Scribd logo
1 de 21
Обеспечение качества:
Практические советы
Сергей Остапенков. Intetics
Обеспечение качества в
рамках компании
Quality
Assurance
Processes
Matured Processes
Iterative Testing Cycle
ISO 9001 & 27001
Technologies
E Business
Client/Server
CRM
Infrastructure
Test Management
Test Automation
Requirements
Management
Issue Tracking
Communication
People
Experienced Staff
ISTQB Certified
Automation Experts
Measurements
Code
Development Process
Testing Process
02/21
Проблемы
• Много найденных багов
• Нехватка времени
• Сдвиг даты релиза
• Нагрузка в конце итерации
• Низкое качество проекта
• Баги с продакшен-сервера
• Неудовлетворенность заказчика
03/21
Пути решения
• Много найденных багов - > Предотвращение типичных багов
• Нехватка времени - > Распараллеливание задач
• Сдвиг даты релиза - > Нахождение проблем на ранних этапах
• Нагрузка в конце итерации - > Мини-регрессии по ходу итерации
• Низкое качество проекта - > Обеспечение качества на всех этапах
• Баги с продакшен-сервера - > Анализ и предотвращение
• Неудовлетворенность заказчика - > Выполнять все пункты выше...
04/21
Спецификация
#1. Хранение: Единая точка (Confluence / SVN)
#2. Декомпозиция и именование каждого реквеста: Понятно,
лаконично, с наличием прямой ссылки на каждый реквест
#3. Обратная связь с заказчиком: Открытый доступ для review
#4. Заносятся ВСЕ требования, включая казалось бы мелкие
ПОЛЬЗА:
Требования в одном месте и каждый таск в Jira чётко на них ссылается;
обратная связь снижает риски ошибок в требованиях. ВРЕМЯ!
05/21
Планирование итерации
#5. Вдумчивый анализ и составление вопросов
#6. Участвуют ВСЕ
#7. Создание приёмочных тестов (DEV & QA)
#8. Переход к Test Design сразу после планирования итерации
#9. Декомпозиция задач
ПОЛЬЗА: Все в курсе что будет делаться; многосторонняя точка
зрения и разнообразные вопросы; обнаружение проблем на ранних
этапах. Четкое понимание что нужно делать. ВРЕМЯ!
06/21
Работа с тест кейсами
#10. Тесты описывают только то, что они должны проверять
ПОЛЬЗА: Исключение избыточности, легкость в поддержке
#11. Создаваемый тест кейс рассчитан на незнающего проект человека
ПОЛЬЗА: Обучение проекту; привлечение специалиста со стороны,
включая программистов на проекте (agile). ВРЕМЯ!
#12. Введение дополнительных параметров тест кейса
ПОЛЬЗА: Удобство при формировании и запуске тест сета. ВРЕМЯ!
#13. Unit-test по запросу
ПОЛЬЗА: Вынос проверки на уровень сборки. РИСКИ!
#14. Проведение рефакторингов тестовых сценариев
07/21
Оптимизация тест кейсов
#15. Используем тестовые данные (sample data, полу-автоматизация)
Иструмент: Apache ant (db-load, db-export)
ПОЛЬЗА:
- Единая терминология в рамках команды
- Компактные тест кейсы и баги
- Ускорение запуска тест кейсов и устранение человеческого фактора
08/21
Различные виды тестов на
все случаи жизни
#16. Различные виды тестов на все случаи жизни
• Sanity - поверхностные тесты
• Urgent – основной функционал
• Functional – детализированное описание фичи
• Cross – связь между различными функциональностями
• Comprehensive – ключевые функциональности в рамках схожего
поведения (Пример: Email sending - Entry points)
• Bugs list – список багов по функциональности
• Checklists – список ключевых аспектов функциональности
• Must haves – тест кейсы, которые выполняются в каждой итерации
• Автоматические функциональные скрипты
• Автоматические нагрузочные скрипты
• Проверка безопасности
09/21
Верификация тасков
#17. Code-review (Tech Lead) РАННЕЕ ОБНАРУЖЕНИЕ!
#18. Доступность билдов и умение работать с ними автономно ВРЕМЯ!
#19. Верификация тасков в параллели
ПОЛЬЗА: Более ранняя загрузка программиста, нахождение критичных
проблем на ранних стадиях. ВРЕМЯ! РИСКИ!
#20. Постоянное общение с программистом после любого фикса
ПОЛЬЗА: Всеобъемлющая проверка на ранней стадии. РИСКИ!
10/21
Работа с багами
#21. Заносим всё, что находим (используем контейнеры)
#22. Не полагаемся на память программиста
#23. Создаем покрытие на любой баг
#24. Указываем номер бага в тест кейсе
#25. Анализируем баг глубже
#26. Помечаем баги с продакшен-сервера и анализируем их
11/21
Детализация багов
#27. Детализируем заносимые баги
Keywords:
- Воспроизводимость
- Cсылка на требования
- Точная версия билда (старый баг?)
- Точный список окружения / компонент в приложении
- Минимизация шагов / лаконичный скриншот
- Log-файл с ошибкой
- Приоритет / итерация для фикса / исполнитель по-умолчанию
- Дополнительная информация: проблемный коммит / workaround /
покрытие / возможный фикс / места невоспроизводимости
ПОЛЬЗА: Предотвращение занесения невоспроизводимых багов;
экономия времени программиста; понятное, наглядное и
локализованное обнаружение проблемы. ВРЕМЯ!
12/21
Формирование тест сетов
• Features verification
#28. Выполнение теста по частям; обязательная финализация фичи
• Bug-fixing / verification
#29. Проведение мини-регрессий
• Release candidate testing
#30. Детальный и вдумчивый анализ всех изменений итерации
#31. Знание о доступном времени
#32. Привлечение PM’a к составлению тест сета
#33. Балансирование между КОЛИЧЕСТВО - ВРЕМЯ - КАЧЕСТВО
• Sanity check на продакшен-сервере
#34. Проверка сервер-ориентированных и новых функциональностей
13/21
Артефакты тестирования
#35. Наличие собственного тестового сервера (аналог продакшена)
#36. Создание словаря терминов, опросников, диаграмм зависимостей,
различная документация по настройке и автономной работе с проектом
Примеры:
- Single feature опросник - “New format”
- Connection and deploy on the test server
- Setting up test PC for Automation
14/21
Обеспечение качества
процесса
#37. Слежение за выполнением регламентированных процессов:
Milestones (Features Complete, Code Freeze), Commit программиста,
Закрытие сущности в Jira
#38. Создание и постоянный апдейт таких документов как Test Plan,
Known Issues, Main functionality and features list, Releases and hot-fixes
#39. Анализ unresolved сущностей в баг-трекинг системе
Keywords: актуальность; новые детали; соответствие приоритету
#40. Периодический анализ логов на продакшен сервере
#41. Своевременное “бранчевание”
#42. Распределение браузеров между командой
#43. Инициирование своевременных demo для заказчика
#44. Создание “Cписка улучшений” для review заказчику
15/21
Автоматизация
#45. Автоматизируем только важные и стабильные фичи
#46. Создаем кросс-функциональные скрипты на основе
Regions.Compare (TestComplete 7)
#47. Создаем скрипты для тестирования Web Services (soapUI)
#48. Включаем всю автоматизацию в Continuous Integration процесс с
ежедневным отчетом
ПОЛЬЗА: Нахождение проблем на ранних этапах; уменьшение
времени на регрессию; уменьшение времени на update.
#49. Используем вспомогательные приложения: SnagIT, AutoIT,
BCompare, Araxis Merge, SeleniumIDE
ПОЛЬЗА: Простой уровень вхождения; требуют мало времени на
освоение, но дают хороший эффект на выходе
16/21
Производительность
#50. Создание скриптов, позволяющих создать нагрузку (LoadRunner,
JMeter) / поиск нагружаемых функциональностей в проекте (Search)
#51. Проверка возможной просадки производительности перед
релизом на идентичных продакшен-серверу мощностях (load / no load)
#52. Периодический анализ sqlslow лога на продакшен-сервере
17/21
Безопасность
#53. Написание и выполнение инструкции по SQL injections
#54. Создание Must have тест кейса по авторизации пользователя и
проверке доступа к данным
#55. Периодический анализ используемых 3'd party компонентов
(exim4, proftpd, etc) на предмет актуальности версии, проблем с
безопасностью, инициирование апгрейда в случае нахождения
потенциальных угроз (http://www.cvedetails.com)
18/21
Сохранность данных и
поддержка
#56. Инкрементальный бекап (binlogs)
#57. Репликация данных (резервный сервер базы данных)
#58. Маскирование данных в продакшен-дампах, используемых
локально (email address, passwords, skype, phones, etc)
#59. Настройка уведомлений команде в случае непредвиденных
ошибок с детальным логом ошибки (email, sms)
#60. Pingability – слежение за доступностью сервера из разных мест
#61. Анализ данных из Google Analytics (используемые браузеры,
время наибольшей активности, нагрузки)
19/21
Активности после релиза
#62. Ретроспектива
• Приведение статистики по состоявщемуся релизу проекта
• Озвучивание новых или старых проблем; поиск путей решения
• Улучшения в процессе: выработка лучшего решения
• Cоздание и занесение протокола в Confluence
#63. Дополнительные активности после релиза
• Хранение релизного билда и всей отчетности по релизу
• Добавление новых функциональностей в опросники
• Обновление приемочных тестов
• Анализ невыполненных QA-тасков
• Поиск потенциальных целей для автоматизации
20/21
Обеспечение качества
РЕЗЮМЕ
21/21
Email: sergey.ostapenkov@gmail.com
Skype: sergey.ostapenkov

Mais conteúdo relacionado

Mais procurados

Тест-дизайн: проще читать или проще писать
Тест-дизайн: проще читать или проще писатьТест-дизайн: проще читать или проще писать
Тест-дизайн: проще читать или проще писатьSQALab
 
Идентификация рисков и проблем тестирования
Идентификация рисков и проблем тестированияИдентификация рисков и проблем тестирования
Идентификация рисков и проблем тестированияSQALab
 
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьSQALab
 
андрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаандрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаAlexei Lupan
 
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDЭволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDCEE-SEC(R)
 
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестированииSQALab
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовSQALab
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииCEE-SEC(R)
 
ACC - конструируем тест-план методом Google
ACC - конструируем тест-план методом GoogleACC - конструируем тест-план методом Google
ACC - конструируем тест-план методом GoogleSQALab
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙCEE-SEC(R)
 
Михаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityМихаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityAlexei Lupan
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CICEE-SEC(R)
 
Планирование трудозатрат на тестирование
Планирование трудозатрат на тестированиеПланирование трудозатрат на тестирование
Планирование трудозатрат на тестированиеSQALab
 
Человеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойЧеловеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойSQALab
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQAFest
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестированияIT61
 
Как оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
Как оценить время на тестирование. Александр Зиновьев, Test Lead SoftengiКак оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
Как оценить время на тестирование. Александр Зиновьев, Test Lead SoftengiSoftengi
 
Sq adays 2010_balashenko
Sq adays 2010_balashenkoSq adays 2010_balashenko
Sq adays 2010_balashenkoAlexei Lupan
 
Процесс тестирования. Измерение и оценка
Процесс тестирования. Измерение и оценкаПроцесс тестирования. Измерение и оценка
Процесс тестирования. Измерение и оценкаSQALab
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 

Mais procurados (20)

Тест-дизайн: проще читать или проще писать
Тест-дизайн: проще читать или проще писатьТест-дизайн: проще читать или проще писать
Тест-дизайн: проще читать или проще писать
 
Идентификация рисков и проблем тестирования
Идентификация рисков и проблем тестированияИдентификация рисков и проблем тестирования
Идентификация рисков и проблем тестирования
 
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
 
андрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаандрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчика
 
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDDЭволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
 
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
 
ACC - конструируем тест-план методом Google
ACC - конструируем тест-план методом GoogleACC - конструируем тест-план методом Google
ACC - конструируем тест-план методом Google
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
 
Михаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityМихаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for quality
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CI
 
Планирование трудозатрат на тестирование
Планирование трудозатрат на тестированиеПланирование трудозатрат на тестирование
Планирование трудозатрат на тестирование
 
Человеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойЧеловеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкой
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
 
Как оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
Как оценить время на тестирование. Александр Зиновьев, Test Lead SoftengiКак оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
Как оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
 
Sq adays 2010_balashenko
Sq adays 2010_balashenkoSq adays 2010_balashenko
Sq adays 2010_balashenko
 
Процесс тестирования. Измерение и оценка
Процесс тестирования. Измерение и оценкаПроцесс тестирования. Измерение и оценка
Процесс тестирования. Измерение и оценка
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 

Destaque

Успешный тестировщик. Путь профессионала
Успешный тестировщик. Путь профессионалаУспешный тестировщик. Путь профессионала
Успешный тестировщик. Путь профессионалаSQALab
 
Подход доктора Хауса в тестировании оптимизации запросов (5 серия)
Подход доктора Хауса в тестировании оптимизации запросов (5 серия)Подход доктора Хауса в тестировании оптимизации запросов (5 серия)
Подход доктора Хауса в тестировании оптимизации запросов (5 серия)SQALab
 
Безопасность сессий в веб-приложениях: практическое применение
Безопасность сессий в веб-приложениях: практическое применениеБезопасность сессий в веб-приложениях: практическое применение
Безопасность сессий в веб-приложениях: практическое применениеSQALab
 
Организация времени в тестировании
Организация времени в тестированииОрганизация времени в тестировании
Организация времени в тестированииSQALab
 
Первоклассное тестирование
Первоклассное тестированиеПервоклассное тестирование
Первоклассное тестированиеSQALab
 
QA as responsibility of Whole Team
QA as responsibility of Whole TeamQA as responsibility of Whole Team
QA as responsibility of Whole TeamSQALab
 
тестирование защищенности веб приложений
тестирование защищенности веб приложенийтестирование защищенности веб приложений
тестирование защищенности веб приложенийZestranec
 
Практически о виртуализации сервисов
Практически о виртуализации сервисовПрактически о виртуализации сервисов
Практически о виртуализации сервисовSQALab
 
Как общаться с коллегами удалённо, чтобы не было мучительно больно?
Как общаться с коллегами удалённо, чтобы не было мучительно больно?Как общаться с коллегами удалённо, чтобы не было мучительно больно?
Как общаться с коллегами удалённо, чтобы не было мучительно больно?SQALab
 
Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...SQALab
 
Тестирование в опенсорс
Тестирование в опенсорсТестирование в опенсорс
Тестирование в опенсорсSQALab
 
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...SQALab
 
Тестовая инфраструктура в облаке
Тестовая инфраструктура в облакеТестовая инфраструктура в облаке
Тестовая инфраструктура в облакеSQALab
 
Инструменты тестирования, или хочешь сделать хорошо - сделай это сам
Инструменты тестирования, или хочешь сделать хорошо - сделай это самИнструменты тестирования, или хочешь сделать хорошо - сделай это сам
Инструменты тестирования, или хочешь сделать хорошо - сделай это самSQALab
 
Теория и практика сокращения релизного цикла
Теория и практика сокращения релизного циклаТеория и практика сокращения релизного цикла
Теория и практика сокращения релизного циклаSQALab
 
VIQA - Тестирование UI с помощью Виртуального интеллекта
VIQA - Тестирование UI с помощью Виртуального интеллектаVIQA - Тестирование UI с помощью Виртуального интеллекта
VIQA - Тестирование UI с помощью Виртуального интеллектаSQALab
 
Путь к трассировке требований: от идеи к инструменту
Путь к трассировке требований: от идеи к инструментуПуть к трассировке требований: от идеи к инструменту
Путь к трассировке требований: от идеи к инструментуSQALab
 
Автоматизированное тестирование не-тестировщиками
Автоматизированное тестирование не-тестировщикамиАвтоматизированное тестирование не-тестировщиками
Автоматизированное тестирование не-тестировщикамиSQALab
 
Особенности тестирования облачных сервисов
Особенности тестирования облачных сервисовОсобенности тестирования облачных сервисов
Особенности тестирования облачных сервисовSQALab
 
Миссия тест-менеджера
Миссия тест-менеджераМиссия тест-менеджера
Миссия тест-менеджераSQALab
 

Destaque (20)

Успешный тестировщик. Путь профессионала
Успешный тестировщик. Путь профессионалаУспешный тестировщик. Путь профессионала
Успешный тестировщик. Путь профессионала
 
Подход доктора Хауса в тестировании оптимизации запросов (5 серия)
Подход доктора Хауса в тестировании оптимизации запросов (5 серия)Подход доктора Хауса в тестировании оптимизации запросов (5 серия)
Подход доктора Хауса в тестировании оптимизации запросов (5 серия)
 
Безопасность сессий в веб-приложениях: практическое применение
Безопасность сессий в веб-приложениях: практическое применениеБезопасность сессий в веб-приложениях: практическое применение
Безопасность сессий в веб-приложениях: практическое применение
 
Организация времени в тестировании
Организация времени в тестированииОрганизация времени в тестировании
Организация времени в тестировании
 
Первоклассное тестирование
Первоклассное тестированиеПервоклассное тестирование
Первоклассное тестирование
 
QA as responsibility of Whole Team
QA as responsibility of Whole TeamQA as responsibility of Whole Team
QA as responsibility of Whole Team
 
тестирование защищенности веб приложений
тестирование защищенности веб приложенийтестирование защищенности веб приложений
тестирование защищенности веб приложений
 
Практически о виртуализации сервисов
Практически о виртуализации сервисовПрактически о виртуализации сервисов
Практически о виртуализации сервисов
 
Как общаться с коллегами удалённо, чтобы не было мучительно больно?
Как общаться с коллегами удалённо, чтобы не было мучительно больно?Как общаться с коллегами удалённо, чтобы не было мучительно больно?
Как общаться с коллегами удалённо, чтобы не было мучительно больно?
 
Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...
 
Тестирование в опенсорс
Тестирование в опенсорсТестирование в опенсорс
Тестирование в опенсорс
 
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
 
Тестовая инфраструктура в облаке
Тестовая инфраструктура в облакеТестовая инфраструктура в облаке
Тестовая инфраструктура в облаке
 
Инструменты тестирования, или хочешь сделать хорошо - сделай это сам
Инструменты тестирования, или хочешь сделать хорошо - сделай это самИнструменты тестирования, или хочешь сделать хорошо - сделай это сам
Инструменты тестирования, или хочешь сделать хорошо - сделай это сам
 
Теория и практика сокращения релизного цикла
Теория и практика сокращения релизного циклаТеория и практика сокращения релизного цикла
Теория и практика сокращения релизного цикла
 
VIQA - Тестирование UI с помощью Виртуального интеллекта
VIQA - Тестирование UI с помощью Виртуального интеллектаVIQA - Тестирование UI с помощью Виртуального интеллекта
VIQA - Тестирование UI с помощью Виртуального интеллекта
 
Путь к трассировке требований: от идеи к инструменту
Путь к трассировке требований: от идеи к инструментуПуть к трассировке требований: от идеи к инструменту
Путь к трассировке требований: от идеи к инструменту
 
Автоматизированное тестирование не-тестировщиками
Автоматизированное тестирование не-тестировщикамиАвтоматизированное тестирование не-тестировщиками
Автоматизированное тестирование не-тестировщиками
 
Особенности тестирования облачных сервисов
Особенности тестирования облачных сервисовОсобенности тестирования облачных сервисов
Особенности тестирования облачных сервисов
 
Миссия тест-менеджера
Миссия тест-менеджераМиссия тест-менеджера
Миссия тест-менеджера
 

Semelhante a Обеспечение качества: Практические советы

Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rusMaxim Shaptala
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDaysLiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetestingLiloSEA
 
TestLink
TestLinkTestLink
TestLinkISsoft
 
Вадим Зубович - Test Link
Вадим Зубович - Test LinkВадим Зубович - Test Link
Вадим Зубович - Test LinkQA Club Minsk
 
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...solit
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей РевкоSQALab
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаMikhail Chinkov
 

Semelhante a Обеспечение качества: Практические советы (20)

Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Team workflow
Team workflowTeam workflow
Team workflow
 
TestLink
TestLinkTestLink
TestLink
 
Вадим Зубович - Test Link
Вадим Зубович - Test LinkВадим Зубович - Test Link
Вадим Зубович - Test Link
 
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Enter: testing
Enter: testingEnter: testing
Enter: testing
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Test design print
Test design printTest design print
Test design print
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Dev collaboration
Dev collaborationDev collaboration
Dev collaboration
 

Mais de SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен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
 

Mais de SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
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 или как тест-менеджеру перекроить внут...
 

Обеспечение качества: Практические советы

  • 2. Обеспечение качества в рамках компании Quality Assurance Processes Matured Processes Iterative Testing Cycle ISO 9001 & 27001 Technologies E Business Client/Server CRM Infrastructure Test Management Test Automation Requirements Management Issue Tracking Communication People Experienced Staff ISTQB Certified Automation Experts Measurements Code Development Process Testing Process 02/21
  • 3. Проблемы • Много найденных багов • Нехватка времени • Сдвиг даты релиза • Нагрузка в конце итерации • Низкое качество проекта • Баги с продакшен-сервера • Неудовлетворенность заказчика 03/21
  • 4. Пути решения • Много найденных багов - > Предотвращение типичных багов • Нехватка времени - > Распараллеливание задач • Сдвиг даты релиза - > Нахождение проблем на ранних этапах • Нагрузка в конце итерации - > Мини-регрессии по ходу итерации • Низкое качество проекта - > Обеспечение качества на всех этапах • Баги с продакшен-сервера - > Анализ и предотвращение • Неудовлетворенность заказчика - > Выполнять все пункты выше... 04/21
  • 5. Спецификация #1. Хранение: Единая точка (Confluence / SVN) #2. Декомпозиция и именование каждого реквеста: Понятно, лаконично, с наличием прямой ссылки на каждый реквест #3. Обратная связь с заказчиком: Открытый доступ для review #4. Заносятся ВСЕ требования, включая казалось бы мелкие ПОЛЬЗА: Требования в одном месте и каждый таск в Jira чётко на них ссылается; обратная связь снижает риски ошибок в требованиях. ВРЕМЯ! 05/21
  • 6. Планирование итерации #5. Вдумчивый анализ и составление вопросов #6. Участвуют ВСЕ #7. Создание приёмочных тестов (DEV & QA) #8. Переход к Test Design сразу после планирования итерации #9. Декомпозиция задач ПОЛЬЗА: Все в курсе что будет делаться; многосторонняя точка зрения и разнообразные вопросы; обнаружение проблем на ранних этапах. Четкое понимание что нужно делать. ВРЕМЯ! 06/21
  • 7. Работа с тест кейсами #10. Тесты описывают только то, что они должны проверять ПОЛЬЗА: Исключение избыточности, легкость в поддержке #11. Создаваемый тест кейс рассчитан на незнающего проект человека ПОЛЬЗА: Обучение проекту; привлечение специалиста со стороны, включая программистов на проекте (agile). ВРЕМЯ! #12. Введение дополнительных параметров тест кейса ПОЛЬЗА: Удобство при формировании и запуске тест сета. ВРЕМЯ! #13. Unit-test по запросу ПОЛЬЗА: Вынос проверки на уровень сборки. РИСКИ! #14. Проведение рефакторингов тестовых сценариев 07/21
  • 8. Оптимизация тест кейсов #15. Используем тестовые данные (sample data, полу-автоматизация) Иструмент: Apache ant (db-load, db-export) ПОЛЬЗА: - Единая терминология в рамках команды - Компактные тест кейсы и баги - Ускорение запуска тест кейсов и устранение человеческого фактора 08/21
  • 9. Различные виды тестов на все случаи жизни #16. Различные виды тестов на все случаи жизни • Sanity - поверхностные тесты • Urgent – основной функционал • Functional – детализированное описание фичи • Cross – связь между различными функциональностями • Comprehensive – ключевые функциональности в рамках схожего поведения (Пример: Email sending - Entry points) • Bugs list – список багов по функциональности • Checklists – список ключевых аспектов функциональности • Must haves – тест кейсы, которые выполняются в каждой итерации • Автоматические функциональные скрипты • Автоматические нагрузочные скрипты • Проверка безопасности 09/21
  • 10. Верификация тасков #17. Code-review (Tech Lead) РАННЕЕ ОБНАРУЖЕНИЕ! #18. Доступность билдов и умение работать с ними автономно ВРЕМЯ! #19. Верификация тасков в параллели ПОЛЬЗА: Более ранняя загрузка программиста, нахождение критичных проблем на ранних стадиях. ВРЕМЯ! РИСКИ! #20. Постоянное общение с программистом после любого фикса ПОЛЬЗА: Всеобъемлющая проверка на ранней стадии. РИСКИ! 10/21
  • 11. Работа с багами #21. Заносим всё, что находим (используем контейнеры) #22. Не полагаемся на память программиста #23. Создаем покрытие на любой баг #24. Указываем номер бага в тест кейсе #25. Анализируем баг глубже #26. Помечаем баги с продакшен-сервера и анализируем их 11/21
  • 12. Детализация багов #27. Детализируем заносимые баги Keywords: - Воспроизводимость - Cсылка на требования - Точная версия билда (старый баг?) - Точный список окружения / компонент в приложении - Минимизация шагов / лаконичный скриншот - Log-файл с ошибкой - Приоритет / итерация для фикса / исполнитель по-умолчанию - Дополнительная информация: проблемный коммит / workaround / покрытие / возможный фикс / места невоспроизводимости ПОЛЬЗА: Предотвращение занесения невоспроизводимых багов; экономия времени программиста; понятное, наглядное и локализованное обнаружение проблемы. ВРЕМЯ! 12/21
  • 13. Формирование тест сетов • Features verification #28. Выполнение теста по частям; обязательная финализация фичи • Bug-fixing / verification #29. Проведение мини-регрессий • Release candidate testing #30. Детальный и вдумчивый анализ всех изменений итерации #31. Знание о доступном времени #32. Привлечение PM’a к составлению тест сета #33. Балансирование между КОЛИЧЕСТВО - ВРЕМЯ - КАЧЕСТВО • Sanity check на продакшен-сервере #34. Проверка сервер-ориентированных и новых функциональностей 13/21
  • 14. Артефакты тестирования #35. Наличие собственного тестового сервера (аналог продакшена) #36. Создание словаря терминов, опросников, диаграмм зависимостей, различная документация по настройке и автономной работе с проектом Примеры: - Single feature опросник - “New format” - Connection and deploy on the test server - Setting up test PC for Automation 14/21
  • 15. Обеспечение качества процесса #37. Слежение за выполнением регламентированных процессов: Milestones (Features Complete, Code Freeze), Commit программиста, Закрытие сущности в Jira #38. Создание и постоянный апдейт таких документов как Test Plan, Known Issues, Main functionality and features list, Releases and hot-fixes #39. Анализ unresolved сущностей в баг-трекинг системе Keywords: актуальность; новые детали; соответствие приоритету #40. Периодический анализ логов на продакшен сервере #41. Своевременное “бранчевание” #42. Распределение браузеров между командой #43. Инициирование своевременных demo для заказчика #44. Создание “Cписка улучшений” для review заказчику 15/21
  • 16. Автоматизация #45. Автоматизируем только важные и стабильные фичи #46. Создаем кросс-функциональные скрипты на основе Regions.Compare (TestComplete 7) #47. Создаем скрипты для тестирования Web Services (soapUI) #48. Включаем всю автоматизацию в Continuous Integration процесс с ежедневным отчетом ПОЛЬЗА: Нахождение проблем на ранних этапах; уменьшение времени на регрессию; уменьшение времени на update. #49. Используем вспомогательные приложения: SnagIT, AutoIT, BCompare, Araxis Merge, SeleniumIDE ПОЛЬЗА: Простой уровень вхождения; требуют мало времени на освоение, но дают хороший эффект на выходе 16/21
  • 17. Производительность #50. Создание скриптов, позволяющих создать нагрузку (LoadRunner, JMeter) / поиск нагружаемых функциональностей в проекте (Search) #51. Проверка возможной просадки производительности перед релизом на идентичных продакшен-серверу мощностях (load / no load) #52. Периодический анализ sqlslow лога на продакшен-сервере 17/21
  • 18. Безопасность #53. Написание и выполнение инструкции по SQL injections #54. Создание Must have тест кейса по авторизации пользователя и проверке доступа к данным #55. Периодический анализ используемых 3'd party компонентов (exim4, proftpd, etc) на предмет актуальности версии, проблем с безопасностью, инициирование апгрейда в случае нахождения потенциальных угроз (http://www.cvedetails.com) 18/21
  • 19. Сохранность данных и поддержка #56. Инкрементальный бекап (binlogs) #57. Репликация данных (резервный сервер базы данных) #58. Маскирование данных в продакшен-дампах, используемых локально (email address, passwords, skype, phones, etc) #59. Настройка уведомлений команде в случае непредвиденных ошибок с детальным логом ошибки (email, sms) #60. Pingability – слежение за доступностью сервера из разных мест #61. Анализ данных из Google Analytics (используемые браузеры, время наибольшей активности, нагрузки) 19/21
  • 20. Активности после релиза #62. Ретроспектива • Приведение статистики по состоявщемуся релизу проекта • Озвучивание новых или старых проблем; поиск путей решения • Улучшения в процессе: выработка лучшего решения • Cоздание и занесение протокола в Confluence #63. Дополнительные активности после релиза • Хранение релизного билда и всей отчетности по релизу • Добавление новых функциональностей в опросники • Обновление приемочных тестов • Анализ невыполненных QA-тасков • Поиск потенциальных целей для автоматизации 20/21