Система генерации чек-листов для регрессионного тестирования на основе анализа рисков

SQALab
SQALabSQALab
Система генерации чек-листов для регрессионного
тестирования на основе анализа рисков
или QA паранойя
Солодов Владимир
Superjob, Москва, Россия
Постановка задачи
Постановка задачи
Функционал, связанный с
изменением, положительные
кейсы,
15% критичных багов
Функционал, связанный с
изменением, кейсы на
предельные значения и
отрицательные кейсы,
40% критичных багов
Функционал, не связанный
с изменением,
45% критичных багов
Мы хотим
• получить набор тесткейсов, проведение которых гарантировало бы
нахождение ВСЕХ(!) багов, привнесенных конкретным изменением кода
• получить приоритеты тесткейсов, чтобы сначала обнаружить наиболее
критичные баги, привнесенные с изменениями, а затем находить наименее
критичные баги
Постановка задачи
Природа багов
Задание: Вывести
ссылку «Ссылка 10»
красным цветом
Природа багов
Изменение 1.
Программист поменял код HTML на странице: он обрамил текст ссылки в тег
<font color=”red”> и забыл его закрыть. Все работает, ссылка корректно
окрашена.
Расширяем контекст.
Ниже в верстке есть поп-ап, который появляется при клике на ссылку
«Ссылка3», Текст в попапе окрашивается в цвет, который мы установили для
ссылки.
Природа багов
Природа багов
Изменение 2.
Программист поменял существующий стиль программы, добавил в css-стиль
строку color: red и убрал style:linked.
Расширяем контекст.
В шаблонах других странице данным стилем обозначены все ссылки на
данную страницу, а их текст мы хотим оставить прежним.
Природа багов
Изменение 3.
Программист добавил в css новый стиль, новый идентификатор, для которого
корректно указал цвета.
Расширяем контекст.
С данным стилем, идентификатором был связан код JS, который сейчас не
работает.
Риски реализации
Риск – вероятное событие, приводящее к негативным последствиям.
Величина риска = (вероятность) x (ущерб) = P x H
Ущерб
Вероятность
1 2 3
1 1 2 3
2 2 4 6
3 3 6 9
Риски реализации
Гипотезы, которые мы приняли
• изменения, вносимые в систему однозначно определяют риски, которые могут
материализоваться в системе,
• риски, связанные с каждым изменением могут быть устойчивыми (регулярно
повторяющимися), если взаимосвязи элементов, в которых вносятся изменения
будут сохранять инвариантность (постоянство), то есть изменения должны
касаться изменения частей системы, а не характера их взаимосвязей
Одним из таких инвариантов в компьютерной программе является архитектура
приложения.
Инициализация. Шаги 1,2 из 4
Шаг 1. На основе архитектуры приложения выделить основные компоненты
(элементы архитектуры: шаблоны, базы данных, модели, таблица стилей)
Шаг 2. Для каждого компонента выделить изменения, которые вносятся
разработчиком
1. Изменения CSS (styles.css, blitz,
ViewModel)
2. Исправление JS (файлы плагинов, blitz,
ViewModel)
3. DOM-HTML (blitz). Добавление элемента
в дерево
4. DOM-HTML (blitz). Изменение
существующего элемента
5. DOM-HTML (blitz). Удаление элемента из
дерева
6. Изменения в БД. Добавление нового поля
7. Изменения в БД. Удаление поля
8. Изменения в БД. Исправлен запрос
9. Изменение PHP скриптов (Контроллер,
VM). Логика
Инициализация. Шаги 3,4 из 4
Шаг 3. Для каждого изменения можно определить риски, следующие из здравого
смысла и определить им вероятность возникновения 0,5, вред определить из
логики приложения.
Шаг 4. Для каждого риска предусмотреть тест-кейсы, которые должны быть
выполнены, чтобы данный риск был протестирован.
Риск Симптом
1 Стиль наследует данные, которые конфликтуют с
версткой
Верстка нового элемента некорректна
2 Стиль используется другими элементами Верстка сопряженных элементов некорректна
3 Атрибуты наследуются другими элементами Верстка сопряженных элементов некорректна
4 Некорректно работают JS-обработчики Не работают скрипты добавления, модификации
элементов DOMa
Алгоритм работы
Шаг 1. Отметить какие изменения были внесены в систему.
Шаг 2. Выбрать риски для изменений, которые отмечены и отранжировать их в
порядке убывания параметра P x H, для данных рисков уже заранее определены
тесткейсы
Шаг 3. Проверить, риски в порядке убывания параметра
Шаг 4. Отметить риски, которые материализовались, зафиксировать баги в
системе.
Шаг 5. Пересчитать вероятности рисков с учетом того, какие материализовались,
а какие – нет.
Обучение системы
В режиме обучения необходимо проводить регрессионные испытания,
изменения вносятся, если:
• обнаруживается новый вид изменений в системе (такое изменение связано
либо с изменением архитектуры, либо с неправильным исходным разбиением),
• для изменения обнаруживается новый риск, который ранее не был учтен, в
этом случае добавляется новый риск
Демонстрация работы
Демонстрация работы
Демонстрация работы
Демонстрация работы
1. Добавлено поле Expirience в таблицу
- Изменены запросы на страницах, использующих поле
- Меняется валидатор значений
- Поле добавляется в фиды
- Добавляется проверка на обязательность поля
- Поле участвует в полях печати и т.д.
2. Добавлен элемент DOM на страницы Создания, Редактирования, Отображения вакансии
- Добавляется клиентская валидация поля
- Добавляется серверная валидация поля
- Добавляется поле в БД
- Добавляется поле в фид поисковой машины
- Добавляется поле в админке с валидацией
- Добавляется поле в бланк для печати
- Добавляется поле с хинтом
- Поле добавляется в поисковые запросы и параметры рассылок
3. Изменен обработчик JS для отображения поля в бланке вакансии для соискателя
- Изменение DOM, добавление, удаление, изменение элемента
- Изменение клиентской логики, отображение с прописной/строчной буквы
Демонстрация работы
Преимущества
1. Сокращается время тестирования проекта. Тескткейсы приоретизированы
2. До начала изменений разработчики могут увидеть как будет тестироваться
данный функционал
3. До начала проектирования у аналитика есть опорные точки, по которым он
может учесть проблемы, которые уже возникали в проекте, а тестировщик может
выполнять тестирование требований
4. Появляется «память проекта», в которой учтены проблемы, возникавшие ранее.
5. Формируется модель проекта, позволяющая оценить взаимосвязь архитектурных
элементов, таким образом, тестирование переносится в фазу обратной связи
Недостатки
1. На первом этапе обучения не все кейсы получают корректные приоритеты. Эта
проблема проявляется в самом начале, но очень быстро устраняется в процессе
работы системы. Причем устраняется значительно с меньшими затратами
ресурсов и времени, чем, например, в тех же автотестах.
2. В начале работы системы не все кейсы учтены. Эффективность работы системы
во многом зависит от квалификации инженера, выполняющего разбиение.
Однако, это компенсируется тем, что в дальнейшем для систем с одной
архитектурой база рисков уже полностью готова и требует только
незначительной настройки приоритетов кейсов.
3. Изменение архитектуры проекта влечет необходимость изменить поменять
набор рисков и тесткейсов. Архитектура проекта меняется не настолько часто и
является скорее исключением, чем правилом.
Спасибо за внимание, и помните,
«Работа должна доставлять удовольствие»
1 von 23

