Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
8.78K subscribers
1.23K photos
154 videos
23 files
2.58K links
Все самое полезное для тестировщика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/12538d6f

Работать у нас: https://job.proglib.io/

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Мобильное тестирование: быстрый гайд. Часть 2

Продолжение темы, начатой в этом посте

Важные чеки

🔹 Проверка, что при переходе от одного экрана к другому одни и те же API не вызываются несколько раз.
🔹Так называемый дебаунсинг (debouncing), это влияет на производительность и юзабельность приложения.
🔹 В мобильных приложениях важно контролировать шрифты/цвета, и размер текста, поскольку для пользователей это имеет громадное значение.
🔹 Хорошей практикой является привлечение к процессу специалистов по UI/UX, чтобы они могли более квалифицированно посмотреть, и наглядно показать проблемы с UX, если таковые возникнут.
🔹 Дополнительная ручная, очень тщательная проверка функциональности и производительности приложения на 1-2 самых «ходовых» девайсах.
🔹 Что касается логов, проверьте, не записывается ли в них неконтролируемо какая-либо личная информация (так называемая PII, personally identifiable information, позволяющая связать пользователя с данными), поскольку теоретически это может привести к юридическим последствиям.

Дополнительные важные сценарии: батарея, режим ожидания, сеть

Сценарии, связанные с батареей:

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

Сценарии, связанные со спящим режимом девайса:

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

Сценарии, связанные с подключением к Интернету/WiFi и сервисами определения местоположения:

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

#гайд
🥰53
Предлагаем попробовать формат поста: «Вопросы-ответы для собеса». Если зайдет — продолжим. Полезно будет для совсем зеленых, а для бывалых — освежить что-то в памяти или получить ответ в другом исполнении.

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

Модели разработки
🔹 Waterfall (каскадная модель, или «водопад»). В этой модели разработка осуществляется поэтапно: каждая следующая стадия начинается только после того, как заканчивается предыдущая. Если всё делать правильно, «водопад» будет наиболее быстрой и простой моделью.
🔹 V-образная модель (разработка через тестирование). Это усовершенствованная каскадная модель, в которой заказчик с командой программистов одновременно составляют требования к системе и описывают, как будут тестировать её на каждом этапе.
🔹 Incremental Model (инкрементная модель). Проект разрабатывается, реализуется и тестируется инкрементно до самого окончания разработки. Это включает в себя как разработку, так и дальнейшую поддержку продукта. Он считается законченным в то время, когда удовлетворяет всем требованиям. Модель объединяет элементы каскадной модели с прототипированием.
🔹 Iterative Model (итеративная модель). Заказчик не обязан понимать, какой продукт хочет получить в итоге, и может не прописывать сразу подробное техзадание.
🔹 Spiral Model (спиральная модель). Заказчик и команда разработчиков анализируют риски проекта и выполняют его итерациями. Последующая стадия основывается на предыдущей, а в конце каждого цикла итераций принимается решение, продолжать ли проект.

Чем отличаются testing, QC, QA, AQA
🔹 Testing (Тестирование) – первый уровень. Проверка создаваемого ПО на соответствие требованиям к этому продукту: выдали – проверил – описал дефекты – исправили. Основная задача тестирования – выявить и зафиксировать дефекты.
🔹 QC (Quality Control, контроль качества) – второй уровень, включающий в себя тестирование, но не ограничивающийся им. Этап обеспечивает не только проверку продукта на соответствие требованиям, но и соответствие заранее согласованному уровню качества продукта и готовность к выпуску его в продакшен. Основная задача – предоставить описание того, что происходит с качеством продукта на разных этапах разработки.
🔹 QA (Quality Assurance, обеспечение качества) – третий уровень, включает в себя мероприятия на всех этапах разработки продукта для обеспечения согласованного уровня качества продукта. Основная задача обеспечения качества – выстроить систему, которая будет превентивно работать на качество продукта, чтобы при тестировании количество дефектов было минимальным. В зависимости от специфики проекта сюда может включаться тестирование документации, ревью кода на соответствие стандартам, внедрение каких-то методик по работе с качеством и прочее.
🔹 Термином AQA (расшифровывается как Automation Quality Assurance) называют специалистов, которые занимаются автоматизацией тестирования

#туториал
19👍5🔥4❤‍🔥1👏1
😎 Очередной #дайджест по QA

👉 10 способов посмотреть, как выглядит сайт на мобильном — как получить полный отчет о проверке и рекомендации по устранению недочетов
👉 Рассказ о том, как QA решили документацию тестировать — дешевле найти ошибку в требованиях, чем обнаружить дефект в уже реализованном программном продукте
👉 Виды нагрузочного тестирования — основные виды нагрузочного тестирования и как они могут помочь улучшить производительность системы
👉 QAчественное общение — мероприятие, посвященное правильному построению процесса разработки, оптимизированию автотестов и особенностям тестирования на Android
👉 Хорошие UI-тесты — в видосе рассматривается архитектура, как быстро и правильно писать, как работать в команде и вести тестовую документацию
🎉9👍8🥰54🤩3
Собеседование QA Automation Java: стандартные задачи

