Как стать тестировщиком? Легко ли?

Недавно выпустила свою 3ю группу начинающих тестировщиков (курс “Основы тестирования ПО. Старт карьеры тестировщика”).
И получила интереснейший отзыв, который, мне кажется, будет интересно прочитать тем, кто хочет войти в сферу тестирования, либо тем, кто уже начал идти по этому сложному пути.
Отзыв публикую весь, т.к. он пронизан и болью и радостью начинающего тестировщика, но ОСОБОЕ внимание читателю рекомендую обратить на часть 6.
Публикую не в целях самопиара, а потому что это на самом деле считаю мысли интересными.
На форме обратной связи задавался вот такой вопрос: “Что было хорошо, что было плохо, чего хотелось бы пожелать?

Амелин Вячеслв, курс “Основы тестирования ПО. Старт карьеры тестировщика”, январь-март 2015г.


Часть 1. Давным давно в далёкой Галактике…
Было хмурое утро ноября 2014 года. В воспалённом мозгу мысль о том, что необходимо что-то менять в своей жизни, достигла своего апогея, что вылилось в унылый просмотр вакансий на сайтах соответствующей тематики. Профессия тестировщик по сути являлась багом в выборке вакансий, предназначенных для совершенно другой работы (скажем, экономист). Хм. Посмотрим.
Далее последовала недолгая прогулка по тематическим форумам. В итоге книга Савина была скачана и начато её чтение. Таки да, фитиль она зажгла. Но… Впереди был Канер с Нгуенгом и прочей нечистью. Затем Портнов с его видео-курсами. Должен сказать, весьма общими, но в принципе полезными.
В конце концов среди концов найдёшь конец ты наконец. Если кратко, то стало ясно, что без помощи извне все бессистемные просмотры сайтов по тестированию рано или поздно превратятся в кашу. Начался просмотр курсов.
Списался с одним господином. Он описал Наталью как “специалиста, коих в РБ единицы”. Хм! Сначала было сомнение, но зерно было посеяно и дало плоды. И вот я уже заполняю форму на сайте Натальи и самодовольно думаю “Да чему меня учить, я же столько умного прочитал!” Ха-ха-ха.
Если вы считаете, что что-то знаете о тестировании, то вы ничего не знаете, господа.
Забегая вперёд скажу, что тот дядька оказался прав.
Записался…

Часть 2. Source (оно же “Начало” в нашем прокате)
Первое занятие и сразу ступор. Я ничего не понимаю. Что тут происходит? Жестокая реальность здоровенной кувалдой выбила из головы весь мусор, что там скопился.
Включение в процесс мгновенное. Сразу надо делать домашки, причём стараться с меньшим количеством итераций. Что такое итерация, мой юный друг? Приходи – узнаешь! Ещё есть Гугл. Если и он не помог, тогда не появляйся!
Лично у меня втягивание в процесс занял 1,5-2 недели. Затем соображалка начинает раскручиваться.

Часть 3. Непосредственно процесс обучения
Наталья всё объясняет, всё раскладывает по полочкам, заставляет думать и шевелить мозгами. Параллельную литературу в процессе обучения никто не отменял. Её список Наталья даёт сразу, сразу и начинайте почитывать + к этому сами ищите статьи в Вики и на сопутствующих сайтах.
Домашки объёмные и интересные. Сначала думаешь «Дайте мне багги, я рождён их искать. Уааааа!» Терпение. Сделайте нормально то, что предлагают. Баги будут потом, их много. На ваш век хватит.
В общем классно, позитивно. Мне было очень радостно ходить на занятия!!! Я ловлю себя на мысли, что впервые я не заставлял себя учиться. Мне это реально нравится!
И это заслуга преподавателя! Ну и моя немного, наверное.
Будьте внимательными! Слушайте, слушайте, слушайте!!!
Будьте тактичными! Не перебивайте. Сейчас ловлю себя на мысли, что на месте Натальи я бы нас хворостиной отдубасил. Порой не давали слова вставить.
Классный ход с конфетами. У меня выработался рефлекс как у собаки Павлова. За правильный ответ дают конфету. Очень неплохо стимулирует. Без шуток. Я никогда не шучу!
Будьте азартными! Вы включаетесь в новую сферу жизни. Нельзя ходить унылым. Вгрызайтесь в знания, учитесь, развивайтесь. Наталья вас направит и никогда не откажет в совете. Даже если он не касается тестирования. Серьёзно. Вы же помните, что я никогда не шучу?!
Будьте терпеливыми! В тот момент, когда я записался на курсы, жизнь мне преподнесла сюрприз. Неприятный. Связано это с работой, вдаваться в подробности не буду. В общем были мысли, что не потяну, что бессмысленно. Вы скажете, что это вопрос уверенности и веры в себя. Нет. Терпение! Turn your pain into power. Трудно будет, это проверка. При смене профессий особенно. Если стерпите, то тогда добьётесь успеха. Не верю в иное развитие ситуации. Отговорки не моё тоже не принимаю. Господа, вы идёте на смену жизни. И вы даже не удосужились узнать, что такое тестирование, перед курсами? Просто прочитать пару книжек это сложно? Вам нечего делать в тестировании, если вы так легкомысленны.

