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

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

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

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

  • Тестирование стабильности
  • Тестирование осстановления (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. Принадлежность к группе мотивирует


Открыта регистрация на курс «Основы тестирования ПО. Старт Карьеры» / Минск, 20 сентября

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

Это курс для начинающих тестировщиков или для тех, кто только желает освоить эту профессию. Для тех, кому нравится мир IT!
Стать тестировщиком будет намного проще, если вы склонны мыслить аналитически и любите покритиковать мир вокруг себя. А вот наличие опыта для начала занятий совсем не обязательно.
Благодаря этому курсу вы разберётесь с основами тестирования ПО — выучите терминологию, познакомитесь с ключевыми техниками и сможете попрактиковаться в задачах, которые выполняет на работе новичок тестировщик.

Подробная программа курса представлена ниже.
Его длительность составляет 48 академических часов.
Всего 16 занятий, каждое из которых по 3 академических часа.
Стоимость курса: 2 000 000 бел. руб
Начало занятий: 20 сентября 2014г.
Расписание: по субботам и воскресеньям с 16 00 до 18 30.

 

После обучения.
По окончанию курса все слушатели, успешно прошедшие выпускной экзамен, получают свидетельство о прохождении курсов.
Лучшие слушатели, которые заявили о себе, как о перспективном тестировщике, получают рекомендацию для работодателей.
Лучшие слушатели со знанием английского на уровне pre-intermediate и выше также получат возможность пройти собеседование в лабораторию компании EPAM Systems, где можно будет продолжить обучение на реальных проектах и, как результат, устроиться на работу junior тестировщиком.

Continue reading

Как правильно выбрать 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