Голосов: 0
#1
Можно ли представить себе хорошего линуксового системного администратора, который не знает общую теорию операционных систем и сетей, не подозревает о существовании Windows и MacOS, не умеет пользоваться для настройки системы консолью так же хорошо, как графической оболочкой? Можно ли считать хорошим инженером-строителем человека, который не владеет сопроматом, не знает про современные строительные материалы и особенности их применения, даже если на текущем объекте строительства они не используются? Можно ли признать хорошим актёром того, кто день за днём играет одну и ту же роль, не знает о современных тенденциях в театральном искусстве и не пытается попробовать себя в других амплуа?
Хороший специалист должен обладать достаточно широкими знаниями. Да, он глубоко изучает какую-то одну тему, специализируется в каком-то направлении, но при этом он должен представлять себе общую картину своей профессиональной области. Если он не будет это делать -- мир уйдёт вперёд, его узкая тема окажется устаревшей и невостребованной, а он ничего другого не знает и не умеет.
Умение создавать автоматизированные тесты предполагает владение специализированными инструментами, которые так и называются "инструменты для автоматизации тестирования". Но знания хорошего специалиста должны охватывать всю область автоматизации. Какие вообще инструменты бывают? Для чего они предназначены? В какой ситуации следует (или наоборот не следует) использовать тот или иной инструмент? Как выбрать наиболее подходящий для решения задачи инструмент среди множества похожих?
И конечно же надо уметь делать хорошие автотесты. Да, сначала надо научиться понимать, чем "хорошие" автотесты отличаются от "плохих". А потом -- научиться делать "хорошие". Эти правила являются общими, независимыми от конкретного используемого инструмента.
Для тех, кто хочет расширить свой кругозор и получить общие фундаментальные знания в области автоматизации тестирования мы подготовили этот учебный курс.
1. Теория
Что такое "автоматизированный тест"?
Как автотест взаимодействует с тестируемой системой?
Фреймворки тестирования и драйверы
Жизненный цикл автотестов
Морально-физическая подготовка
Поддержка руководства и коллег
Реалистичные ожидания
2. Взаимодействие автотестов с тестируемой системой
Интерфейсы (API, CLI, GUI и другие)
Особенности работы с мобильными приложениями
"Удалённое" тестирование
Уровни взаимодействия (модульный, интеграционный, cистемный)
Комбинирование способов взаимодействия
Мульти-технологичные приложения
Язык написания тестов
3. Инструменты: классификация и обзор
Драйверы и надстройки
xUnit: есть ли альтернативы?
- Синаксический сахар
- Повышение уровня абстрактности
- Унификаторы
- Валидаторы
- Фреймворки
Супер-фреймворки
- Model-based testing
- Мутационное тестирование
- Pex
Комбайны
- Keyword-driven testing
- Behavior-driven testing
- Model-based testing
Инфраструктура
4. Правила разработки автотестов
- Тестовая лаборатория
- Эмуляторы смежных систем
- Сервер непрерывной интеграции
- Отчёты и оповещения
Подготовка
Разработка
- Выбор инструментов
- Пилотный проект
- Выбор сценариев для автоматизации
- Чем отличается тест-кейс от тестового сценария?
- Рекордеры: добро или зло?
Эксплуатация
- Критерии качества автотестов
- Фикстуры и сценарии
- Тестовые данные
- Формирование архитектуры тестов
- Шаблоны проектирования тестов
- "Самодельный фреймворк"
Организация тестов
- Анализ сбоев
- Протоколирование
- Видеозапись
- Отладка тестов
- Игнорирование тестов
- Повышение стабильности
- Рефакторинг
5. Нюансы
- Группировка тестов
- Упорядочение и зависимости
- Документирование автотестов
Автоматизация регрессионных тестов
Одноразовая автоматизация
Правило одной проверки
Простые и сложные сценарии
Ошибки первого и второго рода
Масштабируемость
Тестопригодность
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.