Тестирование и тестирование и тестирование и тестирование и тестирование и тестирование и тестирование

Тестирование производительности или нагрузка? | Перфоманс Лаб

Тестирование и тестирование и тестирование и тестирование и тестирование и тестирование и тестирование

Сегодня мы немного поговорим про теорию тестирования. Очень часто можно услышать вопрос: “Как же правильно говорить: Нагрузочное тестирование или Тестирование производительности? И чем одно от другого отличается?”. В русскоязычной среде термины “Нагрузочное тестирование” и “Тестирование производительности” перепутаны, и не всегда понятно откуда что взялось.

Введение

Software testing consists of the dynamic verification that a program providesexpected behaviors on a finite set of test cases, suitably elected from the usually infinite execution domain.IEEE Guide to Software Engineering Body of Knowledge, SWEBOK V3.

0, 2014]

Software testing consists of the dynamic verification that a program providesexpected behaviors on a finite set of test cases, suitably elected from the usually infinite execution domain.IEEE Guide to Software Engineering Body of Knowledge, SWEBOK V3.0, 2014]

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

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

На текущий момент существует множество видов тестирования также существует большое количество классификаций эти видов.

Основная классификация видов тестирования происходит по целям. На рисунке ниже представленная классификация видов тестирования.

Классификацию тестирования можно продолжать и дальше, разделяя на ещё более атомарные единицы данные типы тестирования.

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

Тестирование производительности (Performance Testing)

Считается, что тестирование производительности [1] — это то тестирование, которое не является функциональным. Существует множество видов тестирования производительности. Классификация видов тестирования производительности строится на основе того, какие цели преследует определенный вид тестирования.

Как правило тестирование производительности преследует не одну, а несколько целей в связи с тем, многие типы тестирования в ходе его проведения совмещаются с другими целями или повторяются несколько раз в ходе цикла тестирования.

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

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

На рисунке ниже показана основная классификация видов тестирования производительности.

На основе классификации показанной на рисунке выше можно выделить основные виды тестирования, которые производятся во время этапа тестирования производительности системы. Основные типы тестирования и вопросы, которые они решают представлены в таблице.

№Вид тестированияВид тестирования по английскийВопрос на который отвечает тестирование
1Нагрузочное тестированиеLoad Testing[2]Достаточно ли быстро работает система?
2Тестирование стабильностиStability Testing[3]Достаточно ли надежно работает система на долгом интервале времени?
3Тестирование отказоустойчивостиFailover Testing[4]Сможет ли система переместиться сама на другой сервер в случае сбоя основного сервера?
4Тестирование восстановленияRecovery Testing[5]Как быстро восстановится система?
5Стрессовое тестированиеStress Testing[6]Что произойдет при незапланированной нагрузке?
6Тестирование объемовVolume Testing[7]Как будет работать система, если объем базы данных увечится в 100 раз?
7Тестирование масштабируемостиScalability Testing[8]Как будет увеличиться нагрузка на компоненты системы при увеличении числа пользователей?
8Тестирование потенциальных возможностейCapacity Testing[9]Какое количество пользователей может работать?
9Конфигурационное тестированиеConfiguration Testing[10]Как заставить систему работать быстрее?
10Тестирование сравненияCompare Testing[11]Какое оборудование и ПО выбрать?

Нагрузочное тестирование (load testing)

Нагрузочное тестирование (load testing) – данный тип тестирования позволяет оценить поведение системы при возрастающей нагрузке, целью нагрузочного тестирования является также определение максимальной нагрузки, которую может выдержать система.

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

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

Производительность при этом определяется следующими факторами:

  • скоростью работы программного обеспечения;
  • скоростью работы аппаратного обеспечения;
  • скоростью работы сети.

Во время тестирования могут осуществляться следующие операции, позволяющие более точно измерить производительность и определить “узкое место” системы [12]:

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

После нахождения максимальной производительности рекомендуется её “подтвердить”. Для этого проводится дополнительный тест со следующим профилем:

