12

Горькие слёзы QA-эксперта, или "Здравствуйте, а не хотите ли вы переписать это г..."

Привет.

Давненько уже задумывался над тем, что бы написать о своей работе, да и попутно разогнать туман в голове многих людей, которые не знают, кто такие тестировщики, и чем они занимаются в рамках QA. (да, @HappyMe, это текст для тебя, хоть и очень запоздавший :) )

Итак, что же такое QA? Номинально, это далёкая цель, которая недостижима сложна и опасна, ведь многие разработчики считают тестирование мартышками с мышками. И отчасти они правы, ведь даже сами ответственные за качество слабо понимают, чем они заняты. Что бы понять это более комплексно, нужно заглянуть на самое дно такой страшной среды, как IT.


Однажды, меня спросили, почему именно тестирование? Мне было сложно ответить на этот вопрос, ведь я действительно не знал ответа. Я был и сисадмином, и разработчиком, и SQL-саппортом, и обычным саппортом, но всегда на нас сгружали тестирование нового функционала, ведь "у них на это есть время, всё равно сидят ничо не делают". А потом мне позвонили, и предложили должность тестировщика. Хотя, я слабо представлял, что же это за зверь такой. Первый мой руководитель в рамках тестирования был дуб-дубом, и не мог мне объяснить, что такое тест-кейсы, как правильно составлять и заводить тикеты на баги, почему моки это не то же самое, что  тестовые базы, и почему НЕ надо сидеть на QA форумах. Пришлось осваиваться самому.


И сейчас я хочу поговорить о тестировании.

Тестирование, кстати, бывает несколько типов.

1 тип - ручное тестирование:
Самый распространённый тип тестирования, когда ты просто протыкиваешь весь ресурс руками, ищешь кривое поведение приложения и пишешь об этом. Кажется простым, верно? Как бы не так!
Помимо развитой интуиции, ручному тестировщику нужно уметь думать, и принимать нестандартные решения. Например, отличать позитивные тесты, от негативных. Это, кстати, сложно, ведь негативный тест - это не тот, который "вот тут надо вводить числа, а мы введём буквы". Равно, как и надо отличать моки от инфраструктурной заглушки. Нужно знать сети, (возьмём к примеру web сегмет), как работает браузер/ОС, почему нужно чистить куки, как работают куки, быть в теме фреймворков, быть очень надоедливым, уметь отстаивать своё мнение, убеждать программистов переделать тот или иной сегмент приложения, если он вам категорически не нравится, хотя и работает правильно на первый взгляд. Нужно быть внимательным, быстрым, подкованным в среде последних тенденций развития вашего направления, желательно уметь читать код, разбираться в БД (ну хоть на уровне отличий реляционной от no-sql БД)...
Что, господа программеры, всё ещё считаете тестирование обезьянами? Ну окей, вот вам второй тип, с которым уже надо считаться.

2 тип - автотесты:
Самый интересный тип тестирования. Это недоразработчик, перетестировщик. Человек, который творит с кодом такую хрень, которую вам и не снилось. Сделать заглушку, убить, казалось бы, верный код, реверснуть то, что понаписал программист и свалил в туман без документации к коду... А самое главное, это тот, кто ковыряется в вашем говне коде, и жутко матерится, когда не находит комментариев, или пытается отделить костыль от велосипеда, ведь надо это покрыть тестами...
Самое интересное, что этот спец должен уметь читать код на любом языке, понимать, как это работает, осознавать ограничения и заставлять разработчиков быть заинтересованными на благо качества и сокращения затрат на тестирование/разработку. А ещё, это повелитель селениума, мастер багтрекеров, разработчик фреймворков и обёрток, скорее всего неплохой разработчик в python и java и не знает элементарных вещей. Страшное существо, правда? :)

3 тип - тестировщики в безопасности:

Это страшные люди. Воистину страшные. Может быть - это венец эволюции тестирования. Это люди, которые знают очень много, а ещё больше хотят вас унизить. Найти самые обидные баги в ваших программах, заставить вас просыпаться среди ночи, и заново шептать коды и пароли, которые они могут стянуть прям с вашего рабочего стола. Они смогут в три шага сломать труд многих лет... XSS уязвимости, SQL-инъекции, косяки в вёрстке, мемори-лики... Это страшный сон одминов и прочих эксплуатационщиков, люди, которые заставляют вас использовать обфускаторы и прочий бред, мешающий "творить в высших потоках"...