Материал включает в себя список задач с верным ответом.

Содержание:

🔹 Напишите код, который профильтрует дублирующиеся элементы в массиве и выведет их в виде списка.
🔹 Дайте пример кода, который сортирует список строк с использованием коллекции.
🔹 Напишите функцию, которая переворачивает число (порядок цифр в нем изменяет на противоположный, инвертирует).
🔹 Напишите метод проверки, является ли введенное число простым числом
🔹 Напишите метод поиска двух самых больших значений в массиве.
🔹 Напишите код поиска самой длинной подстроки из введенной строки, в которой нет дублирующихся символов.
🔹 Напишите код, который удаляет из строки лишние пробелы.
🔹 Напишите код, проверяющий, является ли введенное число палиндромом (то есть, читается ли с конца на начало — так же как с начала на конец, как слово «Анна» или фраза «Лёша на полке клопа нашёл»).
🔹 Напишите код, который меняет местами два числа, при этом нельзя создавать «временную» переменную.
🔹 Напишите код, который переворачивает строку, в двух вариантах: с применением класса BufferString, и без.

Подробнее

#собесы
7👍4🤔2
18 готовых скриптов для Postman

В Postman скрипты пишутся на JavaScript во вкладке «Тесты» после отправки API-запроса. Каждый скрипт ниже — связан с определенным API-запросом и выполняется автоматически после отправки этого запроса. Скрипт имеет доступ к данным ответа и запроса и различным функциям Postman.

Базовая структура скрипта выглядит следующим образом:

pm.test("Test Description", function () {
// Assertion logic goes here
});

Изучить скрипты

#туториал
🥰1915👏11👍10🔥10
🎉🏵️ Что нового в Chrome 117

Выкатили обнову для Chrome. Что примечательного:

🔹 Три новые функции CSS позволяют легко добавлять плавные анимации появления и исчезновения.
🔹 Вычисление наборов данных более высокого порядка с помощью группировки массивов.
🔹 DevTools упрощает процесс локальных переопределений.
🔹 И многое другое.

Новые возможности CSS для анимации появления и исчезновения

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

Первая функция — transition-behavior. Для анимации дискретных свойств, таких как display, используйте значение allow-discrete для transition-behavior.

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

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

Группировка массивов

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

Группировка массивов позволяет реализовать эти сценарии за счет добавления статических методов Object.groupBy и Map.groupBy.

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

Упорядочение локальных переопределений в DevTools

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

И по мелочи

🔹 Долгожданное значение subgrid для grid-template-columns и grid-template-rows теперь реализовано в Chrome.
🔹 WebSQL помечена как устаревшая и событие unload тоже.
🔹 notRestoredReasons API для bfcache должен быть запущен в этой версии.

#новости
👍51🔥1
Что бесит рекрутеров и соискателей на интервью

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

Ахиллесова пята IT-рекрутинга — это собеседования. Такие разные, такие эмоциональные и интересные — они как кино:

есть классика: «Мы расскажем о себе, вы расскажете о себе, поговорим о нас»;
есть артхаус, авторское кино: «Ни за что не хочу такого опыта снова, но расскажу о нём всем!»;
бывают комедии или сериалы в 5–6 этапов (это вообще жесть😱).

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

Подробнее

#дляобщегоразвития
9👍2
🎓💼 ТОП-9 не самых очевидных компаний для стажировки в ИТ

Везде просят опыт работы... Но где его взять? Как раз об этом сейчас и расскажем!

Читать
8👍2🔥1
😎 #дайджест ресурсов, которые прокачают ваш английский:

👉 Learn English British Council — на сайте можно пройти языковые курсы онлайн, позаниматься в бесплатных тренажерах, попрактиковать Speaking, Listening, Reading и Writing.

👉 Baihou English — имеется раздел с понятными уроками по английской грамматике, фразы и идиомы, собрана коллекция мотивирующих и вдохновляющих видео и самых популярных песен с субтитрами.

👉 Voice of America — тут вы найдете идиомы в американском английском, новости, объяснения использования слов из той или иной тематики, видео разных тематик с субтитрами и адаптированной скоростью речи.

👉 BBC English — здесь можно пройти тесты, викторины, почитать актуальные новости доступным языком и все в таком роде. Для отработки навыков чтения на английском точно хватит.

👉 Lingualeo — площадка с различными форматами обучения (видео, тесты, речь, песни и прочее). Бонусом к этому ресурсу юзайте ролики из YouTube от канала EngVid — очень толковые ребята
4👍2🔥2
Ozon Tech Community QA Meetup

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

Программа встречи:

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

Фёдор Жирков, руководитель группы тестирования «ТМЦ, брак и излишки».
«Как устроено тестирование склада (WMS)». Как выглядит верхнеуровневая архитектура сервисов и топология команды, как устроено тестирование бэка. Обсудите тестирование фронта (WEB), мобилки (Android), а также немного о нагрузочном тестировании.