Recomendados

Тестирование сложных программных решений и комплексных систем. von
Тестирование сложных программных решений и комплексных систем.Тестирование сложных программных решений и комплексных систем.
Тестирование сложных программных решений и комплексных систем.DressTester
10.6K views13 Folien
Reporting error von
Reporting errorReporting error
Reporting errorQA Guards
529 views16 Folien
Тест-дизайн "в цикле" von
Тест-дизайн "в цикле"Тест-дизайн "в цикле"
Тест-дизайн "в цикле"Александр Федоров
2.1K views24 Folien
Тесты (типы тестов, организация тестов, создание тестов). von
Тесты (типы тестов, организация тестов, создание тестов).Тесты (типы тестов, организация тестов, создание тестов).
Тесты (типы тестов, организация тестов, создание тестов).DressTester
12K views15 Folien
Test levels von
Test levelsTest levels
Test levelsQA Guards
864 views13 Folien
Test types von
Test typesTest types
Test typesQA Guards
689 views17 Folien

Más contenido relacionado

Was ist angesagt?

Невыносимая переносимость кроссплатформенных приложений на примере десктопных... von
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...SQALab
3.9K views19 Folien
Теория тестирования, часть 1 von
Теория тестирования, часть 1 Теория тестирования, часть 1
Теория тестирования, часть 1 DressTester
15.2K views22 Folien
Александр Александров -- Надёжный тест-дизайн (мастер-класс) von
Александр Александров -- Надёжный тест-дизайн (мастер-класс)Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)sqadays8
10.9K views31 Folien
Fundamental test process von
Fundamental test processFundamental test process
Fundamental test processQA Guards
880 views10 Folien
Tpo 05111(1) von
Tpo 05111(1)Tpo 05111(1)
Tpo 05111(1)Nickola14
518 views16 Folien
[Sqa days]risk driven testing von
[Sqa days]risk driven testing[Sqa days]risk driven testing
[Sqa days]risk driven testingAlexei Lupan
1.5K views33 Folien

