Ответ
Все виды тестирования важны, но их приоритет и необходимость определяются контекстом проекта, рисками и доступными ресурсами. Нет универсального "неважного" тестирования.
Как определяется приоритет: Приоритет основан на анализе рисков (вероятность возникновения дефекта * его влияние на бизнес и пользователей).
| Вид тестирования | Высокий приоритет, когда... | Может быть отложен/упрощен, когда... |
|---|---|---|
| Дымовое (Smoke) | После каждой сборки, перед запуском регресса. | При очень частых и небольших инкрементальных релизах (несколько раз в день). |
| Нагрузочное (Load) | Для высоконагруженных публичных сервисов (банки, маркетплейсы). | Для внутренних инструментов с десятками пользователей или на этапе MVP. |
| Юзабилити (Usability) | Для массовых B2C-продуктов, где UX — ключевое преимущество. | Для внутренних админ-панелей или B2B-решений, где функциональность первична. |
| Совместимости (Compatibility) | Для публичных веб-сайтов, мобильных приложений. | Для десктопного ПО под одну конкретную ОС. |
| Регрессионное (Regression) | Перед каждым релизом. Объем может варьироваться. | Может быть частично покрыто автоматизацией, чтобы сократить время ручных проверок. |
Пример принятия решения: Для MVP (Minimum Viable Product) стартапа критичны функциональное и дымовое тестирование, чтобы проверить работоспособность основной гипотезы. Нагрузочное и детальное юзабилити-тестирование могут быть отложены до привлечения первых пользователей и получения обратной связи.
Вывод: Стратегия тестирования — это всегда компромисс. Задача команды — осознанно расставлять приоритеты, фокусируясь на тестировании того, что представляет наибольший риск для бизнес-ценности продукта в текущий момент.
Ответ 18+ 🔞
Да ты послушай, что за дичь творится в этом мире тестирования! Все эти умники с диаграммами кричат: «Всё важно, всё нужно!» Ага, щас, прям как в том анекдоте про универсальный ключ — открывает всё, если долго ебаться.
Так вот, слушай сюда, разберём по полочкам, без этой вашей заумной пиздобратии.
Как на самом деле определяется, на что тратить время, а что — в пизду? Всё упирается в один простой вопрос: «Что хуйней накроется, если мы это не проверим, и сколько это будет стоить?» Вероятность пиздеца умножить на его масштаб — вот и вся ваша формула.
Смотри, табличку для наглядности, чтобы не путаться в трёх соснах:
| Что тестируем | Когда это критично, как сердцевина огурца | Когда можно сказать «да похуй» или сделать спустя рукава |
|---|---|---|
| Дымовое (Smoke) | После каждой новой сборки, перед тем как запускать долгие проверки. Без этого — как без штанов: можно и не заметить, что основное-то не работает. | Когда релизы летят как из пулемёта по десять раз на дню. Тут уже на автомате всё, а ручками только если совсем ёклмн. |
| Нагрузочное (Load) | Для всего, что на виду у народа: банки, магазины, соцсети. Иначе в час пик пользователи так наедят, что серваки взвоют, как суки. | Для внутренней бухгалтерской программы на пять человек. Им хоть двадцать запросов в секунду гони — им всё равно. |
| Удобство (Usability) | Для приложений, которыми бабушки и дети пользуются. Если не интуитивно — всё, пользователь сбежит к конкурентам, даже не попрощавшись. | Для админки, в которую заходит один сисадмин, который и так знает все костыли и обходные пути. Ему функционал важен, а кнопочки могут быть и кривые. |
| Совместимость (Compatibility) | Для сайтов и мобилок. Щас у каждого второй с дисплеем ретина, а третий со старой андроид-звонилкой сидит. Надо под всех подстроиться. | Если пишешь софт под одну конкретную винду на старых офисных компах. Под них и вылизывай. |
| Регрессионное (Regression) | Перед каждым выходом в свет. Но тут хитрость — не надо всё вручную перепроверять, ебать ты колхозник. Автоматизируй, что можно. | Когда покрытие автотестами — овердохуища. Тогда ручные проверки — точечно, только на самое больное место. |
Живой пример, чтобы мозг не взорвался: Вот есть у тебя стартап-заготовка (MVP). Что самое важное? Чтобы основная фича, ради которой всё затевалось, вообще работала. Значит, лупим по функционалу и дымовым проверкам. А нагрузку и юзабилити с пристрастием можно отложить. Сначала пойми, нужен ли твой продукт хоть кому-то, кроме тебя и твоей мамы. Получил первых юзеров — тогда уже думай, как не уронить сервис и сделать его удобным.
Итог, блядь: Стратегия тестирования — это не священное писание, а постоянный выбор, на чем сэкономить, чтобы не обосраться. Задача команды — не покрыть всё на свете, а осознанно выбрать, что проверять сейчас, а что может подождать, пока не прилетит кирпич в виде разъярённых пользователей или сгоревшего сервера. Всё просто, как три копейки.