📚 ProTestingInfo 🔷 Канал по тестированию 📚 – Telegram
📚 ProTestingInfo 🔷 Канал по тестированию 📚
14.1K subscribers
1.31K photos
200 videos
232 files
1.18K links
📌Информация для начинающих и для коллег в области QA, для личного закрепления знаний.
📌Теория, тесты, практика
Ментор-Консультация - 5тр/час
Курс
@info_course_protestinginfo
https://protestinginfo.ru
Вопросы @nadin_qa
ИП
РКН: https://clck.ru/3FWD9v
Download Telegram
📚 ProTestingInfo 🔷 Канал по тестированию 📚
Kak-sozdat-uspeshnoe-rezyume-i-podgotovitsya-k-sobesu_.pdf
Обновила гайд:
добавила еще чек-лист по оформлению резюме и видео.
Изменила шрифт.
Загружен новый файл.
21👍3🔥3😨1
Коллеги привет!
Я как-то уже рассказывала вам про канал Романа Цакунова, так вот он в одном из постов поделился неоднозначной мыслью, что:

«❗️Ручное тестирование скоро будет не нужно, и профессия ручного тестировщика постепенно вымирает.

Обусловлено это огромным количеством нейронок, которые легко сгенерируют тестовые сценарии согласно техникам тест-дизайна и всем необходимым стандартам тестирования. Ко всему этому ещё добавляется наличие автотестов.

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

А Codacy ai используют ИИ для анализа кода на предмет ошибок, нарушений стиля и уязвимостей, заменяя необходимость в ручных код-ревью.

Я QA Automation Engineer и хочу сказать:
читать продолжение…»

Реклама:
Цакунов Роман Васильевич
erid:3apb1Qrwwr2uBg1WmETsAqCt1ZP5ZXZxgJmjwLzHmBExX
Please open Telegram to view this post
VIEW IN TELEGRAM
🥴9😁81🔥1🦄1
📚 ProTestingInfo 🔷 Канал по тестированию 📚
Kak-sozdat-uspeshnoe-rezyume-i-podgotovitsya-k-sobesu_.pdf
Kak-sozdat-uspeshnoe-rezyume-i-podgotovitsya-k-sobesu_upd.pdf
8.9 MB
Я обновила гайд - добавила свой текст про сопроводительное письмо и основные пункты про портфолио для тех у кого нет коммерческого опыта, а есть практический опыт. Удалила ссылки нельзяграма.
А еще для удобства такой сайт сделала 😃 через gamma.app

https://copy-of--7w8lyr6.gamma.site/
52🔥24❤‍🔥54👍1🙏1🆒1
Вопрос из списка:
На сайте есть кнопка “Скачать файл”, после нажатия на нее - не происходит никаких изменений. Ваши действия? (в Devtools -> Network -> 200 ok - сказать, когда кандидат скажет про devtools)

Пример ответа с учётом всех рассуждений:

При нажатии на кнопку «Скачать файл» визуально ничего не меняется, поэтому мои действия будут следующими:
🌵Открою DevTools и перейду на вкладку «Network», чтобы проверить, отправляется ли запрос на сервер.
🌵Нажму на кнопку «Скачать файл» снова и посмотрю на отправленные запросы. Убедившись, что запрос отправлен и получил статус 200 OK, я проверю содержимое ответа.
🌵Проверю, что заголовок ответа содержит Content-Disposition: attachment. Это указывает на то, что файл действительно должен загружаться.
🌵Перейду на вкладку «Console» в DevTools, чтобы проверить наличие возможных ошибок JavaScript, которые могут препятствовать скачиванию.
🌵Проверю реализацию JavaScript-кода, который отвечает за скачивание, чтобы убедиться, что он правильно обрабатывает ответ сервера и инициирует скачивание.

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

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

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

+ еще ответы коллег из нельзяграма:
🌵блокировка скачивания браузером
🌵некорректная работа серверной логики.
🌵обратиться к разработке
🌵запросить больше требований
🌵проверить в devtools тип кнопки = button
🌵проверить скачивание файла на другиих браузерах
🌵проверить url запроса на скачивание файла, вдруг замена версии апишки
🌵почистить кэш и куки, инкогнито и выполнить повторное скачивание
🌵взаимосвязь с БД
🌵скопировать curl из devtools и перепроверить в postman

Запомните на собеседованиях важны ваши рассуждения. Дополняйте.
🔥43👍85
Нажать на сайте Участвовать

Ознакомиться с курсом по тестам и подготовке на собеседование: ссылка

Новый поток в середине августа.
7🔥1😁1
Мур-Мур 🐈‍⬛ мяу 🐈!
HTTP status codes 🐾