Was ist angesagt?(20)

Невыносимая переносимость кроссплатформенных приложений на примере десктопных... von SQALab
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
SQALab3.9K views
Теория тестирования, часть 1 von DressTester
Теория тестирования, часть 1 Теория тестирования, часть 1
Теория тестирования, часть 1
DressTester15.2K views
Александр Александров -- Надёжный тест-дизайн (мастер-класс) von sqadays8
Александр Александров -- Надёжный тест-дизайн (мастер-класс)Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)
sqadays810.9K views
Fundamental test process von QA Guards
Fundamental test processFundamental test process
Fundamental test process
QA Guards880 views
Tpo 05111(1) von Nickola14
Tpo 05111(1)Tpo 05111(1)
Tpo 05111(1)
Nickola14518 views
[Sqa days]risk driven testing von Alexei Lupan
[Sqa days]risk driven testing[Sqa days]risk driven testing
[Sqa days]risk driven testing
Alexei Lupan1.5K views
Тестирование ПО (лекция 2) von Igor Khmelnytskyy
Тестирование ПО (лекция 2)Тестирование ПО (лекция 2)
Тестирование ПО (лекция 2)
Igor Khmelnytskyy1.1K views
Тестирование ПО (лекция 3) von Igor Khmelnytskyy
Тестирование ПО (лекция 3)Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)
Igor Khmelnytskyy377 views
Тестирование ПО (лекция 1) von Igor Khmelnytskyy
Тестирование ПО (лекция 1)Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)
Igor Khmelnytskyy880 views
Тестирование ПО von seleznev_stas
Тестирование ПОТестирование ПО
Тестирование ПО
seleznev_stas1.9K views
программное обеспечение процесса тестирования von DressTester
программное обеспечение процесса тестированияпрограммное обеспечение процесса тестирования
программное обеспечение процесса тестирования
DressTester5.6K views
Документирование дефектов von Nickola14
Документирование дефектовДокументирование дефектов
Документирование дефектов
Nickola142.4K views
Процесс тестирования von Alexander Solosh
Процесс тестированияПроцесс тестирования
Процесс тестирования
Alexander Solosh5.4K views
От тестирования к QA von DressTester
От тестирования к QAОт тестирования к QA
От тестирования к QA
DressTester8.4K views
Управление конфигурациями и артефакты тестирования von SQALab
Управление конфигурациями и артефакты тестированияУправление конфигурациями и артефакты тестирования
Управление конфигурациями и артефакты тестирования
SQALab1.2K views
Обеспечение качества: Практические советы von SQALab
Обеспечение качества: Практические советыОбеспечение качества: Практические советы
Обеспечение качества: Практические советы
SQALab4.5K views
Профилактика дефектов von SQALab
Профилактика дефектовПрофилактика дефектов
Профилактика дефектов
SQALab461 views

Destacado

MindMap - в мире интеллектуального тестирования von
MindMap - в мире интеллектуального тестированияMindMap - в мире интеллектуального тестирования
MindMap - в мире интеллектуального тестированияSQALab
2K views12 Folien
Инструменты для тестирования пользовательского интерфейса UI von
Инструменты для тестирования пользовательского интерфейса UIИнструменты для тестирования пользовательского интерфейса UI
Инструменты для тестирования пользовательского интерфейса UIOlesia Velychko
1.2K views16 Folien
Пример эффективного управления тест-кейсами при помощи Google docs von
Пример эффективного управления тест-кейсами при помощи Google docsПример эффективного управления тест-кейсами при помощи Google docs
Пример эффективного управления тест-кейсами при помощи Google docsSQALab
2.9K views20 Folien
Риски в тестировании von
Риски в тестированииРиски в тестировании
Риски в тестированииISsoft
6.1K views49 Folien
Беседа о тестовых данных von
Беседа о тестовых данныхБеседа о тестовых данных
Беседа о тестовых данныхSQALab
2.5K views38 Folien
JIRA. С добавками. Для тестировщиков von
JIRA. С добавками. Для тестировщиковJIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковSQALab
3.6K views38 Folien

