Данный курс дает общее представление о тестировании программного обеспечения. В нем совмещается получение необходимых фундаментальных знаний и практических навыков, необходимых для начала работы в качестве тестировщика ПО. В ходе обучения слушатели окунуться в работу тестировщика, пройдут все стадии тестирования проекта и изучат особенности тестирования на разных стадиях разработки. Познакомятся с различными методами и видами тестирования, научатся создавать правильные наборы тестов и документировать их, поймут принципы работы с системами отслеживания ошибок.
Знания и умения, полученные в результате обучения
В ходе обучения слушатели:
-
получат представление о работе тестировщика
-
освоят основную терминологию
-
начнут понимать процесс тестирования программного обеспечения и жизненный цикл программного продукта
а также научатся:
-
разрабатывать тестовые планы (Test Plan) и тестовые примеры (Test Case)
-
выполнять тестирование в соответствии с тестовым планом
-
обнаруживать ошибки при выполнении тестирования и грамотно документировать их
работать с системами отслеживания ошибок (багтрекерами)
-
работать в команде с разработчиками
Требования к начальному уровню знаний
Курс ориентирован на квалифицированных пользователей, имеющих опыт работы в MS Windows (желательно иметь представление об администрировании Windows). Знание английского языка облегчает усвоения материала курса.
Программа курса
ЗАНЯТИЕ 1. Основные понятия, цели и задачи тестирования. Тестирование требований к ПО.
-
Жизненный цикл разработки программного обеспечения
-
Основные понятия тестирования
-
Цели и задачи тестирования
-
Полный цикл тестирования
-
Тестирование требований к ПО
Практическая работа: Анализ требований к интерфейсу и функциональности тестового приложения. Составление списка неточностей и недостатков и списка вопросов по их уточнению.
ЗАНЯТИЕ 2. Методы и виды тестирования
-
Методы тестирования белого ящика
-
Методы тестирования черного ящика
-
Виды тестирования:
-
Функциональное тестирование
-
Регрессионное тестирование
-
Тестирование безопасности
-
Тестирование удобства использования
-
Тестирование производительности
-
Тестирование совместимости
Практическая работа: Выбор методов и видов тестирования тестового приложения и обоснование своего выбора.
ЗАНЯТИЕ 3. Тестовая документация: Test Plan и Test Case
-
Документы, создаваемые в ходе жизненного цикла проекта
-
Тестовые требования
-
Тестовые планы (Test Plan)
-
Подготовка наборов тестовых данных (Test Case): правила написания, степень детализации, независимость
-
Составление отчетов по результатам тестирования
Практическая работа: Составить план тестирования тестового приложения.
ЗАНЯТИЕ 4-5. Позитивные и негативные тесты. Классы данных для тестов. Классы эквивалентности. Покрытие программного кода
-
Понятие позитивных и негативных тестов
-
Допустимые данные
-
Повторный ввод данных. Неверные данные
-
Устойчивость системы
-
Нештатные состояния среды выполнения
-
Проверка на граничных значениях
-
Проверка нулевого значения
-
Классы эквивалентности
-
Понятие покрытия. Уровни покрытия
-
Покрытие по строкам программного кода
-
Уменьшение количества тестовых примеров
-
Анализ покрытия
Практическая работа: Написание набора Test Cases для тестирования функциональности тестового приложения.
ЗАНЯТИЕ 6. Системы отслеживания ошибок (багтрекеры)
-
Написание правильного отчета об ошибке
-
Классификация типов ошибок, понятие приоритета, критичности
-
Жизненный цикл отчета об ошибке
Практическая работа: Написание нескольких отчетов об ошибках, найденных в тестовом приложении. Работа с уже имеющимися отчетами в системе отслеживания ошибок.
ЗАНЯТИЕ 7. Тестирование функциональности программного обеспечения. Приемочное тестирование. Регрессионное тестирование
-
Функциональные требования, предъявляемые к системе
-
Тестовые требования, соответствующие функциональным требованиям
-
Приемочное тестирование
-
Цели и задачи регрессионного тестирования
-
Виды регрессионного тестирования
-
Управляемое регрессионное тестирование
Практическая работа: Усовершенствование своего набора Test Cases для тестирования функциональности тестового приложения. Выбор тестов для приемочного тестирования из полного списка тестов. Выбор тестов для регрессионного тестирования.
ЗАНЯТИЕ 8. Тестирование пользовательского интерфейса (GUI)
-
Задачи и цели тестирования пользовательского интерфейса
-
Функциональное тестирование пользовательского интерфейса
-
Тестирование удобства пользовательского интерфейса
Практическая работа: Дополнение набора Test Cases тестами для тестирования пользовательского интерфейса.
ЗАНЯТИЕ 9. Конфигурационное тестирование
-
Цели и задачи конфигурационного тестирования
-
Особенности и подходы к конфигурационному тестированию
-
Тестовое окружение
-
Тестирование совместимости
Практическая работа: Описание подхода к конфигурационному тестированию тестового приложения. Выбор конфигураций для полного, приемочного и регрессионного тестирования тестового приложения.
ЗАНЯТИЕ 10. Тестирование документации. Работа с командой разработки
-
Цели и особенности тестирования документации
-
Взаимодействие с командой разработки
-
Методы и средства завоевание авторитета
Итоговая работа: Проведение тестирования тестового приложения в соответствии с написанным Test Plan и по созданному полному набору Test Cases. Описание всех найденных ошибок. Составление отчета о проведенном тестировании.