На новом TAD Talk отправимся в мир мобильного тестирования и узнаем все о его специфике, возможностях и стратегиях.
Когда: 7 мая 18:00 - 20:00 (Minsk)
Register
Когда: 7 мая 18:00 - 20:00 (Minsk)
Register
Всем привет!
Meetup сегодня: 06.05 в 18:00 (по Киеву)
Тема: What you should pay attention choosing mobile devices for testing. Device-specific bugs, emulators and simulators, selection criteria, an example of choosing a device for a project
Трансляция: Zoom
Meetup сегодня: 06.05 в 18:00 (по Киеву)
Тема: What you should pay attention choosing mobile devices for testing. Device-specific bugs, emulators and simulators, selection criteria, an example of choosing a device for a project
Трансляция: Zoom
Привет!
Ищем QA Automation Engineers (Java), кандидатов уровня junior тоже рассмотрим.
Локации: Минск, Витебск, Полоцк, Гомель, Чернигов, Черкассы, Харьков, Одесса, Днепр, удаленно тоже рассмотрим.
Пишите в ЛС @evgeniybryk
Ищем QA Automation Engineers (Java), кандидатов уровня junior тоже рассмотрим.
Локации: Минск, Витебск, Полоцк, Гомель, Чернигов, Черкассы, Харьков, Одесса, Днепр, удаленно тоже рассмотрим.
Пишите в ЛС @evgeniybryk
В одной из предыдущих статей мы обсуждали классы эквивалентности. Теперь предлагаем поговорить о не менее важной технике - граничные значения.
Исследования показывают, что на границах классов эквивалентности ошибки происходят наиболее часто. Дело в том, что для реализации логики границ разработчику нужно либо написать отдельный код, либо быть внимательнее. И именно в этот момент можно допустить ошибку. Давайте посмотрим на пример, чтобы было понятнее.
У нас есть следующая функция на PHP:
function isUserAdult($age) {
return $age > 18;
}
Она очень простая, на ее вход подается возраст пользователя, а функция возвращает true или false в зависимости от того, является ли возраст подходящим под условия совершеннолетия данной страны. Мы для простоты взяли пример стран СНГ - восемнадцатилетие.
Очевидно, что функция может вернуть всего два результата. Следовательно, класса эквивалентности у нее два - совершеннолетний возраст и несовершеннолетний. Так что можно сразу попробовать значения 5 и 25 и решить, что тестирование прошло успешно.
Однако, у нас есть еще граничное значение, собственно, возраст 18. Следуя только технике классов эквивалентности мы не обязаны проверять этот возраст, так как он эквивалентен возрасту 25 и также является возрастом совершеннолетнего человека. Однако, давайте все же попробуем?
Подставив вместо $age число 18 мы видим ошибку, так как 18 не больше числа 18 и функция вернет false, что будет означать несовершеннолетний возраст.
Само собой, разработчику в этом месте стоило быть внимательнее и правильнее подобрать условия неравенства - больше или равно.
Вот на таком простом примере мы показали, как техника граничных значений дополняет технику классов эквивалентности и делает итоговое тестирование более объемным. Не забывайте, что эти техники всегда используются в паре.
Конечно, в тестировании существуют и другие техники, о которых мы поговорим в дальнейших статьях.
Исследования показывают, что на границах классов эквивалентности ошибки происходят наиболее часто. Дело в том, что для реализации логики границ разработчику нужно либо написать отдельный код, либо быть внимательнее. И именно в этот момент можно допустить ошибку. Давайте посмотрим на пример, чтобы было понятнее.
У нас есть следующая функция на PHP:
function isUserAdult($age) {
return $age > 18;
}
Она очень простая, на ее вход подается возраст пользователя, а функция возвращает true или false в зависимости от того, является ли возраст подходящим под условия совершеннолетия данной страны. Мы для простоты взяли пример стран СНГ - восемнадцатилетие.
Очевидно, что функция может вернуть всего два результата. Следовательно, класса эквивалентности у нее два - совершеннолетний возраст и несовершеннолетний. Так что можно сразу попробовать значения 5 и 25 и решить, что тестирование прошло успешно.
Однако, у нас есть еще граничное значение, собственно, возраст 18. Следуя только технике классов эквивалентности мы не обязаны проверять этот возраст, так как он эквивалентен возрасту 25 и также является возрастом совершеннолетнего человека. Однако, давайте все же попробуем?
Подставив вместо $age число 18 мы видим ошибку, так как 18 не больше числа 18 и функция вернет false, что будет означать несовершеннолетний возраст.
Само собой, разработчику в этом месте стоило быть внимательнее и правильнее подобрать условия неравенства - больше или равно.
Вот на таком простом примере мы показали, как техника граничных значений дополняет технику классов эквивалентности и делает итоговое тестирование более объемным. Не забывайте, что эти техники всегда используются в паре.
Конечно, в тестировании существуют и другие техники, о которых мы поговорим в дальнейших статьях.
One Day ProQuality – твой день, посвященный росту в тестировании вместе с ProQuality Community.
Чтобы расти профессионально также стремительно, как сфера качества в IT, нужно постоянно оставаться на волне трендов и обучаться новому. Предлагаем сделать это вместе с крутой командой экспертов в разных направлениях тестирования!
Чтобы расти профессионально также стремительно, как сфера качества в IT, нужно постоянно оставаться на волне трендов и обучаться новому. Предлагаем сделать это вместе с крутой командой экспертов в разных направлениях тестирования!
Всем привет!
Давайте поближе познакомимся и для этого попрошу вас ответить на серию простых вопросов.
Вам не сложно, а нам приятно!)
Давайте поближе познакомимся и для этого попрошу вас ответить на серию простых вопросов.
Вам не сложно, а нам приятно!)
Какой у вас опыт в тестировании?
Anonymous Poll
40%
Не работаю в тестировании
41%
От года до трёх лет
19%
От трёх лет и больше
Куда хотите развиваться дальше?
Anonymous Poll
17%
В управление - хочу быть менеджером
41%
Хочу расти как технический специалист по всем направлениям
39%
Хочу перейти в автоматизацию из ручного тестирования
12%
Хочу перейти в разработку
17%
Ну сколько можно, я все ещё не работаю в тестировании…
2%
Ничего из этого, расскажу в комментарии к опросу
Как вы учились тестировать?
Anonymous Poll
31%
Самостоятельно. Прочитал весь гугл
65%
По курсам. Специалисты своего дела любят делиться проверенной информацией и готовят настоящих асов
32%
По книгам, статьям на Хабре и Медиуме и Ютубе
6%
Знакомый человек работает в тестировании - всему научил
10%
Ладно, я стану тестировщиком, только прекратите это уже!!!)
Как сообщать о багах?
Давайте поговорим о том, как тестировщику правильно сообщить о баге.
Найдя баг в системе, тестировщик обычно должен завести на него задачу в баг-трекере. Для этого ему предстоит написать заголовок и описать способ воспроизведения бага.
Чем больше релевантной информации передаст тестировщик в баге, тем быстрее будут они исправляться. Не стоит забывать, что баги далеко не всегда исправляются сразу. Чем полнее будет описание, чем лучше вы введете разработчика в контекст и тем меньше шанс, что через некоторое время баг будет понят неправильно и ошибочно закрыт.
Заголовок бага
У багрепорта должен быть максимально информативный заголовок. Писать его нужно так, чтобы только по названию можно было понять суть проблемы, область, где произошла ошибка, и ее критичность.
В первую очередь стоит руководствоваться простой мнемоникой “что, где, когда”. Сначала надо написать «что» сломалось, а уже потом «в каком месте» и «при каких условиях».
Например, название “сломалась оплата” - плохое. Не ясно где именно произошла ошибка и насколько она критична. Разработчику потребуется дополнительное время, чтобы зайти в задачу и выяснить это.
Хороший пример выглядит так: “Ошибка “Сервер недоступен” в корзине при нажатии кнопки “Оплата через Paypal”.
Здесь сразу понятно и конкретное место происхождения ошибки, и критичность, и даже возможная причина.
Еще примеры.
Плохо: “Некорректно работает форма логина”
Хорошо: “Ошибка “Пользователь не найден” при вводе email в качестве логина”.
Здесь мы видим и тип ошибки, и место происхождения, и возможные данные для воспроизведения.
Описание
В отличие от заголовка, описание бага должно давать исчерпывающую информацию об ошибке. Как минимум, должны присутствовать шаги воспроизведения, фактический и ожидаемый результат.
Опционально можно добавить дополнительные файлы (логи и скриншоты), версию продукта, окружение (версию ОС, браузеров, конкретные девайсы).
Выглядит хорошее описание примерно вот так:
Платформа: Pixel 3 XL, Android 9.0
Версия приложения: 1.5.1
Шаги:
- Открыть приложение
- Авторизоваться
- Открыть вкладку “профиль”
- Ввести в поле “имя” значение “Олег”
- Нажать на кнопку сохранить
Фактический результат: выдается сообщение “такое имя уже есть”
Ожидаемый результат: имя сохраняется
Лог приложения: bugLogin.txt
Скриншот: screen.jpg
Как видите, такой баг легко читается, по нему можно быстро понять, где происходит ошибка, и как ее воспроизвести. Попробуйте сами оформлять баги подобным образом.
Спасибо за внимание!
Давайте поговорим о том, как тестировщику правильно сообщить о баге.
Найдя баг в системе, тестировщик обычно должен завести на него задачу в баг-трекере. Для этого ему предстоит написать заголовок и описать способ воспроизведения бага.
Чем больше релевантной информации передаст тестировщик в баге, тем быстрее будут они исправляться. Не стоит забывать, что баги далеко не всегда исправляются сразу. Чем полнее будет описание, чем лучше вы введете разработчика в контекст и тем меньше шанс, что через некоторое время баг будет понят неправильно и ошибочно закрыт.
Заголовок бага
У багрепорта должен быть максимально информативный заголовок. Писать его нужно так, чтобы только по названию можно было понять суть проблемы, область, где произошла ошибка, и ее критичность.
В первую очередь стоит руководствоваться простой мнемоникой “что, где, когда”. Сначала надо написать «что» сломалось, а уже потом «в каком месте» и «при каких условиях».
Например, название “сломалась оплата” - плохое. Не ясно где именно произошла ошибка и насколько она критична. Разработчику потребуется дополнительное время, чтобы зайти в задачу и выяснить это.
Хороший пример выглядит так: “Ошибка “Сервер недоступен” в корзине при нажатии кнопки “Оплата через Paypal”.
Здесь сразу понятно и конкретное место происхождения ошибки, и критичность, и даже возможная причина.
Еще примеры.
Плохо: “Некорректно работает форма логина”
Хорошо: “Ошибка “Пользователь не найден” при вводе email в качестве логина”.
Здесь мы видим и тип ошибки, и место происхождения, и возможные данные для воспроизведения.
Описание
В отличие от заголовка, описание бага должно давать исчерпывающую информацию об ошибке. Как минимум, должны присутствовать шаги воспроизведения, фактический и ожидаемый результат.
Опционально можно добавить дополнительные файлы (логи и скриншоты), версию продукта, окружение (версию ОС, браузеров, конкретные девайсы).
Выглядит хорошее описание примерно вот так:
Платформа: Pixel 3 XL, Android 9.0
Версия приложения: 1.5.1
Шаги:
- Открыть приложение
- Авторизоваться
- Открыть вкладку “профиль”
- Ввести в поле “имя” значение “Олег”
- Нажать на кнопку сохранить
Фактический результат: выдается сообщение “такое имя уже есть”
Ожидаемый результат: имя сохраняется
Лог приложения: bugLogin.txt
Скриншот: screen.jpg
Как видите, такой баг легко читается, по нему можно быстро понять, где происходит ошибка, и как ее воспроизвести. Попробуйте сами оформлять баги подобным образом.
Спасибо за внимание!
#AQA #Selenium #Jenkins
В этом материале идет речь о том, что такое Jenkins и Selenium, а так же о методах их интеграции. Если у вас уже есть некоторый опыт работы с этими системами, но вы интересуетесь тем, как наладить их совместную работу, вы можете сразу же перейти к соответствующему разделу.
Читать
В этом материале идет речь о том, что такое Jenkins и Selenium, а так же о методах их интеграции. Если у вас уже есть некоторый опыт работы с этими системами, но вы интересуетесь тем, как наладить их совместную работу, вы можете сразу же перейти к соответствующему разделу.
Читать
Дорогие друзья, у нас для вас есть замечательная новость!
Открыт набор стажеров QA/Aqa в локациях Черкассы и Чернигов.
На данный момент есть 10 мест
Не упусти свой шанс войти в АйТи!)
По вопросам набора обращаться к @VINTA5
Открыт набор стажеров QA/Aqa в локациях Черкассы и Чернигов.
На данный момент есть 10 мест
Не упусти свой шанс войти в АйТи!)
По вопросам набора обращаться к @VINTA5
Коллеги, привет. Наши друзья из learnqa.ru делают завтра (2 июня) очередной запуск онлайн курсов из серии “Инструменты тестировщика”.
Каждый инструмент пригодится в работе как начинающему тестировщику, так и тому, кто уже какое-то время работает в сфере и хочет подтянуть свои знания. Скорее всего вы будете пользоваться ими постоянно:
✅ SQL - язык запросов к базам данных. Мастхэв практически на любом собеседовании. В работе пригодится тем, кто планирует заниматься тестированием баз данных и бэкенда. Курс практический - каждый ученик получает доступы к настоящим БД.
https://www.learnqa.ru/sql
✅ bash - невозможно представить эффективную работу с командной строкой без знания основных команд и утилит. Bash нужен тем, кто занимается тестированием бэкенда (сервера), API, мобильных приложений или Web.
https://www.learnqa.ru/bash
✅ Docker - это возможность запускать любое приложение или тесты в контейнере, совершенно на любом сервере. Обязателен к изучению тем, кто занимается автоматизацией. Кстати, на курсе мы учимся как раз на примерах, связанных с запусков автотестов.
https://www.learnqa.ru/docker
✅ Git - это утилита для тех, кто работает с кодом, будь то автотесты или исходный код тестируемого вами приложения. В первую очередь пригодится тем, кто хочет успешно влиться в команду, которая уже работает с этим инструментом.
https://www.learnqa.ru/git
✅ Chrome DevTools - инструмент для тестирования web-приложений. Все от работы с HTML и JavaScript до изучения http-запросов на сервер и оценки производительности. Минимум теории, максимум практики на специально подготовленном для курса сайте.
https://www.learnqa.ru/devtools
✅ adb - это мощная утилита для тестирования приложения на Android, позволяющая сделать проверку эффективнее.
https://www.learnqa.ru/adb
О том, в каком формате проходят онлайн курсы LearnQA, можно почитать тут: https://www.learnqa.ru/how
А для участников этой группы у нас есть уникальный промокод на скидку: LQAANDERSEN
Записывайтесь на курсы, изучайте новые инструменты и делайте свою работу эффективнее!
Каждый инструмент пригодится в работе как начинающему тестировщику, так и тому, кто уже какое-то время работает в сфере и хочет подтянуть свои знания. Скорее всего вы будете пользоваться ими постоянно:
✅ SQL - язык запросов к базам данных. Мастхэв практически на любом собеседовании. В работе пригодится тем, кто планирует заниматься тестированием баз данных и бэкенда. Курс практический - каждый ученик получает доступы к настоящим БД.
https://www.learnqa.ru/sql
✅ bash - невозможно представить эффективную работу с командной строкой без знания основных команд и утилит. Bash нужен тем, кто занимается тестированием бэкенда (сервера), API, мобильных приложений или Web.
https://www.learnqa.ru/bash
✅ Docker - это возможность запускать любое приложение или тесты в контейнере, совершенно на любом сервере. Обязателен к изучению тем, кто занимается автоматизацией. Кстати, на курсе мы учимся как раз на примерах, связанных с запусков автотестов.
https://www.learnqa.ru/docker
✅ Git - это утилита для тех, кто работает с кодом, будь то автотесты или исходный код тестируемого вами приложения. В первую очередь пригодится тем, кто хочет успешно влиться в команду, которая уже работает с этим инструментом.
https://www.learnqa.ru/git
✅ Chrome DevTools - инструмент для тестирования web-приложений. Все от работы с HTML и JavaScript до изучения http-запросов на сервер и оценки производительности. Минимум теории, максимум практики на специально подготовленном для курса сайте.
https://www.learnqa.ru/devtools
✅ adb - это мощная утилита для тестирования приложения на Android, позволяющая сделать проверку эффективнее.
https://www.learnqa.ru/adb
О том, в каком формате проходят онлайн курсы LearnQA, можно почитать тут: https://www.learnqa.ru/how
А для участников этой группы у нас есть уникальный промокод на скидку: LQAANDERSEN
Записывайтесь на курсы, изучайте новые инструменты и делайте свою работу эффективнее!
www.learnqa.ru
SQL: Инструменты тестировщика
SQL для тестировщиков курс онлайн