Но, я увлёкся описанием ролей в тестировании, а надо бы описать QA... И я не знаю, что написать об этом...


Наверное, это недостижимый абсолют, ведь QA - это когда ВЕСЬ коллектив разработки стремится к качеству своего продукта. Когда тестировщик и разработчик знают работу друг друга, когда экспертное мнение не повисает в воздухе, когда бизнес четко может определить, что он хочет, а аналитик почему это невозможно, почему это не будет работать правильно... Когда... Когда каждый знает, что он ответственный за то, что сделал. До самого последнего уборщика помещения... О, как же часто разработчик не понимает, что его "уникальное видение решения проблемы" по факту оказывается неудобным дерьмищем, но как отец этого уродца, он будет до конца защищать творение рук своих... Когда аналитик собирает не все требования, и весь сквод начинает переделывать то, что уже было сделано... Когда админ забывает почистить место, или снять бекап... Зачастую, контроль этого возлагают на плечи тестирования.


Сейчас, я больше евангелист тестирования, чем исполнитель, и стараюсь привить всем окружающим любовь к качеству своей продукции... И всё реже и реже мне приходится говорить "Здравствуйте, а не хотите ли вы переписать это г.."


Наверное, для первой пасты этого будет достаточно... Множество нюансов есть в разработке ПО, о них можно очень долго говорить. Если вам это зашло, и вы хотите более детализированной информации - задавайте вопросы, и я опишу более детально :)

Засим откланиваюсь, прошу сильно не пинать, пост не технический а скорее поныть "насниктонелюбитнепонимаит" :)

Дубликаты не найдены

+2

Ваш пренебрежительный тон мне как разработчику очень неприятен. Радует, что мы с вами не в одной команде работаем.

раскрыть ветку 2
-1
мне как разработчику очень неприятен

Никого не хотел задеть, но чаще к тестированию не менее пренебрежительный тон :) Шанс увидеть себя со стороны для многих хамоватых разработчиков

раскрыть ветку 1
+2

Полностью поддерживаю. Пока не докажешь, что ты таки чего-то стоишь и знаешь зачастую поболе среднестатистического тыжпрограммиста-джуна, а то и миддла порой, такое отношение поймаешь, что хочется то ли удавиться, то ли удавить кого-нибудь. Пиши дальше, пусть широкая публика хоть немного узнает про будни тестировщиков :)

0

Пост ведет к тому, что лучший тестировщик - это разработчик. Много "воннаби" на эту тему.

Тестировщики хороши именно для тестирования черного ящика (чистый взгляд пользователя, который не сочувствует сложностям реализации), для белого ведь еще DevQA есть, как правило...


Зачем мануальным тестировщикам в вебе знать устройство ОС (которое и не каждый веб-разработчик знает) или реализацию браузера глубже стандартов?


Зачем автотестерам что-либо реверсить? Зачем им вообще копаться в коде продукта, если их задача - автоматизировать взаимодействие через родной интерфейс? Их задача - писать зелёные тесты по тест-кейсам. Ломать - это скорее к мануальщикам.

0

Кто такие SQL-саппорты?

0

Зачем ты тут это написал, евангелист? Обязьянка не может ничего кроме тыкать руками, но хочет потешить свое ЧСВ?

раскрыть ветку 1
0

Что ты тут забыл, умник? Никакого отношения к теме не имеешь, но без коммента никак?

0
Ой спасибочки)
Так приятно) хоть с ролью qa разобралась уже, а все равно интересно)

Хотелось бы почитать еще о работе тестировщиков в разных компаниях. Без секретной информации, конечно)
А может, кто-нибудь напишет про тестирование в геймдев?
И тестирование безопасности тоже интересует.
раскрыть ветку 2
-2
А может, кто-нибудь напишет про тестирование в геймдев?
И тестирование безопасности тоже интересует.

Спрашивай конкретно, а то геймдев это офигеть какая большая тема, например, уж о безопасности вообще молчу :)

раскрыть ветку 1
0
Я подумаю над вопросами.
На следующей неделе начинаю работать на новом месте, там и вопросы появятся.
Спасибо за отзывчивость)
-3

Чушь. Раньше работал погромистом, сейчас вынужден заниматься тестированием. Знаете, почему "QA-инженеров" всё ещё не заменили обезьянами? Мартышки банально дороже...