C такими котиками забавно запоминать 🦁!

https://http.cat/

Напоминаю еще такие материалы: раз и два
Please open Telegram to view this post
VIEW IN TELEGRAM
30🤣125🔥2🆒2❤‍🔥1
Всем хорошего дня!

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

💻 Как учить автоматизацию тестирования, Roadmap.

💻 Чек-лист по изучению автоматизации

💻 Python - Построение процесса автоматизации тестирования для REST API c нуля до CI/CD

💻 Java - плейлист Автотесты с нуля

💻 Запуск автотестов в Gitlab-CI и Allure-отчеты

💻Автоматизация тестирования для начинающих. Что такое Playwright

💻Бесплатные курсы QA Automation от RedRover School - Java, JavaScript, Python - старт вводного занятия 19 августа - подробности на канале.

Напоминаю про пост моих рекомендаций по изучению JAVA и PYTHON
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32❤‍🔥55🔥3🆒2
Я сама кстати до сих пор не могу определиться куда глубже развиваться, на работе я занимаюсь тест-менеджментом по ручному тестированию среди бизнес-команд (вертикальное развитие), на прошлых проектах занималась автоматизацией на Java (горизонтальное развитие) и тестированием требований и архитектурой сервисов. Сейчас в декрете изучаю автоматизацию на Python.


А вам как хочется развиваться вертикально или горизонтально? Или также на перепутье как и я 😄?
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔13👍6👨‍💻53💯3
Как тестировать SQL-функции и как в будущем это автоматизировать?

Такой вопрос мне переадресовала Надя.

Я работал в финтехе на легаси-проекте, где вся логика была построена на хранимых процедурах. Самый большой минус в том, что тестирование на этом уровне не развито в отрасли и представляет довольно часто ряд костылей, одним из которых я поделюсь. Я пробовал писать тесты прямо на синтаксисе SQL, где результаты просто выводились обычными принтами True или False (прошел/не прошел). Это было интересно, но помогало только решению конкретной задачи, и данный подход был нерасширяемым.

Ну ладно, хватит слов, давайте расскажу свой костыль. На мой взгляд, удобнее всего это сделать на Python, на примере MS SQL Server.

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

import pyodbc
import os
import structlog

class BaseClient:
def __init__(self, server, database, user, password, autocommit=False, logging_level=logging.DEBUG):
self.log = structlog.get_logger(self.__class__.__name__).bind(service='db')
system_name = os.name
if system_name == 'posix':
driver = 'ODBC Driver 17 for SQL Server'
else:
driver = 'SQL Server'

connection_string = f'DRIVER={{{driver}}};' \
f'SERVER={server};' \
f'DATABASE={database};' \
f'UID={user};' \
f'PWD={password};'\
f'Trusted_Connection={trusted_connection}'

with pyodbc.connect(connection_string, autocommit=self.autocommit, timeout=30) as connect:
self.connect = connect
self.cursor = connect.cursor()

def logged_query(self, query):
log = self.log.bind(request_id=str(uuid.uuid4()))
print(f'\n{query}')
log.msg(
'request',
caller=inspect.stack()[1][3],
func_name=inspect.stack()[0][3]
)
result = self._to_dict(self.cursor.execute(query))
if result:
log.msg(
'response',
result=result,
)
return result

@staticmethod
def _to_dict(cursor):
try:
columns = [column[0] for column in cursor.denoscription]
except TypeError:
return []
else:
dataset = [dict(zip(columns, row)) for row in cursor.fetchall()]
return dataset

После того как базовый клиент написан, можно уже реализовать класс с вызовами хранимых процедур. Можно отнаследовать его от базового класса, чтобы использовать его методы и реализовать вызов.
class ApiTestProcedures(BaseClient):
def some_procedure_execute(self, param1, param2):
"""
SET NOCOUNT ON - это писать обязательно, иначе не будет работать))
"""
query = f"""
SET NOCOUNT ON;
EXEC [test].[SomeProcedure]
@Parameter1 = {param1}
,@Parameter2 = {param2}"""
postings = self.logged_query(query)
return postings

Вся подготовка сделана теперь можно писать тест, тут уже как обычно.
@pytest.fixture(scope="session")
def db_client():
client = ApiTestProcedures("тут параметры подключения")
yield client
client.close()


def test_some_procedure(db_client):
result = db_client.some_procedure_execute(param1=1, param2=2)
for row in result:
assert row["column_name"] == "column_value"


