QA Community
4.39K subscribers
617 photos
101 videos
529 links
You can find it here:
- news
- real cases
- meetups and talks
- internship programs
- and sparkling humor

Cooperation: @evgeniybryk

FB channel: https://www.facebook.com/people/QA-Community/100086298857628
Download Telegram
QA Meetup online. by Andersenlab.com
Updated! Завтра 15 июля 19.00 (По Минску)

Жизнь QA сложна, но интересна. Как сделать меньше первого и больше второго? Узнаете на нашем бесплатном онлайн-митапе! Матерые баголовцы из Andersen и СберМаркета поделятся своими кейсами и (возможно) сделают вашу жизнь лучше.

Спикеры:
1) Владимир Худойкин - Head of Test Automation at SberMarket
Доклад: “Как мы вырастили своего Кракена в СберМаркете”
Кракен - это название фреймворка автоматизации в СберМаркете.

2) Эльдар Нуртдинов - AQA Engineer в компании Andersen
Доклад: “Жизнь замечательных Pipelines”

3) Александр Шкредов - Andersenlab QA Team Lead
Доклад: Как поднять тестирование на Legacy проекте с нуля и не дать ему умереть

Регистрируйтесь в форме, чтобы стать участником.

Принять участие
Forwarded from ANDERSEN TRAINEE
ЧЕРНИГОВ, в сентябре стартует оффлайн-курс "Тестирование ПО".
Будем рады всем, кому интересно получить знания
по актуальному и востребованному направлению QA.
Вся информация в "шапке" регистрационной формы⬇️
https://forms.gle/D6cmzox8xUtLhHhb6
Продолжаем цикл логических задач.
Задача № 2:
Даны две веревки и спички. Каждая из верёвок сгорает за 1 час, но горят они неравномерно, поэтому нельзя точно узнать, какая часть веревки за какое время сгорит. Как отмерить при помощи этих веревок интервал в 45 минут?
На собеседованиях начинающим тестировщикам часто дают задание на проверку работы формы. Одно из наиболее популярных – тестирование программы, которая определяет тип треугольника по трем его сторонам. Каждая из сторон задается в отдельном текстовом поле.

Для того, чтобы вы могли потренироваться, наши друзья из learnqa сделали простой тренажер и спрятали в нем несколько багов. Также он подсчитывает разные варианты кейсов, которые вы можете использовать для тестирования. Естественно, учитываются только самые популярные кейсы – но вы вольны вводить любые данные. Если сможете угадать все варианты – получите приятный сюрприз. Ну а если найдете все баги - сюрприз будет еще приятнее!

Найди все баги!
#QA #Test_design

Boundary Value Testing (техника анализа граничных значений) наиболее известная и простая техника тест дизайна, призванная помогать рядовому тестировщику выбирать наиболее эффективные значения для тестирования. Эта техника применима на всех уровнях тестирования - unit, integration, system, and system-integration test levels.

Читать
#Bash

Предлагаю вашему внимаю цикл видео по bash для тестировщика. Узнайте силу командной строки

Установка и настройка
ls, mkdir, rm команды
mv, cp, nano, less, vi, cat команды
Поиск через grep и find
Привет, коллеги.

В предыдущих постах мы уже осветили два довольно важных типа уязвимостей - SQL-инъекции и подделку запросов (CSRF). В этой решили добавить тему самых популярных уязвимостей, рассказав про XSS.

XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») — довольно популярная уязвимость, которую до сих пор можно найти на большом количестве веб-приложений. Суть уязвимости заключается в следующем - злоумышленнику удается внедрить на страницу веб-приложения JavaScript-код, который не был предусмотрен разработчиками этого приложения. Этот код будет выполняться каждый раз, когда жертвы (обычные пользователи) будут заходить на страницу приложения, куда этот код был внедрен. Использовать внедренный код злоумышленники могут по-разному.

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

Прежде всего не ясно, как же именно можно внедрить JavaScript-код на сайт? Все просто, например, можно добавить JavaScript-код в поле ввода, текст из которого сохраняется и в дальнейшем отображается на странице для всех пользователей. Это может быть поле для ввода информации о себе на странице профиля социальной сети или комментарии на форуме.

Злоумышленник вводит текст (и за одно вредоносный код), который сохраняется на странице. Когда другие пользователи зайдут на эту же страницу, вместе с текстом они загрузят и JavaScript-код злоумышленника. Именно в момент загрузки этот код выполнится браузером.

Суть в том, что браузер не может самостоятельно отличить обычный текст от текста, который является CSS, HTML или JavaScript-кодом. Он будет пытаться обрабатывать все, что находится между тегами <script>, как JavaScript-код. Все, что находится между тегами <style>, считать CSS. И все, что похоже на тег, считать HTML-кодом.

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

Увы, иногда разработчики забывают об экранировании в тех или иных местах веб-приложения, и текст выводится без всякой обработки. В этом случае вся надежда на тестировщиков.
#Security

«Осторожно, печеньки!»: советы начинающим тестировщикам в сфере безопасности

Термин «тестирование безопасности» звучит довольно серьёзно. Многие боятся погружаться в эту тему, думая, что их ждут непроходимые дебри из непонятных слов, сложной литературы и загадочных аббревиатур. В этой статье познакомимся с основами тестирования безопасности и вы убедитесь, что на самом деле это просто и интересно.

