📚 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 🔷 Канал по тестированию 📚 pinned «Курс по тестам и подготовке на собеседования на позицию Инженера по ручному тестированию ПО (Junior+/Middle/Senior) - вебинары, практика и тесты. Следующий поток в середине августа! Кто планировал на следующий поток, предлагаю заполнить форму предзаписи…»
Forwarded from Евгений Сычев
демо - это демонстрация функционала. Оно может быть частью ПСИ. Но может быть отдельным мероприятием. Ведь демонстрация функционала порой нужна не только для того чтобы выйти в прод, но и для того чтобы продемонстрировать свой функционал кому-то другому. Например, мне приходилось проводить демо для того чтобы показать функционал другим командам, которые разрабатывали что-то что завязано на моем функционале и им нужно было понять как это всё у нас работает и задать вопросы. Так же демо можно провести просто чтоб показать и "похвастаться" перед коллегами какую крутую фичу сделала ваша команда. Так же для высшего руководство, если функционал какой-то серьезный(или не очень) и курирует его кто-то из руководства.

ПСИ - это набор мероприятий, который направлен на то чтобы финализировать разработку фичи, проверить что она готова к релизу. Проводится ПСИ на тестовом стенде, по конфигурации аналогичной продуктовому стенду. Сюда входит и финальное тестирование и может входить так же демо заинтересованным лицам. Например, службе безопасности и сопровождению. Чтобы они посмотрели и убедились что всё работает так как было указано в документации, которую они согласовали.
16👍112🔥2🙏1
Kak-sozdat-uspeshnoe-rezyume-i-podgotovitsya-k-sobesu_.pdf
8 MB
Сделала супер полезный гайд по составлению резюме, подготовке на собеседование, поиску работы с рекомендациями от себя и коллег. Указала все мной собранные полезные ссылки в одном месте! Уверена, что он должен вам помочь в достижении вашей цели.

https://copy-of--7w8lyr6.gamma.site/ (если не открывается, то через VPN)
103🔥97❤‍🔥17👍10
Очень полезно! Рекомендую подписаться! Информация пригодится к подготовке на собеседования и обмен опытом!
https://news.1rj.ru/str/my_QAchat
🔥52🥴2❤‍🔥1
📚 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