Destacado(20)

MindMap - в мире интеллектуального тестирования von SQALab
MindMap - в мире интеллектуального тестированияMindMap - в мире интеллектуального тестирования
MindMap - в мире интеллектуального тестирования
SQALab2K views
Инструменты для тестирования пользовательского интерфейса UI von Olesia Velychko
Инструменты для тестирования пользовательского интерфейса UIИнструменты для тестирования пользовательского интерфейса UI
Инструменты для тестирования пользовательского интерфейса UI
Olesia Velychko1.2K views
Пример эффективного управления тест-кейсами при помощи Google docs von SQALab
Пример эффективного управления тест-кейсами при помощи Google docsПример эффективного управления тест-кейсами при помощи Google docs
Пример эффективного управления тест-кейсами при помощи Google docs
SQALab2.9K views
Риски в тестировании von ISsoft
Риски в тестированииРиски в тестировании
Риски в тестировании
ISsoft6.1K views
Беседа о тестовых данных von SQALab
Беседа о тестовых данныхБеседа о тестовых данных
Беседа о тестовых данных
SQALab2.5K views
JIRA. С добавками. Для тестировщиков von SQALab
JIRA. С добавками. Для тестировщиковJIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиков
SQALab3.6K views
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ... von SQALab
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
SQALab22.6K views
Автоматизация тестирования: почему умирают проекты? von SQALab
Автоматизация тестирования: почему умирают проекты?Автоматизация тестирования: почему умирают проекты?
Автоматизация тестирования: почему умирают проекты?
SQALab1.9K views
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом? von SQALab
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
SQALab1.5K views
Мини-школа тестировщиков, ориентированных на Web von SQALab
Мини-школа тестировщиков, ориентированных на WebМини-школа тестировщиков, ориентированных на Web
Мини-школа тестировщиков, ориентированных на Web
SQALab895 views
От ручного тестирования к автоматическому: опыт внедрения в крупном проекте von SQALab
От ручного тестирования к автоматическому: опыт внедрения в крупном проектеОт ручного тестирования к автоматическому: опыт внедрения в крупном проекте
От ручного тестирования к автоматическому: опыт внедрения в крупном проекте
SQALab1.1K views
Инструменты для тестирования UI von ISsoft
Инструменты для тестирования UIИнструменты для тестирования UI
Инструменты для тестирования UI
ISsoft7.9K views
Наталья Руколь - Sqamaps von Alexei Lupan
Наталья Руколь - SqamapsНаталья Руколь - Sqamaps
Наталья Руколь - Sqamaps
Alexei Lupan4.3K views
Оптимизация процесса тестирования локализаций von SQALab
Оптимизация процесса тестирования локализацийОптимизация процесса тестирования локализаций
Оптимизация процесса тестирования локализаций
SQALab1.1K views
Как найти побольше багов? (Особенно, если времени нет) von SQALab
Как найти побольше багов? (Особенно, если времени нет)Как найти побольше багов? (Особенно, если времени нет)
Как найти побольше багов? (Особенно, если времени нет)
SQALab1.7K views
Как эффективно организовать Автоматизацию, если у вас недостаточно времени, р... von SQALab
Как эффективно организовать Автоматизацию, если у вас недостаточно времени, р...Как эффективно организовать Автоматизацию, если у вас недостаточно времени, р...
Как эффективно организовать Автоматизацию, если у вас недостаточно времени, р...
SQALab1.8K views
Организация тестирования в Inostudio von IT61
Организация тестирования в InostudioОрганизация тестирования в Inostudio
Организация тестирования в Inostudio
IT61235 views
Оптимизируем тест кейсы von SQALab
Оптимизируем тест кейсыОптимизируем тест кейсы
Оптимизируем тест кейсы
SQALab1.4K views
Модель компетенций в оценке, обучении и развитии специалиста по тестированию von SQALab
Модель компетенций в оценке, обучении и развитии специалиста по тестированиюМодель компетенций в оценке, обучении и развитии специалиста по тестированию
Модель компетенций в оценке, обучении и развитии специалиста по тестированию
SQALab3K views

