Релиз глобального обновления v. 3.0 перенесен на конец октября
Библия QA это почти 300 страниц обновляемой смеси ответов на вопросы с реальных собеседований на QA, полезных ресурсов и статей, перевода интересного контента с зарубежных ресурсов и агрегации материала с отечественных. Хочу подчеркнуть, что прилагаемые к вопросам ответы - лишь мой конспект, что означает, что ответственность за свои знания несёте вы сами и каждую изучаемую тему всегда стоит рассматривать с разных углов (в разных источниках). В данный момент этот материал больше нацелен, во-первых, на начинающих, т.к. опытных коллег учить мне ещё опыта не хватит, и, во-вторых, на людей с английским до intermediate, т.к. моих знаний английского не хватает для качественного перевода сложных текстов, а у кого хватает - те и в оригинале почитают. Но, в целом, материал будет полезен всем грейдам, тем более что часть его далеко не начального уровня. Что касается источников, то список не полный. В первоначальном конспекте для себя я не сохранял ссылки, так что, если увидели авторский контент, прошу не ругаться и связаться со мной.
Просмотр через github:
для того, чтобы увидеть материал целиком, нужно открыть первую или вторую часть (Manual part 1 или 2) в файлах репозитория (в мобильной версии нужно сначала нажать View code). Пришлось их разбить ввиду ограничения на размер одного файла в 1 мб.
В виде веб-сайта:
https://vladislaveremeev.github.io/ (оглавление кликабельно)
Скачать в удобном формате:
текстовые файлы доступны для скачивания в разделе релизов
- ----- Введение (F.A.Q.) ----- 11
- Хочу войти в айти (в разработку) через тестирование, хороший план? 11
- Хочу зарабатывать много денег, мне сюда? 11
- Хочу работать удаленно джуном, это возможно? 11
- Что реально должен знать junior? А что спросят на собеседовании? 11
- С чего начать обучение? 13
- Какие есть полезные ресурсы кроме этого? 13
- Основные инструменты тестировщика? 17
- Как вообще происходит процесс найма? 20
- Качества, которыми нужно обладать тестировщику? 20
- Как составить резюме? 21
- Как проходить собеседование? 22
- Ошибки в работе у начинающих тестировщиков? 24
- Я – единственный тестировщик на проекте. Что делать? 25
- ----- HR-часть ----- 27
- Вопросы с реальных собеседований с этапа HR 27
- ----- Теоретическая часть ----- 28
- Общие понятия 28
- Что означает тестирование ПО? 28
- Почему требуется тестирование ПО? 28
- Что означает обеспечение качества (Quality Assurance - QA) при тестировании ПО? 28
- Что означает контроль качества (Quality Control - QC) при тестировании ПО? 28
- Что означает качество ПО? (Software Quality) 28
- Объясните отличия в QA, QC и тестировании 29
- Разница между верификацией и валидацией? (Verification и Validation) 30
- Принципы тестирования? 31
- Критерии выбора тестов? 33
- Что такое импакт анализ (анализ влияния, Impact Analysis)? 36
- Что подразумевается под тестовым покрытием? (Test Coverage) 36
- Что такое модель зрелости тестирования (TMM - Test Maturity Model)? 37
- Что такое тестирование со сдвигом влево? (Shift left testing) 39
- Что такое независимое тестирование? (Independent testing) 39
- В чем разница между превентивным и реактивным подходами в тестировании? (Preventative and Reactive approaches) 40
- Перечислите типичные возможные обязанности инженера по обеспечению качества? 40
- Что такое аудит качества? 41
- Почему тестирование делится на отдельные этапы? 41
- Почему невозможно полностью протестировать ПО? 41
- Как вы тестируете продукт, если требования еще не зафиксированы? 41
- Как вы узнаете, было ли создано достаточно тестов для тестирования продукта? 41
- Как вы понимаете инспекцию? 41
- Какие есть роли/должности в команде? 42
- Опишите жизненный цикл продукта по этапам - какие участники на каждом этапе, какие у них роли? Какие артефакты на каждом этапе? 43
- Кто такой SDET? 44
- Что такое тестирование как сервис? (TaaS – testing as a Service) 45
- Что подразумевается под тестовой средой? (Test Environment/Test Bed) 45
- Что подразумевается под тестовыми данными? 46
- Основные фазы тестирования? 46
- Подробнее про бета-тестирование? 46
- Что означает пилотное тестирование? (Pilot) 46
- В чем отличие build от release? 47
- Что такое бизнес – логика (domain)? 47
- ----- Виды тестирования ----- 48
- Какие существуют основные виды тестирования ПО? 48
- Типы тестирования? (White/Black/Grey Box) 50
- Что означает тестирование черного ящика? 50
- Что означает тестирование белого ящика? 51
- Что означает тестирование серого ящика? (Grey box) 52
- Основные отличия White/grey/black box? 53
- Что такое пирамида / уровни тестирования? (Testing Levels) 53
- Что такое деструктивное/разрушающее/негативное тестирование? (DT - Destructive testing) 54
- Что такое недеструктивное/неразрушающее/позитивное тестирование? (NDT – Non Destructive testing) 55
- Что подразумевается под компонентным/модульным/юнит тестированием? (Component/Module/Unit testing) 55
- Что подразумевается под интеграционным тестированием? (Integration testing) 58
- Разница между Unit testing и Integration testing? 59
- Что такое системное интеграционное тестирование? (SIT - System Integration testing) 60
- Что подразумевается под инкрементальным подходом? (Incremental Approach) 60
- Что подразумевается под подходом снизу-вверх? (Bottom-Up Approach) 60
- Что подразумевается под подходом сверху-вниз? (Top-Down Approach) 61
- Что подразумевается под гибридным/сэндвич-подходом? (Sandwich Approach) 61
- Что подразумевается под подходом Большого взрыва? (Big Bang Approach) 61
- В чем разница между тест-драйвером и тест-заглушкой? (Test Driver and Test Stub) 62
- Что подразумевается под системным тестированием? 62
- Можем ли мы провести системное тестирование на любом этапе? 63
- Что такое функциональное тестирование? 63
- Что такое тестирование совместимости/взаимодействия? (Compatibility/Interoperability testing) 63
- Что такое тестирование на соответствие? (Conformance/Compilance testing) 64
- Что такое нефункциональное тестирование? 65
- Основные понятия в тестировании производительности? 66
- Тестирование производительности клиентской части и серверной, в чем разница? 67
- В общем виде что такое тестирование производительности? 67
- Что такое тестирование емкости/способностей? (Capacity) 69
- Что означает тестирование масштабируемости? (Scalability) 69
- Расскажите о стрессовом тестировании? (Stress testing) 70
- Расскажите о нагрузочном тестировании? (Load) 70
- Что такое объемное тестирование? (Volume testing) 71
- Тестирование выносливости/стабильности/надежности (Soak/Endurance/Stability/Reliability testing) 71
- Что такое спайк/шиповое тестирование? (Spike) 71
- Что такое тестирование устойчивости? (Resilence) 71
- Что такое тестирование времени отклика? (Response time testing) 71
- Что такое Ramp тестирование? 71
- Что такое тестирование хранилища? (Storage testing) 71
- Что такое тестирование на отказ и восстановление? (Failover and Recovery testing) 72
- Что вы знаете о Тестировании удобства пользования? (Usability testing) 73
- Отличия тестирование на удобство пользования и тестирования доступности? (Usability Vs. Accessibility testing) 73
- Что такое тестирование интерфейса? 75
- Что такое тестирование рабочего процесса/воркфлоу? (Workflow testing) 76
- Что вы знаете о пользовательском приемочном тестировании? (UAT – User Acceptance testing) 76
- Что такое эксплуатационное приемочное тестирование? (OAT - Operational Acceptance testing) 76
- Расскажите об инсталляционном тестировании? 77
- Что вы знаете о тестировании безопасности? (Security and Access Control testing) 79
- Что означает оценка уязвимости/защищенности? (Vulnerability Assessment) 81
- Расскажите подробнее о тестировании на проникновение? (Penetration testing) 81
- Отличия Vulnerability Assessment от Penetration testing? 82
- Что такое Fuzz тестирование? 83
- Можно ли отнести тестирование безопасности или нагрузочное тестирование к функциональным видам тестирования? 84
- Что вы знаете о конфигурационном тестировании? (Configuration testing) 84
- Что подразумевается под проверкой на дым / дымовым тестированием? (Smoke testing) 85
- Что такое тестирование встряхиванием? (Shake out testing) 86
- Что подразумевается под санитарным тестированием? (Sanity testing) 87
- Отличие санитарного тестирования от дымового? (Sanity vs Smoke testing) 87
- Что вы знаете про регрессионное тестирование? (Regression testing) 87
- Типы регрессии по Канеру? 90
- Объясните, что такое тестирование N+1? 90
- Что означает подтверждающее тестирование? (confirmation/re-testing) 90
- В чем разница между повторным и регрессионным тестированием? 90
- Что вы знаете о тестировании сборки? (Build Verification Test) 91
- Что такое тестирование потоков? (Thread testing) 91
- Что такое тестирование документации? (Documentation testing) 92
- Какие вы знаете уровни тестирования данных? 92
- Что такое подкожный тест? (Subcutaneous test) 92
- Расскажите о локализации, глобализации и интернационализации? (Localization/ globalization/internationalization testing) 93
- Что такое исследовательское тестирование? (Exploratory testing) 94
- Что вы знаете о турах Виттакера в исследовательском тестировании? 95
- Что такое Свободное или Интуитивное тестирование? (Adhoc) 95
- Что вы знаете о мутационном тестировании? (Mutation testing) 97
- Что означает механизм тестирования по ключевым словам? (Keyword Driven testing Framework) 98
- Что вы знаете о тестировании интерфейса прикладного программирования (API - Application Programming Interface)? 98
- Как протестировать API без документации/черным ящиком? 100
- Тестирование клиентской части и серверной, в чем разница? (Frontend testing Vs. Backend testing?) 101
- Что подразумевают под эталонным тестированием? (Baseline testing) 102
- В чем разница между Baseline и Benchmark testing? 102
- Что такое параллельное/многопользовательское тестирование? (Concurrency/Multi-user testing) 102
- Как вы думаете, что такое тестирование на переносимость? 102
- Что такое тестирование графического интерфейса/визуальное тестирование? (GUI - Graphical User Interface testing) 103
- Что такое A/B тестирование? 104
- Что означает сквозное тестирование? (E2E - End–to–End) 104
- В чем разница между E2E и системным тестированием? 104
- Что такое параллельное тестирование? (Parallel testing) 105
- ----- Тест дизайн ----- 107
- Тест дизайн? (Test Design) 107
- Перечислите известные техники тест-дизайна? 107
- Что такое статическое тестирование, когда оно начинается и что оно охватывает? 111
- Что такое динамическое тестирование, когда оно начинается и что оно охватывает? 111
- Какие виды Review вы знаете? 112
- Что вы знаете о Data Flow testing? 112
- Что вы знаете о Control Flow testing? 112
- Что такое Loop coverage? 113
- Что такое Race coverage? 114
- Тестирование пути и тестирование базового пути? (Path testing & Basis Path testing) 114
- Что вы знаете о Statement coverage? 115
- Что вы знаете о Decision coverage? 116
- Что вы знаете о Branch coverage? 116
- Что вы знаете о Condition coverage? 117
- Что вы знаете о FSM coverage? 117
- Что такое Function coverage? 117
- Что такое Call coverage? 117
- Что означает LCSAJ coverage? 117
- Сравнение некоторых метрик 118
- Что такое Equivalence Partitioning? 118
- Что такое Boundary Value Analysis? 118
- Что такое Error Guessing? 118
- Что такое Cause/Effect? 119
- Что такое Exhaustive testing? 119
- Какие вы знаете комбинаторные техники тест-дизайна? 119
- Что такое тестирование ортогональных массивов? (OAT - Orthogonal Array testing) 121
- Что такое Domain analysis/testing? 122
- Что такое Cyclomatic Complexity в тестировании ПО? 123
- Что такое State Transition testing? 124
- Что такое Scenario (use case) testing? 126
- Что такое Decision Table testing? 127
- Что такое Random testing? 128
- Что такое Syntax testing? 129
- Что вы знаете о Classification tree method? 129
- Как мы узнаем, что код соответствует спецификациям? 130
- Что включает в себя матрица отслеживания требований? (RTM - Requirement Traceability Matrix) 130
- В чем разница между Test matrix и Traceability matrix? 131
- Что такое анализ GAP? 131
- Что такое граф причинно-следственных связей? (Cause Effect Graph) 131
- В чем разница между предугадыванием ошибок и посевом? (Error guessing and error seeding) 131
- Стили тестов? 131
- Техники тестирования требований? 131
- Что такое эвристики? 132
- ----- Тестовые артефакты и документация (Test Deliverables/TestWare/test artifacts) ----- 135
- Виды тестовой документации? 135
- Какие отличия у тест-кейса высокого и низкого уровня? 138
- Отличия Test Suite от Test Scenario? 138
- Какие отличия у плана тестирования и стратегии тестирования? 138
- В чем разница между тест-кейсом и чек-листом? 138
- Чем Test case отличается от сценария тестирования? 139
- Виды тест планов? 139
- Что является основой для подготовки плана приемки? (PAP - Product Acceptance Plan) 140
- Что такое тест-анализ/основа/база тестирования и условия тестирования ? (Test Analysis/Test Basis/Test conditions) 140
- Что такое документ бизнес-требований (BRD)? 141
- Что вы знаете о требованиях (уровни/виды и т. д.)? 141
- Расскажите, какие есть требования к самим требованиям? 143
- ----- Дефекты и ошибки ----- 145
- Что такое дефект? 145
- Классы дефектов? 145
- Какие есть категории дефектов? 145
- Error/Mistake/Defect/Bug/Failure/Fault? 145
- Каково содержание эффективного сообщения об ошибке? 146
- Несколько ключевых моментов, которые следует учитывать при написании отчета об ошибке? 146
- Серьезность и Приоритет Дефекта (Severity & Priority) 147
- Может ли быть высокий severity и низкий priority? А наоборот? 148
- Жизненный цикл дефекта? 149
- Что такое утечка дефектов и релиз бага? (Bug Leakage & Bug Release) 150
- Что означает плотность дефектов при тестировании ПО? 150
- Что означает процент обнаружения дефектов при тестировании ПО? 150
- Что означает эффективность устранения дефектов при тестировании ПО? (DRP) 150
- Что означает эффективность Test case в тестировании ПО? (TCE) 151
- Возраст дефекта в тестировании ПО? 151
- Что такое принцип Парето в тестировании ПО? 151
- Каковы различные способы применения принципа Парето в тестировании ПО? 151
- В чем основное отличие отладки от тестирования? (Debugging Vs. Testing) 151
- Почему в программном обеспечении есть ошибки? 151
- Что вы будете делать, если во время тестирования появится ошибка? 151
- Как вы справляетесь с невоспроизводимой ошибкой? 151
- Если продукт находится в производстве и один из его модулей обновляется, то необходимо ли провести повторную проверку? 152
- Что такое анализ рисков? 152
- Что такое скрытый дефект? (Latent defect) 152
- Что такое маскировка ошибок, объясните примером? 152
- Категории/подходы к отладке? (Debugging approaches) 152
- Что такое Эффективность удаления дефектов? (DRE - Defect Removal Efficiency) 153
- Что такое сортировка дефектов? (Bug triage) 153
- ----- SDLC и STLC ----- 154
- Что вы знаете о жизненном цикле разработки ПО? (SDLC - Software Development Lifecycle) 154
- Что такое цикл/колесо Деминга? (Deming circle/cycle/wheel) 155
- Модели разработки ПО? 155
- Что такое Agile? 160
- Что такое Scrum? 163
- Какие вообще особенности у тестирования в Scrum? 165
- В чем отличие Kanban от Scrum? 167
- Что знаете о User stories в гибких подходах к разработке? 167
- Что значит жизненный цикл тестирования ПО? (STLC – Software Testing Lifecycle) 168
- Что вы знаете о техниках оценки теста? (Test Estimation) 170
- В чем разница между SDLC и STLC? 170
- Что такое быстрая разработка приложений? (RAD - Rapid Application Development) 170
- Что такое разработка через тестирование (TDD - Test Driven Development)? 171
- Что такое Value Driven Testing (тестирование на основе ценности)? 171
- TDD в Agile Model Driven Development (AMDD) 173
- Тестирование на основе моделей (MDD - Model-driven Development) 173
- Тестирование на основе данных (DDT - Data Driven testing) 174
- Тестирование на основе риска (RBT - Risk Based Testing) 174
- Что вы знаете о потоковом тестировании? (BFT — Business Flow Testing) 175
- В чем разница между coupling и cohesion? 175
- ----- Тестирование в разных сферах/областях (testing different domains) ----- 177
- Что такое веб-тестирование и как его производить? 177
- Тестирование банковского ПО 182
- Тестирование электронной коммерции (eCommerce) 183
- Тестирование платежного шлюза (Payment Gateway) 186
- Тестирование систем розничной торговли (POS - Point Of Sale) 187
- Тестирование в сфере страхования (Insurance) 189
- Тестирование в сфере телекоммуникаций (Telecom) 192
- Тестирование протокола: L2 и L3 OSI 193
- Тестирование интернета вещей (IoT - Internet of Things) 195
- Что такое облачное тестирование? (Cloud testing) 197
- Что такое тестирование сервис-ориентированной архитектуры? (SOA - Service Oriented Architecture) 199
- Что такое тестирование планирования ресурсов предприятия? (ERP - Enterprise Resource Planning) 202
- Тестирование качества видеосвязи WebRTC-based сервиса видеоконференций 203
- Что такое тестирование ETL? 203
- ----- Мобильное тестирование ----- 205
- Каковы особенности в тестировании мобильных приложений? 205
- В чем отличия тестирования мобильного приложения от десктопного? 205
- В чем отличия тестирования мобильного приложения от web? 206
- Как работает Android, какая у него архитектура? 207
- Что такое тестирование прерываний (Interrupt Testing)? Причем тут Activity Lifecycle? 209
- Как устроена iOS? 209
- Жизненный цикл iOS-приложения? 211
- Что вы знаете о симуляторах и эмуляторах? 214
- Типы мобильных приложений? 214
- Что основное проверить при тестировании мобильного приложения? 215
- Как быть с покрытием девайсов? 217
- Последнее обновление Android/iOS, что нового? 217
- Основные различия iOS и Android? 217
- Что такое Middleware? 218
- Виды жестов и т.п.? 220
- Как проверить использование процессора на мобильных устройствах? 221
- Что вы знаете о PWA? 221
- ----- Сети и около них ----- 222
- Что такое http? 222
- Компоненты HTTP? 222
- Методы HTTP-запроса? 223
- Что такое endpoint, ресурс? URI, URL, URN? 223
- Что такое веб-сервис/веб-служба? (WS - Web service) 225
- Отличие сервиса от сервера? 226
- Отличие сервиса от веб-сайта? 226
- Что такое REST, SOAP? В чем отличия? 226
- Что такое JSON, XML? 227
- Коды ответов/состояния сервера с примерами? (HTTP status codes) 228
- Почему ошибка 404 относится к 4** - клиентской, если по идее должна быть 5**? 233
- Какие еще бывают протоколы? 233
- TCP/IP это? 233
- Что такое куки (cookies)? Как их тестировать? 234
- Что такое Web Storage? 236
- В чем отличие статических и динамических веб-сайтов? 236
- Отличие stateless и stateful? 236
- Различия методов GET и POST? 237
- Клиент - серверная архитектура? 237
- Уровни OSI? 238
- Что вы подразумеваете под потоковыми медиа? (Streaming media) 239
- Основные команды Linux? 239
- Почему важно тестировать в разных браузерах? 241
- Адаптивный веб-дизайн vs. Отзывчивый веб-дизайн, в чем разница? (Adaptive Vs. Responsive) 242
- Как сервер узнает, с какого типа устройства/браузера/ОС/языка вы открываете веб-сайт? (Например, для Adaptive design) 243
- Чем отличается авторизация от аутентификации? 243
- Как работает авторизация/аутентификация? Как сайт понимает, что ты залогинен? 243
- Почему важно делать подтверждение e-mail при регистрации? 248
- Что такое кэш и зачем его очищать при тестировании? 248
- Что такое AJAX в вебе? 249
- Как работает браузер (коротко)? 249
- Как работает сотовая связь? 250
- Как работает подключение к Wi-Fi? 251
- ----- Базы данных ----- 252
- Базовые понятия? 252
- Может ли у ПО быть сразу несколько баз данных? 253
- Что такое SQL? 253
- Что вы знаете о NoSQL? 253
- Что такое транзакция? 253
- Что такое нормальные формы? 254
- Понятие хранимой процедуры? 255
- Понятие триггера? 255
- Что такое индексы? (Indexes) 255
- Какие шаги выполняет тестировщик при тестировании хранимых процедур? 256
- Как бы вы узнали для тестирования базы данных, сработал триггер или нет? 256
- Как тестировать загрузку данных при тестировании базы данных? 256
- Основные команды SQL? 256
- Подробнее о джойнах? (Join) 261
- Типы данных в SQL? 261
- Шпаргалки SQL 262
- ----- Практическая часть ----- 265
- Дана форма для регистрации. Протестируйте. 265
- Определение серьезности и приоритета 268
- Определение граничных значений и классов эквивалентности 268
- Логические задачи 268
- Еще примеры 269
- Набор небольших задач по SQL 270
- Тестирование чашки для кофе 272
- Тестирование карандаша 273
- HR: Как вы будете решать конфликты между членами вашей команды? 273
- HR: Что делать, если разработчик утверждает, что найденный дефект таковым не является? 273
- Вот тебе комп и работающий сайт. Сделай мне 401-ю ошибку 273
- Пришел баг из продакшена, что делаем? 273
- Оценить время на тестирование лендинга 274
- ----- Источники ----- 275
- ----- Поблагодарить автора ----- 277