Вы можете использовать другие библиотеки для сериализации данных, например, SQLAlchemy или Pandas для удобства работы и анализа данных. Для этого нужно вместо метода _to_dict реализовать свои функции упаковки данных.

Пишите вопросы в тред, если возникнут интересные темы, постараюсь ответить в новом посте!
🔥10👍32👌1
Приветик всем и хорошего настроения.
🎊Сегодня у меня День рождения 🥳.🎉

Хочу вам сказать спасибо за то, что подписаны на мой канал, за вашу поддержку, за ваши реакции и комментарии!💝
Я продолжаю и буду делиться полезной информацией.

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

Хочу вновь пожелать себе побольше сил, энергии и меньше усталости.

Коллеги, желаю
крепкого здоровья вам, достижения целей и развития!

Спасибо всем вам за то, что вы со мной. 🥰

🎉С днем рождения меня!🎊🎉

Для тех кто хочет сделать мне подарочек - ссылка или карта 2202202297499497

Желаю всем отличного настроения! Обнимаю каждого и каждую 🥰
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉19029🔥12👍3🦄3🤣2
Напоминаю про 2 модуль - бесплатно!!!! Добавила новый тест как контрольную работу - 11 вопросов! Важно пройти, так как актуально на рынке!

На время - 20 минут, 10 попыток, хотя было меньше и времени, и попыток 😅 как на собесе - 1 попытка и 15 минут.

Есть рандомизация вопросов! И рандомизация вариантов ответов!

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

Нажать Участвовать, затем пройти Регистрацию/Авторизацию и обновить страницу или перейти снова по ссылке

Старт курс с середины августа - оповещения здесь.
👍851🎃1
25 вопросов о тестировании API.pdf
493 KB
Гайд для собеседований (Автор - Alex Meshkov).
Здесь указаны ответы на 25 основных вопросов по тестированию API.

Размещено на канале @protestinginfo
61👍16👌2
📚 ProTestingInfo 🔷 Канал по тестированию 📚 pinned «Пост обновлен - то, что я изучала по автоматизации и мои рекомендации. Сперва проверь подписку на канал @protestinginfo. Спасибо💙 Хочу порекомендовать прочитать и сохранить: Чек-лист перехода в автоматизацию (есть полезные ссылки) Как подготовиться по Java…»
Forwarded from Та. Данкова (Tatiana Dankova)
👩‍💻Минимум знаний для тестировщиков!
Часть 1.

Когда-то я проводила опрос о том, какой контент вам интересен. Второе место заняла тема "QA и тестирование". И пока у меня есть время, я решила собрать и рассказать про минимум, который должен знать каждый. Будет несколько постов, поэтому напоминаю, что по #проQA можно будет это всё найти.

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

Начнем с ОСНОВ — теория тестирования:

Так уж сложилось, что я люблю базу и искренне считаю, что каждый тестировщик должен понимать, что именно он делает. И да, я не буду расписывать, что есть что, а расскажу, ПОЧЕМУ это нужно и важно знать, даже если у тебя 100500 лет опыта в тестировании, в IT и вообще.

А ещё то, за что я выступаю, — ПРИМЕРЫ! Почему важно приводить примеры из вашего реального (или нереального) опыта? Потому что так вы показываете, что вы понимаете, о чём речь. И если есть примеры, значит, есть и практика.

📍Виды тестирования

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

📍Уровни тестирования

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

📍Артефакты тестирования

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

📍Создание этих артефактов

Здесь у меня один простой совет: берём и выстраиваем себе тренировки (написать 10 тест-кейсов, 10 чек-листов и 10 багов), а потом можно кинуть какому-нибудь приятелю(или самому пройтись по ним через недельку), чтобы он сказал, ок или не ок. Несмотря на то что это всё кажется очень простым занятием, ох, как иногда грешат тестировщики хорошим оформлением.

За ориентир можно держать понимание, что вам НУЖНО ДОНЕСТИ ИНФОРМАЦИЮ о том, в каком состоянии находится задача/продукт.

А ещё тут есть острый подводный камень — приоритет и критичность. Я бы на это сделала отдельный упор.

📍Тестирование документации

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

Это ПЕРВЫЙ минимум, который необходим. Не думайте, что это мало — всё это нужно опробовать на практике и переходить к следующему шагу.

Для пытливых

Святослав Куликов — если не читали, читайте!

И вот ТУТ его бесплатный курс.

И вот ТУТ много полезного для обучения и понимания.

И Артем Русов

#проQA
👍36🔥121
Что из следующих выражений является комментарием в SQL?
Anonymous Quiz
30%
// комментарий //
22%
# комментарий
3%
& комментарий
45%
/* комментарий */
👍103😁2