Какие IT компании бывают?
Топ IT компаний
Слайд 3
Виды IT компаний
Продуктовые
Аутсорс
Аутстаф
Слайд 5
Роли в IT проэктах
Project manager
Product manager
Sales manager
Team lead
Developer
QA
CTO
Системный
администратор
Слайд 6
QA
Junior QA
Middle QA
Senior QA
Lead QA
Automation QA
SDET (software developer
engineer in test)
Слайд 7
Что такое тестирование
Тестирование – это проверка соотвецтвия между
заявлеными требованиями и реальной работой ПO.
В широком смысле, тестирование –
это одна из техник контроля качества (Quality Control), которая включает планирование, составление тестов, непосредственно выполнение тестирования и анализ полученных результатов.
Слайд 8
Причины появления дефектов
Дефект– это отклонение фактического результата
(actual result) от ожидаемого результата (expected result).
По ISTQB:
- error (ошибка в коде, которая найдена при статическом анализе кода, т.е. не запуская его на выполнение)
- defect (ошибка найденная при тестирование продукта)
- failure (остановка работоспособности системы изза дефекта). Но это уже другой вопрос получается
Дефекты появляются потому что люди склонны ошибаться, существует нехватка времени, сложность кода, сложность инфраструктуры.
Слайд 9
Таблица уровней возникновения дефектов
Слайд 11
Когда тестирование должно быть окончено
Для принятия решения о
достаточном объеме тестирования, необходимо принимать во внимание уровень рисков,
включая технические риски, риски безопасности и бизнес риски, а так же проектные ограничения, такие как время и бюджет.
Сроки установленые заранее
Выполнение всех тест – кейсов (статус pass, либо метрики установленые в команде)
Достижение определеного тествого покрытия
Решение менеджмента
Слайд 12
Семь принципов тестирования
Принцип 1 – Тестирование демонстрирует наличие
дефектов Тестирование может показать, что дефекты присутствуют, но не
может доказать, что их нет. Тестирование снижает вероятность наличия дефектов, находящихся в программном обеспечении, но, даже если дефекты не были обнаружены, это не доказывает его корректности.
Принцип 2 – Исчерпывающее тестирование недостижимо Полное тестирование с использованием всех комбинаций вводов и предусловий физически невыполнимо, за исключением тривиальных случаев. Вместо исчерпывающего тестирования должны использоваться анализ рисков и расстановка приоритетов, чтобы более точно сфокусировать усилия по тестированию.
Слайд 13
Принцип 3 – Раннее тестирование
Чтобы найти дефекты как можно раньше, активности по тестированию должны быть начаты как можно раньше в жизненном цикле разработки программного обеспечения или системы, и должны быть сфокусированы на определенных целях.
Принцип 4 – Скопление дефектов Усилия тестирования должны быть сосредоточены пропорционально ожидаемой, а позже реальной плотности дефектов по модулям. Как правило, большая часть дефектов, обнаруженных при тестировании или повлекших за собой основное количество сбоев системы, содержится в небольшом количестве модулей.
Принцип 5 – Парадокс пестицида Если одни и те же тесты будут прогоняться много раз, в конечном счете этот набор тестовых сценариев больше не будет находить новых дефектов. Чтобы преодолеть этот “парадокс пестицида”, тестовые сценарии должны регулярно рецензироваться и корректироваться, новые тесты должны быть разносторонними, чтобы охватить все компоненты программного обеспечения, или системы, и найти как можно больше дефектов
Слайд 14
Принцип 6 – Тестирование зависит от контекста
Тестирование выполняется по-разному
в зависимости от контекста. Например, программное обеспечение, в котором критически важна безопасность, тестируется иначе, чем сайт электронной коммерции.
Принцип 7 – Заблуждение об отсутствии ошибок. Обнаружение и исправление дефектов не помогут, если созданная система не подходит пользователю и не удовлетворяет его ожиданиям и потребностям.
Слайд 15
Основной процесс тестирования
Планирование и управление
Анализ и проектирование
Внедрение и реализация
Оценка критериев выхода и создание отчетов
Действия по
завершению тестов
Слайд 16
Планирование и управление – это действия, направленные на
определение целей тестирования и описание задач тестирования для достижения
этих целей и миссии
Тестовое планирование основные цели:
- Определить обьем работы и определить риски проэкта, понять обьект тестирования.
Определить тестовый подход (техники тест дизайна, покрытие, взаимодействие с другими командами, критерии входа)
Создание тестовой стратегии
Определить тестовые ресурсы (количество людей, среду разработки)
Опеределить критерии выхода (exit criteria)
Слайд 17
Управление тестированием основные цели:
Мониторинг прогресса тестирования
Анализ результатов
тестирования
Предоставление информации о тестировании
Принимать решения на
основе собраной информации
Слайд 18
Анализ и проектирование
Анализ и проектирование тестов
- это деятельность, во время которой общие цели тестирования
материализуются в тестовые условия и тестовые сценарии.
- Создание тестовых сценариев.
- Проэктирование тестовых сред и инструментов тестирования
Слайд 19
Реализация и выполнение тестов
Во время реализации и выполнгения
мы берем наши тестовые сценарии и превращаем их в
tests cases и настраиваем наши test environment.
Основные цели реализации:
Создание и приоритезация test cases используя техники тест дизайна.
Создание test suits из test cases для эфективного выполнения тестов.
Настройка test environment
Слайд 20
Основные цели выполнения:
- Пройти все tests
suites и все test cases следую нашей тестовой стратегии.
Test cases можно проходить как manual так automation.
Сравнение фактических и ожидаемых результатов
Отчет о несоответствиях как об инцидентах и их анализ для установки причины (например, дефект в коде, в конкретных тестовых данных, в тестовом документе, или ошибка выполнения теста)
Повторение тестовых действий, результаты которых привели к каждому из несоответствий.
Слайд 21
Оценка критериев выхода и создание отчетов
Оценка критериев
выхода - это деятельность, где выполнение тестов оценивается согласно
определенным целям. Она должна быть выполнена для каждого уровня тестирования
Для оценки критериев выхода поставлены следующие основные задачи:
- Сверка протокола тестирования в сравнении с критериями выхода, определенными в плане тестирования
Анализ необходимости использования дополнительных тестов или изменения критериев выхода
Написание итогового отчета о тестировании для заинтересованных лиц
Слайд 22
Действия по завершению тестирования
Действия по завершению тестирования
собирают данные о завершенных испытаниях для объединения опыта, тестового
обеспечения, фактов и цифр. Действия по завершению тестирования происходят на тех этапах проекта, когда система программного обеспечения выпущена, тестирование завершено (или прервано), этап был завершен, или релиз по сопровождению был закончен.
Для действий по завершению тестирования поставлены следующие основные задачи:
- Проверка, что запланированные результаты достигнуты
- Закрытие отчетов об инцидентах или внесение изменений в записи по каждому из открытых инцидентов
Слайд 23
- Анализ полученных уроков для определения изменений,
необходимых для будущих релизов и проектов
- Использование собранной
информации для повышения зрелости процесса тестирования
Слайд 24
Психология тестирования
Вся психология основывается как независимый взгляд тестировщика.
Тестировщик
с определенной степенью независимости (лишенный предвзятости автора) часто более
эффективен при обнаружении дефектов. Однако независимость не является заменой знаний, поэтому и разработчики могут эффективно находить дефекты в собственном коде. Ниже определены несколько уровней независимости от низкого до высокого:
Слайд 25
• Тесты разработаны человеком, который написал тестируемую
программу (низкий уровень независимости)
• Тесты разработаны другими людьми
(например, из команды разработчиков)
• Тесты разработаны людьми из другой организационной группы (например, независимая группа тестирования) или специалистами-тестировщиками
• Тесты разработаны людьми из другой организации или компании (например, аутсорсинг или сертификация силами внешней организации)
Слайд 26
Quality Assurance and Quality Control
Assurance – гарантия
Слайд 27
Таким образом, мы можем построить модель иерархии процессов
обеспечения качества: Тестирование – часть QC. QC – часть
QA.