Тестирование стабильности (stability testing)

Тестирование стабильности (stability testing) — позволяет проверить работоспособность системы на длительном интервале времени. При этом нагрузка может не достигать пиковых значений, а иметь средние значение, так же само время выполнения операций не являет основным фактором в оценке результатов тестирования.

В ходе тестирования основной акцент делается на измерение

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

Тестирование отказоустойчивости (failover testing)

Тестирование отказоустойчивости (failover testing) – данный вид тестирования производительности позволяет проверить поведение системы в случает сбоя серверов или при других неблагоприятных факторах. Такое тестирование особенно важно в системах, работающих в режиме 24/7, т.к. в случае их выхода из строя возможны потери клиентов, репутации, денег и т.п.

Во время тестирования проверяются следующие операции:

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

Тестирование восстановления (recovery testing)

Тестирование восстановления (recovery testing) – обычно неотъемлемо связан с тестированием отказоустойчивости и позволяет определить, как быстро система сможет восстановится после сбоя её программной или аппаратной части.

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

При этом нагрузка на систему не уменьшается и имеет средние или пороговое значение.

В ходе тестирования измеряются следующие показатели:

  • время, за которое система восстановится после сбоя;
  • корректность восстановленных данных.

Стрессовое тестирование (stress testing)

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

В ходе тестирования измеряется:

  • возможность и время регенерации системы – возможность и время возвращения системы к нормальному состоянию после стрессовых нагрузок;
  • корректность логирования ошибок и оповещений о их возникновении;
  • производительность системы при стрессовой нагрузке;
  • оценка влияния сбоев тестируемой системы на внешние системы.

Тестирование объемов (volume testing)

Объемное тестирование (volume testing) — тестирование позволяет оценить производительность системы при увеличении объёмов данных как самого приложения, так и его базы данных.

Основной вопрос, на который отвечает данный вид тестирования производительности: “Что будет завтра с этим приложением или через год при увеличении числа пользователей и/или увеличение хранимых пользовательский и системных данных?”.

Во время тестирования измеряются следующие параметры:

  • зависимость времени выполнения операций на сервере от объема данных;
  • количество пользователей, которые могут одновременно работать с приложением “быстро”;
  • как быстро увеличивается объем данных при работе приложения.

Тестирование масштабируемости (scalability testing)

Тестирование масштабируемости (scalability testing)[13] – данное тестирование производится для проверки возможностей масштабирования приложения под любым видом нагрузки. Также необходимо проверять производительность системы во время масштабирования.

Виды масштабирования, которые проверяются в ходе тестирования:

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

Тестирование потенциальных возможностей (capacity testing)

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

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

Конфигурационное тестирование (configuration testing)

Конфигурационное тестирование (configuration testing) [14] – данный вид тестирования проверяет производительность системы на разных аппаратных и программных конфигурациях.

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

Данное вид тестирования производительности позволяет убедится, что на других конфигурациях аппаратного и программного обеспечения система будет работать с одинаковой производительностью.

Тестирования сравнения (compare testing)

Тестирования сравнения (compare testing) – позволяет сравнить производительности на разной конфигурации программной и аппаратной части системы.

Данное тестирование помогает выбирать наиболее оптимальную конфигурацию аппаратного и программного обеспечения.

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

Тестирование позволяет ответить на такие вопросы как:

  • какую СУБД выбрать?
  • какое оборудование выбрать (платформа, производитель, цена и т.д.)?
  • как повлияют на работу приложения обновления и патчи?

Выводы

Ну хорошо, из этой статьи мы видим что видов тестирования Производительности много. Очень много, даже слишком много.

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

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

Приходите: https://conf.pflb.ru

Полезные ссылки

Источник: https://www.performance-lab.ru/blog/load-testing/testirovanie-proizvoditelnosti

Функциональное тестирование – самый быстрый способ войти в область QA и в IT в целом!

Тестирование и тестирование и тестирование и тестирование и тестирование и тестирование и тестирование

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

Если уже знаете, что такое тестирование и с чем его едят – смело заполняйте регистрационную форму 🙂 А если нет – читайте интервью Александра Садыкова, заместителя начальника отдела тестирования.

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

Что такое функциональное тестирование и тестирование в целом?

Если говорить обобщенно, тестирование, а точнее Quality Assurance (QA или Управление качеством) – не просто «кликание» по формочке или браузеру, как может показаться изначально.

Это еще и некая магия, которая дает возможность сделать процесс разработки ПО простым, прозрачным, а главное – предельно эффективным для всех заинтересованных сторон проекта.

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

А функциональное тестирование – это одна из тех небольших, но очень важных задач, которые стоят перед QA-специалистами. С него все и начинается, будь то исследовательское тестирование или тестирование по подготовленным тестовым сценариям.

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

Так же и с профессией тестировщика: функциональное тестирование – самый быстрый способ войти в область QA и в IT в целом.

Чем занимаются инженеры по функциональному тестированию в «Джете»?

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

Совсем опытные ребята занимаются разработкой так называемой стратегии тестирования, оценивают риски качества. Ведь тестировать продукт, по сути, можно бесконечно. Как найти золотую середину и баланс из трех ингредиентов (сроки, ресурсы и объем требований к продукту) – отвечает наука о рисках качества, а занимаются всем этим наши инженеры.

Они определяют, что тестировать, как тестировать и выбирают критерии окончания тестирования. Здесь важно учитывать самые разные факторы: как важна функциональность для пользователя и бизнеса, насколько сложно ее разработать, какой объем проверок нужно будет провести в продукте после внесения изменений.

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

Над какими проектами вы работаете?

«Джет» – один из крупнейших российских интеграторов, поэтому мы фактически ведем разработку программных продуктов по всем возможным направлениям IT-индустрии. Это банки и ритейл, госсектор, телеком и многие другие. Еще у нас есть проекты по тестированию кастомизированных версий вендорских решений, например, Oracle Siebel CRM и Oracle BI.

Из стратегически важных направлений отмечу сравнительно новые веяния в IT: работу с большими объемами данных (Big Data) и искусственный интеллект (Machine Learning).

Мы научились работать в этих направлениях с точки зрения анализа данных, разработки и тестирования.

Причем тестировщики подключаются к проектам на ранних этапах, совместно с экспертами по аналитическим данным (Data Scientists) выстраивают модель прогноза, предлагают автоматизированные решения по верификации предложенных алгоритмов.

Насколько перспективна сейчас позиция функционального тестировщика, какие есть варианты для дальнейшего роста?

Я всегда улыбаюсь, когда мне задают подобные вопросы. Я пришел в профессию 16 лет назад, и не было ни дня, когда я об этом пожалел.

Начинал стажером по функциональному тестированию в крупной телеком-компании, потом получил серьезный опыт в международной компании, занимался проектным управлением в тестировании, завершил на позиции QA-директора.

В «Джете» занимаюсь контролем качества на всех основных проектах, а также продвижением и продажами QA- и Devops-услуг в российском IT-сегменте.

Считаю, что профессия инженера по тестированию очень многогранна: можно выбрать любое из направлений IT, оставаясь при этом работать в QA.

Это и техническая составляющая: можно уйти в эксперты, закопаться с разработкой тестовой инфраструктуры, автоматизацией самих тестов или формировать конвейер непрерывной интеграции и поставки (CI/CD) с помощью Devops-практик.

Есть и другие технические направления: нагрузочное тестирование, тестирование безопасности, тестирование алгоритмов Machine Learning. Можно уйти в управление: тест-менеджер управляет большими проектами по тестированию, формирует тестовую стратегию.

Можно выполнять роль скрам-мастера и, по сути, косвенно участвовать в управлении большими командами по разработке, аналитике и тестированию. Есть также опыт перехода в смежные команды: аналитику, разработку, управление проектами. Я неоднократно сталкивался с тем, что топ-менеджеры крупных компаний зачастую являются выходцами из QA.

Важно отметить, что технические эксперты оцениваются не меньше, чем менеджеры. Т.е. если сотрудник хочет повысить себе зарплату, но не хочет идти в менеджмент – это очень и очень реально. Зарплатные вилки на одних горизонтальных уровнях в «Джете» одинаковые.

Какие качества помогут человеку стать хорошим тестировщиком?

На начальном этапе будет достаточно большого желания учиться и проактивной жизненной позиции. Еще не помешает внимательность и аккуратность. Остальному обучим в ходе стажерской программы или уже на проектах.

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

Какие, на твой взгляд, у «Джета» есть плюсы как у работодателя?

Что увидел лично я – огромный спектр проектов и направлений. Поскольку «Джет» – интегратор, нам приходится работать с разными заказчиками, пробовать разные технологии от самых новомодных до совсем олдскульных, которые надо поддержать.

Скучно не бывает никогда: сотрудники могут участвовать сразу в нескольких проектах и нарабатывать экспертизу в разных областях.

Во-вторых, это команда: высококвалифицированные эксперты, которые открыты и всегда готовы прийти на помощь, ведь цель у всех общая.

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

Руководство компании прекрасно понимает, что главная ценность компании – квалифицированные обученные кадры.

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

Почему вы вообще решили запустить обучающую программу?

Есть два момента, которые хочется отметить. Первый – в наших вузах до сих пор нет системного подхода к преподаванию IT-дисциплин. Это отчасти объясняется тем, что технологии меняются очень быстро, поэтому уследить за всем и подстроить под это систему образования практически нереально.

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

Мы проводим подобную программу уже третий раз и очень довольны результатами.

Как в целом будет построено обучение и что получат стажеры на выходе?

Основной акцент, который мы решили сделать в этом году, – отказ от приглашенных тренеров. В «Джете» достаточно компетенций, чтобы провести обучение самостоятельно по всем направлениям.

Среди направлений, которые будут освещаться: общие моменты по построению методологии разработки ПО, теория тестирования, основы Linux, SQL-запросы, отработка презентационных навыков и работа в команде.

Традиционно будет практическая и теоретическая составляющие, оцениваться будут работа на занятиях и домашние задания, а в конце всех ждет защита небольшого дипломного проекта. Ну а лучшие стажеры получат предложение о работе в «Джете»!

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

Не ленитесь! Наша программа – это отличный шанс быстро войти в профессию и начать расти в IT-сфере. А если еще сомневаетесь, почитайте отзывы стажеров, которые теперь работают у нас в компании.

Алексей, тест-инженер, занимается функциональным тестированием (пришел в «Джет» в 2015 г.).

Приглашение посетить стажерскую программу получил через hh, сразу согласился.
В самом процессе обучения больше всего запомнились лекции по SQL и методологиям разработки ПО.

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

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

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

Анастасия, бизнес-аналитик (пришла в «Джет» в 2015 г., сначала занималась функциональным тестированием).

Три года назад совершенно случайно оказалась на стажировке в отдел тестирования. Ничего об этом не знала, поскольку еще училась и не особенно искала работу.

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

За время работы в отделе тестирования успела попробовать функциональное и автоматизированное тестирование.

Проработав в тестировании 1,5 года, захотела развиваться в другой области, а в «Джете» как раз проходила новая стажерская программа для аналитиков.

После обучения поняла, что это именно то, чем мне хотелось бы заниматься. Теперь работаю бизнес-аналитиком.

Рада, что «Джет» предоставил шанс войти в новую область за счет интересного обучения, а также возможность перейти из одного подразделения в другое.

Андрей, тест-инженер группы автоматизации тестирования (пришел в «Джет» в 2017 г., сначала занимался функциональным тестированием).

На стажерке оказался очень просто – ее прорекламировала моя сестра, которая работает в «Джете». На тот момент у меня не было опыта в этом направлении, и я решил воспользоваться шансом, даже кто-то умный писал, что стажировки – «дар» :).

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

Сейчас занимаюсь тестированием на проекте, связанном с разработанной в «Джете» антифрод-системой. (тестирование как ручное, так и автоматизированное).

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

Для этого прошел курсы (опять же, внутри компании) и поработал над автотестами в реальном проекте (сопровождение тестов, наладка CI-инфраструктуры, написание автотестов, отладка багов). В общем, воспитывался в боевых условиях :).

Мне все нравится: здесь помогают развиваться в том направлении, в котором ты хочешь расти. Но в любом случае, 95% успеха – это твое стремление к цели и желание расти как специалист.

Михаил, младший консультант Siebel (пришел в «Джет» в 2017 г., сначала занимался функциональным тестированием)

До стажерки в «Джете» я искал работу около пяти месяцев, проходил собеседования на вакансию тестировщика в разных компаниях.

Но даже на позицию младшего специалиста требовался опыт, которого у меня на тот момент не было. К тому же для меня важную роль играла возможность совмещения с учёбой – я как раз поступил в магистратуру.

И когда я уже думал проситься в какой-нибудь НИИ, мне прилетел отклик на hh от «Джета».

Не вижу особого смысла много рассказывать о самом обучении, скажу только, что было сложно, но чертовски интересно. Я благодарен спикерам за то, что помогли упорядочить знания в моей голове и избавиться от этой каши – это был полезный опыт.

После обучения меня привлекали на самые разные проекты.

В итоге я понял, что для собственного развития мне необходимо понимание процесса разработки не только с точки зрения тестировщика, но и разработчика.

По иронии судьбы на той же неделе предложили перейти в разработку Siebel. Сейчас занимаюсь внедрением Siebel OpenUI в крупном российском банке и планирую дальше развиваться в качестве разработчика.

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

Источник: https://job.jet.su/edu/interview/?ELEMENT_ID=19049

Курс

Тестирование и тестирование и тестирование и тестирование и тестирование и тестирование и тестирование

Курс для тех, кто хочет стать инженером по обеспечению качества программного обеспечения (QA-инженером, или же тестировщиком). Курс направлен на практические приемы тестирования. Количество теории в аудитории минимизировано, курс оптимален для тех, кто готов выложиться на 100%, чтобы добиться трудоустройства в качестве тестировщика.

Заполните заявку на участие

Менеджер перезвонит вам, когда получит ваши контакты.

Курс для тех, кто хочет стать инженером по обеспечению качества программного обеспечения (QA-инженером, или же тестировщиком). Курс направлен на практические приемы тестирования. Количество теории в аудитории минимизировано, курс оптимален для тех, кто готов выложиться на 100%, чтобы добиться трудоустройства в качестве тестировщика.

Заполните заявку на участие

Менеджер перезвонит вам, когда получит ваши контакты.

Евгений Карпович

Опыт более 9 лет в тестировании и смежных отраслях. Cпикер inQA.by community и Minsk QA club.

Сооснователь и участник inQA.by.

Гик тестирования. Победитель соревнований по тестированию. Преподаватель и ментор тестирования. Более 80% слушателей тренера трудоустраиваются по новой специальности после прохождения курса при условии выполнения самостоятельных заданий и прохождения собеседований под руководством тренера.

Страница тренера в LinkedIn

На занятиях вам понадобится ноутбук

Знакомство, QA и IT в общих чертах. Разбор типовых заблуждений о тестировании. Разбор логических паттернов.

1

Теория. Введение в тестирование ПО. Жизненный цикл ПО и связь с тестированием. Тестирование требований и документации.

2

Техники тест-дизайна с разбором и применением на практике. Поиск дефектов. Исследовательское тестирование. Виды и уровни тестирования ПО.

3

Разработка тестовой документации. Поиск и заведение багов. Теория. Практика. Разбор инструментов (Jira, redmine, testrail, testlink confluence) с студентами.