Similar a Система генерации чек-листов для регрессионного тестирования на основе анализа рисков

Эффективное использование Microsoft team system для улучшения процессов разра... von
Эффективное использование Microsoft team system для улучшения процессов разра...Эффективное использование Microsoft team system для улучшения процессов разра...
Эффективное использование Microsoft team system для улучшения процессов разра...Александр Шамрай
485 views43 Folien
«трудности при разработке сложных распределённых систем на Java. способы реше... von
«трудности при разработке сложных распределённых систем на Java. способы реше...«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...MDDay_4
835 views43 Folien
Continious integration-Automated Testing-Solid-Agile von
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
412 views25 Folien
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир... von
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Mail.ru Group
4.8K views23 Folien
Test design print von
Test design printTest design print
Test design printMichael Karpov
2.5K views98 Folien
Mva stf module 2 - rus von
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rusMaxim Shaptala
691 views39 Folien

Similar a Система генерации чек-листов для регрессионного тестирования на основе анализа рисков(20)

Эффективное использование Microsoft team system для улучшения процессов разра... von Александр Шамрай
Эффективное использование Microsoft team system для улучшения процессов разра...Эффективное использование Microsoft team system для улучшения процессов разра...
Эффективное использование Microsoft team system для улучшения процессов разра...
«трудности при разработке сложных распределённых систем на Java. способы реше... von MDDay_4
«трудности при разработке сложных распределённых систем на Java. способы реше...«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...
MDDay_4835 views
Continious integration-Automated Testing-Solid-Agile von Kairat Yussupov
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
Kairat Yussupov412 views
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир... von Mail.ru Group
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Mail.ru Group4.8K views
Слайдкаст. Измерения в ИТ и ПО. Часть II von Sergiy Povolyashko
Слайдкаст. Измерения в ИТ и ПО. Часть IIСлайдкаст. Измерения в ИТ и ПО. Часть II
Слайдкаст. Измерения в ИТ и ПО. Часть II
Инна Слизовская - Тест-менеджмент: статистика, документация и планы von Yandex
Инна Слизовская - Тест-менеджмент: статистика, документация и планыИнна Слизовская - Тест-менеджмент: статистика, документация и планы
Инна Слизовская - Тест-менеджмент: статистика, документация и планы
Yandex1K views
Как сделать наши проекты немного более управляемыми с Agile von Alexey Krivitsky
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
Alexey Krivitsky769 views
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье... von Tech Talks @NSU
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU210 views
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE von SQALab
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
SQALab7.6K views
"Опыт создания системы управления сборкой и тестированием" (полная) von SPB SQA Group
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)
SPB SQA Group541 views
Проблемы в системе журналирования событий безопасности ОС Windows von imbasoft ru
Проблемы в системе журналирования событий безопасности ОС WindowsПроблемы в системе журналирования событий безопасности ОС Windows
Проблемы в системе журналирования событий безопасности ОС Windows
imbasoft ru19 views
Светлана Федянина - Процесс тестирования в распределенной команде von SQALab
Светлана Федянина - Процесс тестирования в распределенной командеСветлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной команде
SQALab580 views
Процесс тестирования в распределенной команде von Svetlana Fedyanina
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной команде
Svetlana Fedyanina3.3K views
организация и проведение тестирования von Igor Pozumentov
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестирования
Igor Pozumentov1.5K views

Más de SQALab

Готовим стажировку von
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
2.6K views18 Folien
Куда приводят мечты? или Искусство развития тестировщика von
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
1.7K views16 Folien
Оптимизация Selenium тестов и ускорение их поддержки von
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
1.2K views36 Folien
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования von
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
774 views21 Folien
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J... von
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
800 views18 Folien
Continuous performance testing von
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
645 views23 Folien

Más de SQALab(20)