-2

ах, как приятно скидывать задачу в статус "не выполнено" из-за того, что в прототипе цвет #F33A12, а разработчик сделал #F33A15

Похожие посты
408

Талантливый тестировщик

Как же приятно наблюдать за людьми, которые работают на своем месте!

Есть у нас в компании отдел сопровождения/тестирования/внедрения. Сотрудников этого отдела мы называем просто "тестировщики".

Вот сидят в одном кабинете десять человек, примерно раз в двадцать секунд раздается новый звонок.

Позвал меня один из тестировщиков, чтобы по коду проконсультировать. Подхожу к его столу. У него на одном мониторе видно запущенный автоматический тест и какие-то инструкции, на втором - удаленное подключению к рабочему столу юзера, где он ошибку исправляет. При этом он говорит с пользователем по телефону, не отключаясь, показывает мне то место, в котором возникла проблема. Коллега задаёт ему какой-то вопрос. Я бы отправила куда-нибудь подальше, а тестировщик спокойно ответил и спокойно продолжил разговор с пользователем. И улыбается! Как вы это делаете?!

886

Про тестирование VR

Общался как-то с другом по поводу VR, далее копипаст его сообщения:

"тип который vr решение разрабатывает рассказал как у них бенчмарки устроены:

сажают юзера с плохим вестибулярным аппаратом за слабое железо - если блюванул - бенч не прошёл"

70

Пол года в тестировании или взгляд с колоколенки

Почти год назад я спрашивал мнения у вас, ребята, по поводу профессии тестировщика. Было много дельных советов, и не очень, но все они были полезны в коей-то мере. И вот, я уже ровно 7 месяцев как тестировщик. Возможно, что кому-то будет полезен пост. Вероятно, что именно ты задумываешься о том, чтобы начать строить карьеру в тестировании, но пока обременён другими заботами. Я постараюсь максимально простым языком поделиться своим скромным опытом, и возможно, повлиять на твоё решение в вопросе "хочу ли я быть тестировщиком?".В общем, заваривай чайку, хватай печенюги и усаживайся поудобнее. А я беру бокал креплёного и начинаю.

Преамбула.

Войти в Ай-Ти или хлопоты "входа"

Немного цифр. После окончания универа по профилю "Энергетика" я уже окончательно для себя решил, что хочу быть тестировщиком. У меня всегда была тяга к тому, чтобы всё, чем я пользуюсь было идеальным + большое увлечение компами и еже с ними. Небольшой опыт кодинга (говно-кодинга) в конце 10-11 класса школы и первых курсов универа, но со временем всё забылось. После получения заветной корочки и месяца беспросветных кутежей, я составил резюме и начал шерстить вакансии на хх. И вот, первый отклик. Мне выслали тестовое задание, с ним я к сожалению не справился. Как говорится, первый блин комом. Затем почти один за одним были еще 3 ответа к моим откликам. Каждая компания высылала тестовое задание, которые я уже успешно выполнил и впереди у меня состоялись 3 первых в моей жизни собеседования. Первые два я успешно провалил, а на третьем, уже имея некоторый опыт в общении с HR и тестировщиками, успешно его прошел. Спустя приблизительно неделю в один жаркий летний день мне позвонили и сообщили, что с 1 сентября я выхожу на работу. Это была моя маленькая победа. К слову, я даже рад, что в предыдущие места меня не взяли, но об этом дальше.

Ах да, цифры, подытожим - 4 отклика, 4 тестовых задания, 3 собеседования, 1 успешное, затраченное время около 3 недель.

Испытательный срок или оклад за обучение

После оффера (успешного прохождения собеседования и приглашения на работу) я начал усиленно готовиться, читал блоги, смотрел видео, впитывал и вкушал опыт других, бывалых тестировщиков. Первые два месяца я приходил на работу и изучал документацию по продукту, который мне предстояло тестировать, смотрел видео-уроки (записывали их тестировщики из компании). Очень круто, что для лёгкого входа новичков был весь необходимый материал, это очень помогло. В течение месяца я каждый день изучал новое, а два раза в неделю общался с менеджером разработки (член команды, который ставит задачи, общается с заказчиками и вообще, занимается многими организационными вопросами + защищает нас от других команд, которые хотят скинуть свои косяки на нас), рассказывал ему, что нового узнал, отвечал на его вопросы. Честно, я ощущал себя идиотом, который нифига не понимал, но очень хотел и старался вникнуть в процесс. Какие-то непонятные названия, странные слова Agile, Scrum, МР, ПМ, Тим-лид и прочие, уже кажутся такими простыми и примитивными, но тогда, будучи совсем зелёным, я их до конца не мог сложить воедино. Первые три месяца пролетели быстро, но их я запомню на всю жизнь - это самое болезненное время, когда много, просто невероятно МНОГО информации, которую нужно усвоить и научиться использовать.