Владимир Ушаков, специалист по тестированию в группе «Производство и возвраты».
«Кодогенерация Python gRPC клиентов». Узнаете, как устроен генератор, как версионируются пакеты, а также как они используются в текущий момент.

Присоединяйтесь тут
5👍1🔥1
🛠️⚒️ Инструменты и навыки для новичков. Или как не потеряться в дремучем лесу тестирования

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

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

⚠️ Статья имеет очевидный рекламный подтекст, но это НЕ реклама. Из материала можно почерпнуть реальные полезные советы для новичков.

Читать статью
7
🔎📡 Поиск локаторов в iOS приложениях

Использование Appium Inspector для поиска элементов в iOS-приложениях может быть полезным при автоматизации тестирования мобильных приложений. Appium Inspector предоставляет графический интерфейс для взаимодействия с приложением и поиска локаторов (элементов) для автотестов.

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

Вот такой план:

Настройка окружения
Установка XCode
Установка Appium
Запуск Appium Inspector

Поиск локаторов
Происходит с помощью таких инструментов:
iOS Class Chain
iOS Predicate String
XPath

Подробнее здесь
👍5🔥21
🛣️ Дорожная карта Java-разработчика в 2023 году

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

#новость
4🔥1
Продолжаем формат поста: «Вопросы-ответы для собеса».

Ошибка, дефект, сбой, отказы - различия
Ошибка (error , mistake) — действие человека, приводящее к некорректным результатам.
Дефект (defect, bug, problem, fault) — недостаток в компоненте или системе, способный привести к ситуации сбоя или отказа.
Дефекты могут быть в документации, настройках, входных данных и т.д.
Сбой — самоустраняющийся отказ или однократный отказ, устраняемый незначительным вмешательством оператора.
Отказ — событие, заключающееся в нарушении работоспособного состояния объекта.
Сбои и отказы являются тем, что тестировщик замечает в процессе тестирования и отталкиваясь от чего, проводит исследование с целью выявить дефект и его причины.

Верификация и валидация - различия
Верификация — проверка соответствия приложения прописанным требованиям.
Валидация — проверка соответствия приложения всем остальным (подразумеваемым) требованиям.

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

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

Жизненный цикл тестирования (STLC)
Жизненный цикл тестирования — это последовательность действий, проводимых в процессе тестирования, с помощью которых гарантируется качество программного обеспечения и его соответствие требованиям. STLC включает действия по верификации и валидации.
ЭТАПЫ ЖИЗНЕННОГО ЦИКЛА ТЕСТИРОВАНИЯ:
🔹 Планирование и анализ требований. Важно хотя бы найти ответы на такие вопросы, как: что нужно тестировать, какой объем работы ожидается, какие трудности возникнут во время работы и т.д.
🔹 Критерии ввода. Вы формулируете или указываете критерии ввода (чтобы определить, когда можно или необходимо начинать процесс тестирования ПО), критерий приостановки, и критерий прекращения тестирования.
🔹 Стратегия тестирования. Старший QA-менеджер определяет затраты и усилия на работу над проектом и готовит тест-план для всех видов тестирования.
🔹 Разработка тест-кейсов. Тест-кейсы создаются, разрабатываются, проверяются и перерабатываются. Также, этот этап включает в себя создание, пересмотр и переработку тестовых данных.
🔹 Установка среды. Выполняется одновременно с этапом разработки тест-кейсов. Она определяет аппаратные и программные условия, при которых тестируется продукт.
🔹 Выполнение тестов.
🔹 Завершение цикла тестирования.

Нет фиксированного стандарта жизненного цикла тестирования. Он может меняться в зависимости от:
- Жизненного цикла разработки.
- Желаний руководства.

#туториал
👏97
🐞🪲🌍 Real-World Bug Hunting: A Field Guide to Web Hacking

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

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

В книге поднимаются вопросы:
Как работает интернет и основные концепции взлома веб приложений
Как злоумышленники компрометируют веб-сайты

Книга

#обучение
👍5👏1
🤔 Очередной #дайджест по QA

📌 Большой гайд по тестированию с Postman для начинающих — покроет большинство сценариев в вашей повседневной работе
📌 Testify meet up — митапа об особенностях тестирования ПО в разных сферах бизнеса
📌 Selenium with Java — книга про настройки среды для написания тестовых сценариев с Selenium
📌 Сказ о том, как я собеседования проводила — советы не о том, как достойно его пройти, а как быть нормальным интервьюером
📌 Как попасть в IT и не сгореть от тревог, неудач и синдрома самозванца — в видосе Доктор Кот объясняет природу страхов испытательных сроков, сравнения себя с другими, а также боязнь собеседований
👍54
Что позволяет автоматизировать функциональное и регрессионное тестирование приложений?
Anonymous Quiz
2%
Flask
79%
Selenium
5%
QTP
15%
QA-программирование
4👍2