4

Планирование тестовых испытаний. Разбор теоретических нюансов тестирования.

5

Web тестирование. Разбор базовых инструментов тестировщика. Проксирование трафика. Cookies и cache.

6

SQL для тестировщиков. Теория. Практическое занятие по SQL.

7

Автоматизированное тестирование. Теория. Практическое применение на различных уровнях (студенты будут писать автотесты).

8

Нагрузочное тестирование. Тестирование безопасности. Теория и практика.

9

Мобильное тестирование. iOS, Android. Утилиты для тестирования мобильных приложений. Практическое тестирование.

10

Разбор тестов. Оценки выпускникам.

12

Скачайте свежее исследование вакансий QA-инженеров и узнайте, на какую зарплату вы можете рассчитывать!

Что вы получите в результате прохождения этого курса?

Навыки проведения исследовательского тестирования программного обеспечения

Умение писать тестовую документацию

Умение автоматизировать тестирование на различных платформах

Навыки проведения тестирования клиент-серверных Web-приложений, включая нагрузочное тестирование и тестирование безопасности

Навыки проведения тестирования мобильных приложений как для iOS, так и для Android

Рекомендации по трудоустройству и прохождению собеседований на позицию Junior QA – инженер в крупные ИТ-компании.

Ваше резюме после успешного завершения курса:

Тестирование Web (клиент-сервер) и мобильных приложений

Тестирование безопасности

Автоматизация тестирование

Инструменты: Jira, redmine, testrail, testlink, confluence

Портфолио: Тестовая документация о тестировании приложения на выбранной платформе

Это были два классных месяца интенсивного обучения! Много интересных практических заданий, отличный тренер, который с каждым занятием поднимает боевой дух и вызывает желание прокачивать свои скилы! Запоминается каждое занятие, будь то изучение новых тулов или решение интересных задач, которые иногда не выходили днями из головы. Знания и навыки планирую использовать на все 100%, обратной дороги нет!
Спасибо команде Mymonday за отлично проведенное время на ваших курсах, и в особенности нашему тренеру Евгению!

Александр Дубовский

Электромонтёр ОПС

Изначально мне понравилась программа курса, в которой были и теория (так нелюбимая мной), и практика (так любимая мной). Так как курс в себе сочетал два направления обучения, я обратила внимание на данный курс во главе с Евгением Карповичем.

Как преподаватель Евгений был доступен для понимания, никаких заученных терминов, все четко и ясно объяснял, на возникающие вопросы отвечал, приводил примеры для большего понимания, также делился информацией, касающейся устройства и правил области IT, давал много материалов на самостоятельное изучение. Атмосфера была непринужденная и даже дружественная. Мне удалось достаточно хорошо усвоить материал благодаря Евгению, определить эти знания как основу и двигаться дальше. Хочу выразить большую благодарность Евгению Карповичу и всей команде образовательной студии MyMonday.

Ольга Осипова

Инженер-программист

Общее количество выпускников курса

Звезд – средняя оценка курса на Google

ИТ-компаний приняли на работу наших выпускников

При успешном окончании курса вы получите:

Ценности студии “Мой понедельник”

Никаких “котов в мешке”

Оплата только после назначения даты старта занятий

Личный менеджер на все время обучения

Все ответы на организационные вопросы у знакомого вам человека

Оплата работы тренера, а не аренды компьютера

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

Кофе и печеньки

В перерывах для лучшей работы мозга

Источник: https://mymonday.by/testirovanie-programmnogo-obespechniya

Функциональное тестирование

Тестирование и тестирование и тестирование и тестирование и тестирование и тестирование и тестирование

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

В зависимости от степени доступа к коду системы можно выделить два типа функциональных испытаний:

  • тестирование black box (черный ящик) – проведение функционального тестирования без доступа к коду системы,
  • тестирование white box (белый ящик) – функциональное тестирование с доступом к коду системы.