Читать
#Авторская_колонка

Привет, коллеги.

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

Прежде всего начнем с трендов - а какие языки программирования вообще популярны в автоматизации? По моему опыту, разделение примерно следующее:

Java занимает порядка 50-60% рынка
Python идет на втором месте - это порядка 30% рынка
JavaScript набирает обороты благодаря новым технологиям (playwright, cypress), но это все еще ~10% процентов рынка
Остальное - Kotlin, Go, Ruby...

Само собой, статистика может отличаться где-нибудь в странах Индии или Китая, но для стран СНГ, ЕС и США вполне актуальна.

Итак, цифры есть, посмотреть на них можно, но какой вывод сделать? Здесь есть несколько вариантов.

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

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

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

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

Есть знакомый, хорошо владеющий Python - учите Python. Будет с кем посоветоваться. Знаете достоверно хорошие курсы по Java - выбирайте его. А может быть у вас давно лежит книга по Ruby и ее можно открыть и начать изучать прямо сейчас - так чего тратить время на выбор чего-то еще?

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

Примерно так я бы рассуждал сегодня при выборе своего первого языка программирования. А вам - успехов в обучении. И помните - самое главное это начать. Дорога возникает под шагами идущего. :)
Сергей Павлович - бывший киберпреступник, отсидевший за аферы с банковскими картами 10 лет. Его история, о которой писали крупнейшие западные издания, не закончена до сих пор. Для американских властей Сергей до сих пор остается беглым преступником, а для общества - человеком с криминальным прошлым. О праве на новую жизнь, легальном бизнесе, пентестах, даркнете и киберугрозах для каждого из нас - в новом выпуске Andersen People!

https://youtu.be/r-g1GCXyOec
#test_design

State-Transition testing, как и decision tables testing, отличный инструмент для фиксирования требований и описания дизайна приложения. В отличии от Decision tables testing, которые описывают конкретное состояние приложения, State-Transition testing описывают как эти состояния приложения могут меняться. Диаграммы определяют все события, которые возникают во время работы приложения, и как приложение реагирует на эти события.

Читать
Media is too big
VIEW IN TELEGRAM
Новое видео вышло у наших коллег и партнёров! Зайдите на канал Andersen People и оцените контент. Ребята делают качественные и интересные интервью. Ссылку на канал оставлю ниже. И посмотрите небольшой фрагмент из последнего видео. Как вам?

Перейти на Youtube канал
#qa #solutions

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

Читать
Продолжаем развивать логическое мышление.
Задача № 3:

Один монах вышел из дома ровно в 6 утра и пошел в монастырь на горе. Тропинка туда длинная, винтовая. Монах шел то не спеша, то быстрее, иногда останавливался передохнуть или перекусить. В-общем, пришел он в монастырь ровно в 6 часов вечера. Отслужил там три дня, и на четвёртый вышел из монастыря ровно в 6 утра и пошел домой по той же винтовой тропинке. Шел так же беспорядочно, иногда останавливаясь, даже возвращаясь чуть-чуть - понюхать цветок, к примеру. В-общем, пришел домой ровно в 6 вечера. Вопрос: Побывал ли монах дважды в одно и то же время суток - когда поднимался в монастырь и когда возвращался домой - в одном и том же месте тропинки? - и, соответственно, - почему?
ТАКОЙ РАЗНЫЙ SELECT

Умеешь работать с SELECTом? Считай, можешь вписывать в CV навык работы с SQL запросами! Предлагаем твоему (да, твоему!) вниманию серию постов-шпаргалок по работе с выбором данных из реляционных БД.

Простая выборка:
Звездочка означает, что из таблицы будут выбраны все данные
SELECT * FROM my__contacts;

Поиск в соответствии с определенными параметрами
SELECT * FROM my contacts WHERE first__name = 'Энн';
Важно! При поиске типы данных VARCHAR, BLOB, DATE и TIME записываются в апострофах. Числовые типа DEC и INT - без апострофов.

Выборка с группировкой:
SELECT first_name , SUM (sales) FROM cookie_sales GROUP BY first_name ORDER BY SUM (sales) DESC;
Значения должны выводиться по убыванию.
Для сортировки по возрастанию используйте в запросе ASC. При выборке нескольких столбцов сортировать можно по одному из них:
SELECT id, title, link FROM my_table ORDER BY title ASC;

Еще можно сортировать результаты запроса в порядке, определенным пользователем. Для этого укажите желаемую последовательность полей:
SELECT id, title, link, brand FROM my_table ORDER BY FIELD (brand, title, link, id);

Выбор уникальных значений с помощью ключевого слова DISTINCT
SELECT DISTINCT sale_date FROM cookie_sales ORDER BY sale_date;

Вывести ограниченное количество записей с помощью команды LIMIT
SELECT * FROM workers WHERE salary > 1000 LIMIT 10;

Снова важно! Если запрос копируется из интернета или документа Word, он может не сработать из-за скрытых символов. Чтобы убедиться, что их нет, скопируйте данные в блокнот и используйте уже оттуда.

Продолжение следует #selects #sql