В чем разница?
Эвристики — это простые правила или ментальные "короткие пути", основанные на опыте, которые помогают быстро решать проблемы. В тестировании это подсказки, помогающие решить, что и как проверять.
Мнемоники — это частный случай эвристик, созданный для легкого запоминания. Обычно это аббревиатура или фраза, где каждая буква или слово напоминает об определенном аспекте проверки.
Мнемоники для генерации тест-идей
Анализ продукта и планирование
SFDIPOT
Цель: Структурно изучить продукт.
- Structure, Function, Data, Interfaces, Platform, Operations, Time.
HEENA
Цель: Проверка сложных продуктов.
- History, Explore, Experiment, Note-taking, Analysis.
GO DaRE=M
Цель: Составление тест-плана.
- Goals, Outputs, Drivers and Resources, Experience, Motivations.
CIDTESTD
Цель: Высокоуровневое планирование.
- Customers, Information, Developer relations, Team, Equipment & tools, Schedule, Test items, Deliverables.
SCAMPER
Цель: Генерация креативных идей о продукте.
- Substitute, Combine, Adapt, Modify, Put to another use, Eliminate, Reverse.
Тестирование API
ICE OVER MAD!
Цель: Комплексная проверка API-эндпоинта.
- Interfaces, Components, Endpoints, Outputs, Variables, Exceptions, Responses, Methods, Arguments, Data.
PAPAS BE @ SFO
Цель: Проверка функциональности через API.
- Print, Accessibility, Performance, Alterations, Security, Business rules, Errors, @, Scale, Functional, Operability.
DEED HELP GC
Цель: Еще один чек-лист для API.
- Data, Experience, Environment, Dependencies, Header, Errors, Logic, Parameters, Groups, Cookies.
DVLA PC
Цель: Поддерживающие проверки API.
- Data, Validation, Limits, Authentication, Performance, Cookies.
Тестирование мобильных приложений
I SLICED UP FUN
Цель: Всестороннее тестирование мобильного приложения.
- Inputs, Store, Location, Interactions, Communications, Ergonomics, Data, Usability, Platform, Function, Updates, Network.
COP FLUNG GUN
Цель: Еще один чек-лист для мобильного тестирования.
- Connectivity, Orientation, Performance, Functions, Location, User Scenarios, Network, Gestures, Guidelines, Updates, Notifications.
MOBILE APP TESTING
Цель: Детальный чек-лист для мобильных приложений.
- Multi-touch, Orientation, Battery, Interruption, Location, Ergonomics, Audio, Performance, Persistence, Telephony, External hardware, Storage, Touch ID, In-app purchases, Network, Gestures.
PAOLO
Цель: Тестирование смены ориентации экрана.
- Portrait, And, Other, Landscape, Orientations.
Анализ требований и User Story
INVEST
Цель: Проверка качества User Story.
- Independent, Negotiable, Valuable, Estimable, Small, Testable.
CIRCUS MATTA
Цель: Ревью пользовательских историй и требований.
- Clear, Independent, Realistic, Concise, Unambiguous, Solution-Free, Measurable, Achievable, Testable, Threadable, Abstract.
W5HE (WWWWWH/KE)
Цель: Глубокий анализ требований через вопросы.
- Who, What, When, Where, Why, How, Examples.
Качество и атрибуты системы
CRUSSPIC STMPL
Цель: Оценка качественных характеристик системы.
- Capability, Reliability, Usability, Security, Scalability, Performance, Installability, Compatibility, Supportability, Testability, Maintainability, Portability, Localizability.
CAN I USE THIS
Цель: Тестирование Usability.
- Compliance, Accessibility, Neatness, Intuitive, User-friendly, Simple, Effective, Thoughtful, Helpful, Intelligent, Satisfying.
SPIES
Цель: Тестирование локализации.
- Surface, Punctuation, Icons, Error messages, Special characters.
Процесс тестирования
RCRCRC
Цель: Умный выбор тестов для регрессии.
- Recent, Core, Risky, Configuration, Repaired, Chronic.
DUFFSSCRA
Цель: Напоминание о техниках тест-дизайна.
- Domain, User-Cases, Flow, Function, State, Scenario, Combinations, Risk, Automatable.
FCC CUTS VIDS
Цель: Идеи для исследовательских туров.
- Function, Combination, Complex, Continuous, User, Testing, Scenario, Variation, Interrupt, Data, Stress.
SLIME
Цель: Приоритезация тестов.
- Security, Legal, Image, Mission, Economic.
MUTII
Цель: Общая эвристика для поиска тест-идей.
- Market, Users, Tasks, Information, Implementation.
Тестирование производительности
CCD IS EARI
Цель: Основные принципы нагрузочного тестирования.
- Concurrent users, Complexity, Data, Interruptions, Software, Environment, Architecture, Resources, Instrumentation.
IVECTRAS
Цель: Классификация видов нагрузочных тестов.
- Individual, Volume, Endurance, Concurrency, Throughput, Ramp, Abuse, Spike.
FIBLOTS
Цель: Построение модели нагрузки.
- Frequent, Intensive, Business critical, Legal, Obvious, Technically risky, Stakeholder mandated.
Баг-репорты, отчеты и оракулы
RIMGEA
Цель: Создание качественного баг-репорта.
- Reproduce, Isolate, Maximize, Generalize, Externalize, And Say It Clearly.
MCOASTER
Цель: Еще один чек-лист для баг-репорта.
- Mission, Coverage, Oracles, Actions, Status, Time, Environment, Risk.
FAILURE
Цель: Проверка качества сообщений об ошибках.
- Force, Appropriate, Informative, Light, User-centric, Recoverable, Elegant.
FEW HICCUPS
Цель: Тестовые оракулы (Как понять, что это баг?).
- Familiarity, Explainability, World, History, Image, Claims, Comparable Products, User's Desires, Product, Statutes.
PROOF
Цель: Написание отчета после сессионного тестирования.
- Past, Results, Obstacles, Outlook, Feelings.
Эвристики окончания тестирования
Подсказки, которые помогают ответить на вопрос "Когда можно прекращать тестировать?".
Эвристика «Время вышло!»
Суть: Мы останавливаемся, когда заканчивается выделенное время.
Проверочные вопросы: Получили ли мы достаточно информации о качестве? Не был ли срок искусственным? Что если мы пропустили критичный баг?
Эвристика пиньяты (The Piñata Heuristic)
Суть: Прекращаем "бить" систему, как только "выпала первая конфета" — найден первый серьезный баг.
Проверочные вопросы: Является ли этот баг действительно самым важным? Нет ли других, еще более критичных проблем?
Эвристика «мертвой лошади» (The Dead Horse Heuristic)
Суть: В системе так много багов, что продолжать нет смысла — всё равно всё будут переделывать.
Проверочные вопросы: Уверены ли мы, что не пропустим что-то еще более важное, если остановимся сейчас?
Эвристика «Задание выполнено» (Mission Accomplished)
Суть: Мы останавливаемся, когда ответили на все вопросы, которые ставили перед началом тестирования.
Проверочные вопросы: Не появились ли в процессе новые, более важные вопросы, на которые мы еще не ответили?
Эвристика «Я зашел в тупик!» (I Feel Stuck!)
Суть: Мы останавливаемся из-за препятствия: блокирующий баг, нет нужных данных или доступов.
Проверочные вопросы: Есть ли обходные пути? Можем ли мы попросить помощи у коллег? Может, стоит просто сделать перерыв и вернуться со свежим взглядом?