Готовим стажировку von SQALab
Готовим стажировкуГотовим стажировку
Готовим стажировку
SQALab2.6K views
Куда приводят мечты? или Искусство развития тестировщика von SQALab
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
SQALab1.7K views
Оптимизация Selenium тестов и ускорение их поддержки von SQALab
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
SQALab1.2K views
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования von SQALab
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
SQALab774 views
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J... von SQALab
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
SQALab800 views
Continuous performance testing von SQALab
Continuous performance testingContinuous performance testing
Continuous performance testing
SQALab645 views
Конфиги вместо костылей. Pytestconfig и зачем он нужен von SQALab
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
SQALab717 views
Команда чемпионов в ИТ стихии von SQALab
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
SQALab727 views
API. Серебряная пуля в магазине советов von SQALab
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
SQALab539 views
Добиваемся эффективности каждого из 9000+ UI-тестов von SQALab
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
SQALab580 views
Делаем автоматизацию проектных KPIs von SQALab
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
SQALab361 views
Вредные привычки в тест-менеджменте von SQALab
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
SQALab655 views
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации von SQALab
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
SQALab453 views
Как hh.ru дошли до 500 релизов в квартал без потери в качестве von SQALab
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
SQALab722 views
Стили лидерства и тестирование von SQALab
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
SQALab463 views
"Давайте не будем про качество" von SQALab
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
SQALab543 views
Apache.JMeter для .NET-проектов von SQALab
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
SQALab715 views
Тестирование геолокационных систем von SQALab
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
SQALab340 views
Лидер или босс? Вот в чем вопрос von SQALab
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
SQALab600 views
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут... von SQALab
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
SQALab1.6K views