И вот, наступил декабрь. К этому моменту я успешно прошёл испытательный срок. У нас была даже некая балльная система, по которой по всем критериям у меня было 5/5, что не могло не радовать + положительный отзыв МРа. И в декабре, когда я уже неплохо освоился, состоялась ретроспектива. Ретроспектива - это некое собрание, когда команда обсуждает предыдущий квартал, какие были проблемы, находит пути их решения, подводит итоги и строит планы на следующий квартал. Цель - стать лучше. Одна из задач - разрешить предыдущие проблемы. И на этой ретроспективе я понял, что эта команда та самая, с которой можно свернуть горы и сделать наш продукт очень крутым. Я много читал историй, когда коллектив, мягко говоря - хрень, но в моём случае все более, чем круто сложилось. Ребята, зная, что я совсем зеленый, легко отвечали на все мои самые глупые вопросы, чем я старался не злоупотреблять.

Пошло-поехало

Прошло ровно пол года, как почувствовал, понял, осознал (как это не назови), что тестирование - это моё. Именно спустя пол года я понял, что то, чем я занимаюсь - это призвание. Естественно, что бывают косяки, не тестируемые задачи и прочие грустны вещи, но целая картинка позитивна!

Результат работы

Спустя 7 месяцев я научился и освоил некоторые инструменты и приобрёл скиллы, а именно:

PostgreSQL (СУБД) на уровне, который нужен тестировщику (анализ связей в БД, типов данных, запросы для тестирования и выборки данных);

Консольку Linux для просмотра логов, кода на тестовых стендах, правки "на горячую", всякие curl и прочие мелочи;

Различные техники тест-дизайна;

Буквально в последний месяц начал писать автотесты в связке Ruby+Selenium Webdriver+(всякие гемы аля Browsermob-proxy);

Написание документации (тест-планы, тест-кейсы, чек-листы и пр.);

Ну и всякие мелочи из разряда "деплоить ветку на тестовый стенд", "проверить наличие задач в ветке".

Вывод и скромный совет

Хотел бы обратиться к тебе, читатель. Если ты прочитал до этого места, то тебе в принципе интересно всё о тестировании, даже бредни джуна. Запомни одно - если чувствуешь, что это твоё - "не тормози сни..." не распыляйся и занимайся этим. Тестировщики - это ценные сотрудники, они отвечают за качество продукта, а следовательно экономят деньги заказчикам и делают конечных пользователей чуточку счастливее.

Задавай свои вопросы в комментарии и я с удовольствием отвечу на них.


P.S: Под понятием "тестировщик" я объединил и, непосредственно тестировщиков, и QA, и QC, не будите занудство и не проявляйте проф. деформации :) peace.

Показать полностью
56

Все поздравляют дизайнеров, а про QA забыли

Все поздравляют дизайнеров, а про QA забыли QA, Тестировщики, День тестировщика

День тестировщика — профессиональный день тестировщиков, отмечаемый 9 сентября.


9 сентября 1947 года[1][2] учёные Гарвардского университета, тестировавшие вычислительную машину Mark II Aiken Relay Calculator, нашли мотылька, застрявшего между контактами электромеханического реле, и Грейс Хоппер произнесла слово «bug» (англ. «жук»), ставшее позднее термином, обозначающим компьютерную ошибку. Извлечённое насекомое было вклеено в технический дневник с сопроводительной надписью: «First actual case of bug being found» (англ. «первый случай в практике, когда был обнаружен жучок»). Этот забавный факт положил начало использованию слова «баг» в значении «ошибка». В итоге процесс выявления и устранения причин сбоя в работе компьютера получил название debugging (дебаггинг, «отладка», дословно: избавление от жуков). А само название профессии возникло от английского слова test, то есть испытание.

Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: