📚 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
Мур-Мур 🐈‍⬛ мяу 🐈!
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
Какой компонент технологии клиент-сервер производит обработку информации независимо от сервера и использует последний в основном лишь для хранения данных?
Anonymous Quiz
60%
Толстый клиент
21%
Тонкий клиент
10%
Клиент
9%
Сервер
👍92🔥1
С помощью какого ключевого слова можно задать условия фильтрации после выполнения группировки в SQL?
Anonymous Quiz
26%
WHERE
9%
FILTER
26%
GROUP BY
39%
HAVING
👍14🔥4🆒31
На курсе одним из первых вебинаров был вебинар про тестирование API с использованием Postman.

И этот вебинар я добавила в бесплатный модуль 2, а потом на YouTube.

2 модуль доступен до 25 августа.
Успейте посмотреть. Нажать на кнопку «Участвовать».

15 августа - старт нового потока, просмотреть тарифы.

А еще немного изменился дизайн курса, но это ненадолго - пока на три месяца.
🙏31🔥1
Чем отличается тестирование Бэкенда от тестирования API?

Cперва ответим на вопрос: «Что входит в тестирование бэкенда?»
От вас (из нельзяграма) пришли следующие ответы, а я допишу детальнее, в тестирование Бэкенда входят:
🎈Тестирование базы данных, а именно проверка правильности и целостности структуры базы данных, проверка корректности операций CRUD (Create, Read, Update, Delete), проверка обеспечения целостности данных при проведении транзакций.

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

🎈Само тестирование API входит в тестирование бэкенда: проверка статус кода, тело запроса и ответ от сервера, время отклика, притом…

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

🎈Тестирование очередей и асинхронных задач: проверка корректности выполнения задач в очередях и асинхронных процессов.

🎈сюда можно добавить тестирование безопасности.


Отличия:
Тестирование API, цель которого убедиться, что API корректно обрабатывает запросы и возвращает ожидаемые ответы. Тестирование API входит в тестирование бэкенда.

Тестирование бэкенда, цель которого убелиться в правильности работы всей серверной части приложения, включает в себя тестирование всех аспектов серверной логики, также архитектура сервиса.

Добавляйте свои комментарии по этому вопросу.

@protestinginfo
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥41👍138