Тестирование black box проводится без знания внутренних механизмов работы системы и опирается на внешние проявления ее работы. При этом тестировании проверяется поведение ПО при различных входных данных и внутреннем состоянии систем.

 В случае тестирования white box создаются тест-кейсы, основанные преимущественно на коде системы ПО. Также существует расширенный тип black-box тестирования, включающего в себя изучение кода, – так называемый grey box (серый ящик).

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

Протестируем системы любой сложности: поисковые, биллинговые, процессинговые, SAP и многие другие

Подготовка

Проведение

Отчет

Подготовка

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

Проведение

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

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

Отчет

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

Управление тестированием ведется в специализированных системах: HP ALM, IBM Rational Quality Manager, MS Team Foundation Server. В зависимости от нужд и возможностей клиента мы используем альтернативные системы отслеживания ошибок: Atlassian Jira, Redmine.

Функциональное тестирование и доработка АБС на базе Case Platform

Бизнес-задача

Убедиться в надежности и соответствии заявленным функциональным требованиям разработанного компанией «ФИС» автоматизированного банковского продукта на базе Case Platform.

Решение

Проведено ручное и автоматизированное функциональное тестирование, оказана поддержка тестирования разработчиков, помощь в доработке, конфигурации и внедрении ПО. По результатам работы отмечено повышение качества и улучшение производительности АБС.

Тестирование CRM-системы

Бизнес-задача

Провести тестирование функционала CRM при взаимодействии со смежными системами.

Решение

Была протестирована интеграционная цепочка из трех ESB-сервисов по получению информации о пластиковых картах клиентов банка.

Система функционального автоматизированного тестирования

Бизнес-задача

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

Решение

Разработана система функционального тестирования для автоматизации smoke-тестов. Расширен объем проверок за счет включения в систему регрессионных тестов. Дополнительно разработаны сценарии для подготовки и получения тестовых данных.

Тестирование мобильного приложения Smart Bank

Бизнес-задача

Провести работы по ручному функциональному тестированию автоматизированной системы мобильного банка «АС Smart Bank».

Решение

В качестве инструментария был выбран продукт HP Application Lifecycle Management 11.0. Тестирование проводилось на устройствах, работающих на платформах iOS и Android.

Ручное функциональное тестирование мобильного приложения «Переводы»

Бизнес-задача

Проверка функций переводов между картами, корректности расчета комиссии, привязки банковских карт типа VISA, MasterCard, Maestro.

Решение

При тестировании устройств на ОС iOS была использована Over-The-Air платформа TestFlight и iPhone Configuration Utility, тестирование ОС Android проводилось с помощью программы Android SDK.

Ручное функциональное тестирование системы ЕРИБ

Бизнес-задача

Повысить надежность системы, обеспечивающей выполнение банковских операций.

Решение

Проведение функционального, регрессионного и интеграционного тестирования функционала автоматизированной системы банка.

Функциональное тестирование системы Oracle Siebel CRM

Бизнес-задача

В задачи проекта входили: анализ требований, подготовка тест-кейсов, поддержка тестирования разработчиков, внутреннее системное тестирование (включая интеграционное), приемочное тестирование.

Решение

Функциональное тестирование системы осуществлялось в процессе ее внедрения. Была проведена проверка широкого спектра интерфейсов и back-end-разработок. Проектная команда «Апланы» осуществила проверку взаимодействия Oracle Siebel CRM с системами ЦФТ РБО, 1С, скоринга, а также с функционалом колл-центра..

Разработка мобильного приложения «Pro.Liver»

Бизнес-задача

Разработать аркаду, которая повышает осведомлённость о факторах риска для печени и рассказывает о принципах работы препарата Эссенциале Форте Н

Решение

Специалисты «Апланы» разработали приложение для планшетов и смартфонов на базе операционной системы iOS

Источник: http://aplana.ru/services/testing/functionalnoe-testirovanie

Закон для всех
Добавить комментарий