Система генерации чек-листов для регрессионного тестирования на основе анализа рисков

  • 1. Система генерации чек-листов для регрессионного тестирования на основе анализа рисков или QA паранойя Солодов Владимир Superjob, Москва, Россия
  • 3. Постановка задачи Функционал, связанный с изменением, положительные кейсы, 15% критичных багов Функционал, связанный с изменением, кейсы на предельные значения и отрицательные кейсы, 40% критичных багов Функционал, не связанный с изменением, 45% критичных багов
  • 4. Мы хотим • получить набор тесткейсов, проведение которых гарантировало бы нахождение ВСЕХ(!) багов, привнесенных конкретным изменением кода • получить приоритеты тесткейсов, чтобы сначала обнаружить наиболее критичные баги, привнесенные с изменениями, а затем находить наименее критичные баги Постановка задачи
  • 5. Природа багов Задание: Вывести ссылку «Ссылка 10» красным цветом
  • 6. Природа багов Изменение 1. Программист поменял код HTML на странице: он обрамил текст ссылки в тег <font color=”red”> и забыл его закрыть. Все работает, ссылка корректно окрашена. Расширяем контекст. Ниже в верстке есть поп-ап, который появляется при клике на ссылку «Ссылка3», Текст в попапе окрашивается в цвет, который мы установили для ссылки.
  • 8. Природа багов Изменение 2. Программист поменял существующий стиль программы, добавил в css-стиль строку color: red и убрал style:linked. Расширяем контекст. В шаблонах других странице данным стилем обозначены все ссылки на данную страницу, а их текст мы хотим оставить прежним.
  • 9. Природа багов Изменение 3. Программист добавил в css новый стиль, новый идентификатор, для которого корректно указал цвета. Расширяем контекст. С данным стилем, идентификатором был связан код JS, который сейчас не работает.
  • 10. Риски реализации Риск – вероятное событие, приводящее к негативным последствиям. Величина риска = (вероятность) x (ущерб) = P x H Ущерб Вероятность 1 2 3 1 1 2 3 2 2 4 6 3 3 6 9
  • 11. Риски реализации Гипотезы, которые мы приняли • изменения, вносимые в систему однозначно определяют риски, которые могут материализоваться в системе, • риски, связанные с каждым изменением могут быть устойчивыми (регулярно повторяющимися), если взаимосвязи элементов, в которых вносятся изменения будут сохранять инвариантность (постоянство), то есть изменения должны касаться изменения частей системы, а не характера их взаимосвязей Одним из таких инвариантов в компьютерной программе является архитектура приложения.
  • 12. Инициализация. Шаги 1,2 из 4 Шаг 1. На основе архитектуры приложения выделить основные компоненты (элементы архитектуры: шаблоны, базы данных, модели, таблица стилей) Шаг 2. Для каждого компонента выделить изменения, которые вносятся разработчиком 1. Изменения CSS (styles.css, blitz, ViewModel) 2. Исправление JS (файлы плагинов, blitz, ViewModel) 3. DOM-HTML (blitz). Добавление элемента в дерево 4. DOM-HTML (blitz). Изменение существующего элемента 5. DOM-HTML (blitz). Удаление элемента из дерева 6. Изменения в БД. Добавление нового поля 7. Изменения в БД. Удаление поля 8. Изменения в БД. Исправлен запрос 9. Изменение PHP скриптов (Контроллер, VM). Логика
  • 13. Инициализация. Шаги 3,4 из 4 Шаг 3. Для каждого изменения можно определить риски, следующие из здравого смысла и определить им вероятность возникновения 0,5, вред определить из логики приложения. Шаг 4. Для каждого риска предусмотреть тест-кейсы, которые должны быть выполнены, чтобы данный риск был протестирован. Риск Симптом 1 Стиль наследует данные, которые конфликтуют с версткой Верстка нового элемента некорректна 2 Стиль используется другими элементами Верстка сопряженных элементов некорректна 3 Атрибуты наследуются другими элементами Верстка сопряженных элементов некорректна 4 Некорректно работают JS-обработчики Не работают скрипты добавления, модификации элементов DOMa
  • 14. Алгоритм работы Шаг 1. Отметить какие изменения были внесены в систему. Шаг 2. Выбрать риски для изменений, которые отмечены и отранжировать их в порядке убывания параметра P x H, для данных рисков уже заранее определены тесткейсы Шаг 3. Проверить, риски в порядке убывания параметра Шаг 4. Отметить риски, которые материализовались, зафиксировать баги в системе. Шаг 5. Пересчитать вероятности рисков с учетом того, какие материализовались, а какие – нет.
  • 15. Обучение системы В режиме обучения необходимо проводить регрессионные испытания, изменения вносятся, если: • обнаруживается новый вид изменений в системе (такое изменение связано либо с изменением архитектуры, либо с неправильным исходным разбиением), • для изменения обнаруживается новый риск, который ранее не был учтен, в этом случае добавляется новый риск
  • 19. Демонстрация работы 1. Добавлено поле Expirience в таблицу - Изменены запросы на страницах, использующих поле - Меняется валидатор значений - Поле добавляется в фиды - Добавляется проверка на обязательность поля - Поле участвует в полях печати и т.д. 2. Добавлен элемент DOM на страницы Создания, Редактирования, Отображения вакансии - Добавляется клиентская валидация поля - Добавляется серверная валидация поля - Добавляется поле в БД - Добавляется поле в фид поисковой машины - Добавляется поле в админке с валидацией - Добавляется поле в бланк для печати - Добавляется поле с хинтом - Поле добавляется в поисковые запросы и параметры рассылок 3. Изменен обработчик JS для отображения поля в бланке вакансии для соискателя - Изменение DOM, добавление, удаление, изменение элемента - Изменение клиентской логики, отображение с прописной/строчной буквы
  • 21. Преимущества 1. Сокращается время тестирования проекта. Тескткейсы приоретизированы 2. До начала изменений разработчики могут увидеть как будет тестироваться данный функционал 3. До начала проектирования у аналитика есть опорные точки, по которым он может учесть проблемы, которые уже возникали в проекте, а тестировщик может выполнять тестирование требований 4. Появляется «память проекта», в которой учтены проблемы, возникавшие ранее. 5. Формируется модель проекта, позволяющая оценить взаимосвязь архитектурных элементов, таким образом, тестирование переносится в фазу обратной связи
  • 22. Недостатки 1. На первом этапе обучения не все кейсы получают корректные приоритеты. Эта проблема проявляется в самом начале, но очень быстро устраняется в процессе работы системы. Причем устраняется значительно с меньшими затратами ресурсов и времени, чем, например, в тех же автотестах. 2. В начале работы системы не все кейсы учтены. Эффективность работы системы во многом зависит от квалификации инженера, выполняющего разбиение. Однако, это компенсируется тем, что в дальнейшем для систем с одной архитектурой база рисков уже полностью готова и требует только незначительной настройки приоритетов кейсов. 3. Изменение архитектуры проекта влечет необходимость изменить поменять набор рисков и тесткейсов. Архитектура проекта меняется не настолько часто и является скорее исключением, чем правилом.
  • 23. Спасибо за внимание, и помните, «Работа должна доставлять удовольствие»