Часть 4. Дифирамбы Наталье
Наталья мягко и сразу располагает к себе. Её сразу хочется слушать, за ней хочется идти. Самое главное – ей сразу веришь и доверяешь.
Очень тактичный преподаватель. Железобетонное спокойствие в любых ситуациях.
Как уже говорил, поможет с вопросами, связанными не только с тестированием. Однако спрашивать об устройстве андронного коллайдера всё же не стоит. Я имею ввиду вопросы психологии (то бишь за жизнь погутарить), IT вопросы.
Можно делать домашку на английском. И даже нужно! Классно. Даже переписку можно вести по почте. И вас никто гнобить не будет за порой корявый енглиш. Лишь мягко пожурить за ушко.
В общем открытый и замечательный человек!
Про профессионализм скажу, что подключаюсь к дядьке, о котором писал вверху. Если вы конечно дочитали до этого места, так как многабукафф наверное.

Часть 5. Ложка дёгтя
Считаю, что надо пересмотреть учебные пособия, так как есть нестыковки в тексте, которые вызывали когнитивный диссонанс в моём мозгу.

Часть 6. Эпилог. Конклюжнз. Итоги. Так а что столько написал и ничего толком не сказал: идти нам или не идти на курсы?
На курсы идти однозначно. Что перед этим неплохо было бы сделать. Пишу в порядке, который считаю правильным. Да простит меня, ещё не оперившегося тестера, Наталья!
1. Савин. Название книги сами узнаете, если захотите
2. НЕ ЧИТАТЬ!!! Канера. ИМХО, сначала отработать полгода, затем читать. Лично для меня пустая трата времени, потом буду перечитывать
3. Портнов. Ютуб. Сами найдётё, не маленькие
4. Whittaker “How to test software”. Скачаете сами.
5. Параллельно английский, господа! Да, да. А что вы хотели? Хотите нормально кушать? Извольте.
6. Логические задачи. Без фанатизма, как второстепенное направление.
7. Предыдущие 6 пунктов ещё не оттолкнули от сферы тестирования? Садитесь и думайте. Оно вам надо? Может начальник старый, скоро скопытится, детей у него нет на его место? Помрёт – вы его место заёмёте? А, не? Ещё уверены? Тогда читайте дальше.
8. Курсы Натальи.
9. По окончании курсов Наталья вас направит, пошлёт, отошлёт, купит билет до Магадана. Шучу. Я шутил, что никогда не шучу. Юмор в нашей профессии нужен как и в любой другой.

Искренне ваш, Вячеслав.

Проверка влияния внешних событий на работу мобильного приложения

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

Терминология

Беседуя с коллегами, я выяснила, что существует довольно много вариантов того, как называть подобные тесты. Некоторые из вариантов:

  • Тестирование стабильности
  • Тестирование восстановления (recovery testing или restoration testing)
  • Проверка помех (interruption testing)
  • Fragmentation overlay testing
  • Стресс-тестирование (stress testing)
  • Проверка мобильных функций (мобильное тестирование)

Самые популярные – это interruption testing и stress testing. Возможно, вы используете какой-то ещё термин. Я и мои коллеги используют термин «стресс-тесты». Поэтому буду использовать в статье именно его.

  Continue reading

Что прочитать начинающему тестировщику?

“Что читать начинающему тестировщику?” – самый частый вопрос от тех, кто ходит на курсы по тестированию или кто ими интересуется.
На мой вгляд, если опыта совсем нет, то читать лучше после курсов, т.к. многие темы в книжках просто не до конца понятны и можно только ещё больше запутаться. Однако, нет ничего лучше, чем желание саморазвиваться. Поэтому ниже привожу список самого-самого на мой взгляд осмысленного и полезного со ссылками на скачивание (вероятно, для некоторых книг предварительно нужно будет скачать в сети CHM Reader).

Общие темы по тестированию, введение

  • Роман Савин “Тестирование dot com”
  • Ron Patton “Software Testing”

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

  • Lee Copeland “A Practitioner’s Guide to Software Test Design”
  • James Whittaker “Exploratory Software Testing”

Продолжение обучения

  • Rex Black & co. “Foundations Software Testing. ISTQB Certification”
  • Cem Kaner “Lessons Learned in Software Testing”

Полезно иметь под рукой словари

На мой субъективный взгляд они спорные по некоторым терминам,  но лучших и более полных вариантов пока что не знаю.

  • ISTQB_Glossary_Russian_v2_2
  • ISTQB_Glossary_English_v2_2

Всё одним архивом можно скачать по вот этой ссылке.

post

Отношение к посещению конференций

Люди, которые не ездят на конференции, не посещают тренинги делятся на три типа:

  1. Те, которые не понимают зачем они нужны и что они смогут дать. Обычно новички.
  2. Те, кто перенасытился конференциями, тренингами, книгами, стал профессионалом и забыл, что с ним кто-то когда-то тоже делился своим опытом.
  3. Те, что рассматривают работу только как заработок, а не способ самореализации. Ими могут быть как новички, так и опытные, вплоть до руководителей.

Люблю на собеседованиях задавать вопрос про отношение к развитию.  При том не только тем, кого сама собеседую, но и тем, кто меня собеседует. Руководители, которые не поддерживают посещение конференций и относятся к пункту 3, на мой взгляд, не особо заботятся и о других рабочих моментах людей в своем управлении. Согласовать с ними посещение конференции очень тяжело проходить.

С руководителями из пункта 2 согласовать участие в конференции или тренинге проще. Достаточно напомнить о его прошлом опыте. 🙂

Стадии изменения отношения к конференциям

(c) сама рисовала картинку =)

10 принципов мотивации

Питер Ройш, специалист по управлению персоналом, сформулировал 10 принципов мотивации:

  1. Каждого человека можно мотивировать
  2. Каждый человек может мотивировать
  3. Тот, кто мотивирован, может мотивировать
  4. Мотивация нуждается в цели
  5. Мотивация никогда не заканчивается
  6. Мотивация нуждается в признании
  7. Причастность мотивирует
  8. Успех мотивирует
  9. Вызов мотивирует, если его можно преодолеть
  10. Принадлежность к группе мотивирует

Как правильно выбрать severity для бага?

Severity (критичность) бага выставляется после анализа двух факторов:

  1. насколько та область (модуль) приложения, в которой найден баг, важна для пользователя или бизнеса компании-разработчика
  2. как проявляется проблема – креш, проблема интерфейса, нарушение логики работы и т.п.

Если баг относится к фичам “для бизнеса”, “для менеджмента” или “для продуктивной работы всей команды разработки”, то при выборе критичности бага стоит подумать о том, не теряет ли статус компания, не теряется ли рейтинг приложения, не уменьшатся ли доходы компании, какими будут потери команды (временные, материальные, психологические) в случае, если баг останется в приложении не исправленным.

  • Blocker – это баги, ведущие к бизнес потерям: риск непрохождения ревью в appstore; критически большое уменьшение количества скачиваний приложения; уменьшение доходов, понижение рейтинга приложения в appstore; расхождение реализованного и планов маркетологов (например, неверная иконка приложения). Примеры багов: нет попапа на ревью, не отображаются smart news (новостные и рекламные попапы), неверная иконка приложения и т.п.
  • Critical и Medium – нарушения в логике работы бизнес-фич. Например, smart news отображаются, но первый раз появляются на 3й вызов приложения, а не на 2й.  Разницу между критичностями уровня critical и medium необходимо определять интуитивно.
  • Minor и Trivial. То, что относится к удобству работы команды и к бизнес-фичам, но не мешает их работе никаким образом. Например, в коде приложения стоит неверная ссылка на файл smart news, или опечатка в названии папки с библиотеками, которая видна только через iFunbox и пользователю должна быть безразлична, или ключ для  локализации в string файле написан с грамматической ошибкой. Разницу между критичностями уровня minor и trivial необходимо определять интуитивно.

Если же баг относится к фичам “для пользователей”, то для выставления severity необходимо ответить на вопрос о том, сколько пользователей заметят проблему. “Заметят” – это ситуация, когда пользователь не просто открывает экран с какой-то неточностью, а видит её и для себя воспринимает как проблему.

Для выбора severity можно пользоваться таблицей ниже.

 

Баг в “пользовательской фиче”: сколько пользователей столкнутся с проблемой либо обратят на неё внимание?

bug severity

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

Для каждого проекта и каждой операции необходимо продумывать свои критерии. Ниже таблица представлена как пример.

 

Cколько времени выполняется некая операция на iPhone 4 в зависимости от количества файлов?

Кол-во объектов Blocker Critical Medium
до 5 > 1 сек около 1 секунды 0,5-1 секунда
5 – 15 > 2 сек около 2 секунд 1-2 секунд
16 – 50 > 3 сек около 3 секунд 2-3 секунд
> 50 > 5 сек около 5 секунд 3-5 секунд

Декомпозиция в тестировании и при анализе приложения

Декомпозиция — научный метод, использующий структуру задачи и позволяющий заменить решение одной большой задачи решением серии меньших задач, пусть и взаимосвязанных, но более простых. (wikipedia)

Декомпозиция, как процесс расчленения, позволяет рассматривать любую исследуемую систему как сложную, состоящую из отдельных взаимосвязанных подсистем, которые, в свою очередь, также могут быть расчленены на части. Continue reading