Задание на тестирование программы

Я, Надежда Дудник, главный инженер по тестированию в СБЕРе, а ещё ментор по тестированию ПО.

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

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

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

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

Как вы знаете, что каждый тест состоит из предусловий, шагов и ожидаемых результатов.

Решаем тестовые задания для начинающих тестировщиков в прямом эфире

Сперва необходимо составлять позитивные тесты — успешное прохождение сценария, затем негативные тесты с невалидными и/или недопустимыми данными, null для обязательных ключей и т.д..

При выполнении каждого запроса API нам необходимо и важно проверить:

  • корректность статуса кода;
  • полезную нагрузку ответа;
  • сам ответ от сервера: сообщение, ключ, значение, тип данных, структуру объектов;
  • заголовки ответа от сервера;
  • авторизацию с использованием методов аутентификации;
  • протокол HTTP / HTTPS согласно спецификации;
  • дополнительно доступы разных ролей, время ответа API, стиль формата обмена данными.

Сейчас я хочу продемонстрировать пример тест-кейса «Добавить нового питомца в магазин (Вызов метода POST)», используя сайт https://petstore.swagger.io/

Тест-кейс API

Важно выполнить следующие шаги:

< «id»: 10, «category»: < «id»: 1, «name»: «animal» >, «name»: «Bulldog», «photoUrls»: [ «https: //site.com/bulldog/photo» ], «tags»: [ < «id»: 1, «name»: «#dog» >], «status»: «available» >

Проверить код состояния

Проверить тело ответа от сервера

Проверить структуру ответа

Проверить заголовки ответа

Ожидаемый результат:

HTTP Status: 200 OK Тело ответа в формате JSON возращается от сервера и будет иметь следующий вид: < «id»: 10, «category»: < «id»: 1, «name»: «animal» >, «name»: «Bulldog», «photoUrls»: [ «https: //site.com/bulldog/photo» ], «tags»: [ < «id»: 1, «name»: «#dog» >], «status»: «available» >

Читайте также:
С каким адаптером работает программа tecu3

Ожидаемый результат структуры ответа (более подробно):

Тестирование НА ПРИМЕРЕ | Тестирую DEVBY


Схема JSON отображена корректно, имена и типы полей соответствуют ожидаемым < «id»: 10 — number, если «id» будет в таком виде «id»: 0, то будет сгенерировано числовое значение включая вложенные объекты: «category»: < «id»: 1, «name»: «animal» >»name»: «Bulldog», — string «photoUrls»: [ «https://site.com/bulldog/photo» ], — array вложенная структура данных, содержащая объекты и массивы: «tags»: [ < «id»: 1, «name»: «#dog» >], «status»: «available» — string > значения полей соответствуют ожидаемым значениям из тестовых данных отдельно проверить: «category»: < «name»: «animal» — string >- object «tags»: [ < «name»: «#dog» — string >] — array with objects

Шаблон тест-кейсов API данного примера предлагаю просмотреть по ссылке.

Рассмотрим пример тест-кейсов для сайта https://try.vikunja.io/login .

Тест-кейс API: регистрация и авторизация пользователя.

Регистрация пользователя:

Postman: Body -> Raw -> JSON

Ожидаемый результат:

Шаблон тест-кейсов API для сайта Vikunja смотреть по ссылке.

Дополнительно я подготовила тест-кейсы на «Проверку идемпотентности» для тех, кто в начале пути по изучению основ тестирования и этот материал для закрепления знаний.
В данной информации можно скачать коллекцию, в которой я указала просто запросы на методы POST, PUT, GET, DELETE. Ваша задача в некоторых запросах подставить свои значения.

Эти тест-кейсы я расписала детально для вас. В проектных задачах по тестированию редко кто так составляет детально тест-кейсы API в TMS, потому что мало времени на подробное описание тест-кейсов и на их актуализацию.

Если у вас возник вопрос, что такое «Идемпотентность», то по вышеуказанной ссылке имеется полезный материал на теорию идемпотентности.

Пример тест-кейсов по идемпотентности:

Добавить нового питомца в магазин (Вызов метода POST /add_pet не идемпотентен)

Основные шаги при отправке запроса методом POST:

Тело запроса: < «category»: < «id»: 1, «name»: «animal» >, «name»: «Bulldog», «photoUrls»: [ «https://site.com/bulldog/photo» ], «tags»: [ < «id»: 1, «name»: «#dog» >], «status»: «pending» >

Проверить код состояния

Проверить тело ответа от сервера

Источник: habr.com

Разбор тестовых заданий на вакансию тестировщика

Рассмотрим решение 2-х домашних заданий после собеседования на создание тест-кейсов. На выбор выполняются задания 1,3 или 2,3.

Выполнение задания №2 в данной статье пропущено, в нем тестируются граничные значения. Если оно вам попадется, советую его выполнить, даже если оно предлагается на выбор, т.к. это повысит уровень оценки вашего решения. Выполненные мной задания были оценены на уровень junior+.

№1 Программа считывает три целочисленных значения из диалогового окна ввода данных. Эти значения интерпретируются как длины сторон треугольника. Программа выводит сообщение о том, каким является данный треугольник — разносторонним, равнобедренным или равносторонним. Приведите набор тестовых сценариев для проверки описанной программы.

Читайте также:
Как сменить ip адрес компьютера с помощью программы

№2 Программа предназначена для оценки результатов выполнения проверочных заданий. В программе предлагается выбрать один вариант ответа из нескольких предложенных. Входные данные считываются из файла, содержащего записи длиной 80 символов каждая.

В соответствии со спецификацией этого файла первая запись представляет собой текстовую строку, используемую в качестве названия для каждого выходного отчёта. Следующий набор записей описывает правильные ответы на вопросы. Последним символом каждой строки такой записи, находящимся в позиции 80, является «2».

В позициях 1-3 первой записи этого набора указывается количество вопросов (диапазон возможных значений — 1 -999). В позициях 10-59 содержатся правильные ответы на вопросы с номерами 1-50 (любой символ воспринимается как ответ). В последующих записях позиции 10-59 содержат правильные ответы на вопросы с номерами 51-100, 101-105 и т.д. Третий набор записей описывает ответы, каждого сдающего.

Каждая запись этого набора содержит число «3» в позиции 80. Первая запись для каждого, кто сдает задание, содержит имя или номер сдающего (любые символы) в позициях 1-9, а в позициях 10-59 содержатся ответы на вопросы с номерами 1-50. Если в тесте предусмотрено более чем 50 вопросов, то позиция 10-59 последующих записей для данного сдающего содержат ответы на вопросы с номерами 51-100, 101-150 и т.д. Максимальное число сдающих — 200. Формат входных записей показан на рисунке:

f435fg45gt546g5eg3

Выходными записями являются:

  • отчет, упорядоченный по идентификаторам сдающих и отображающий оценку (процент правильных ответов) и рейтинг каждого сдающего — аналогичный ответ, но упорядоченный по оценкам;
  • отчет, показывающий среднее, медиану и стандартное отклонение для оценок;
  • отчет, упорядоченный по номерам вопросов, в котором отображается процент сдающих, правильно ответивших на каждый из вопросов.

№3 Методом попарного тестирования составить список проверок к задаче. Программа принимает на регистрацию клиентов. Поля для ввода: — ФИО* (текстовое поле на русском или английском) — Пол*: возможные значения М и Ж, выбор из списка — Возраст*: числовое поле от 18 до 199 — Документ удостоверяющий личность*: Паспорт, Водительское удостоверение, Военный билет (только для пола: М) выбор из списка — Место работы: для трудоустроенных, может быть пустым.

Выполнение заданий №1, 3 приложено в файле excel к данной статье.

Источник: www.hzit.ru

Задания для тестировщиков

Изображение баннера

Если вы тестировщик или хотите им стать ниже примеры заданий, которые вы можете получить в начале своей карьеры.

Читайте также:
Iiko программа системные требования

Если вы работодатель и хотите проверить потенциальных кандидатов на должность тестировщика — можете использовать эти примеры

Задача на элементарные знания Python + requests

Есть сервер, на котором отображаются подключённые устройства. Назовем его Менеджер_Устройств

Задача — заселить сервер новыми устройствами, количество — 1000 устройств.

Нужно, чтобы у каждого устройства был уникальный ID. Иначе получим ошибку.

У этого сервера есть документация к API из которой известно, что запрос, которым добавляется новое устройство, выглядит следующим образом:

PUT to http://devm.com:4880/manager/rest/control/devices/Unique_ID/apps/Client_Name/status/$timestamp=Some_value

Также из API известно, что в этом запросе передаётся JSON

{«status»: {«clientStatusData»: {«message»:»Everything is OK», «status»:»OK» }, «itemsStatuses»: [{ «message»:»URN.SU Server simulated», «status»:»ENABLED», «name»:»Connection», «Number»:»0″ }, { «message»:»TopBicycle.RU Power: 250[mW], Session: 1″, «status»:»OK», «name»:»AndreyOlegovih.ru», «Number»:»1″ }], «runningStatus»: { «restarted»:»true», «uptimeMSec»:10000} }, «clientInfo»: { «applicationInfo»:{«applicationVersion»:»19.61.04.12″ }, «deviceInfo»: {«itemDescription»: «Good Device Number 1», «itemModelId»:»Model ID 1″, «statusUpdateIntervalMSec»:»30000″ } }, }

Проверить удалил ли разработчик устаревший поллинг по FTP

В старой версии софта клиент время от времени обменивался с сервером сообщениями по протоколу FTP.

В новой версии от этого решено было отказаться. Задача тестировщика:

Проверить не забыл ли разработчик отключить поллинг по FTP

Проверка основ Selenium (+ Java)

Задача — нажать на какую-то определённую кнопку на сайте. Кнопки могут быть разными.

Зайти на страницу www.urn.su/qa/ui/basic_test/ с помощью Selenium Webdriver

И выполнить на ней следующие действия:

1. Заполнить форму «Сайт» и нажать на кнопку «Перейти»

2. Кликнуть на первую ссылку с текстом «Renovation»

3. Кликнуть на второй элемент с текстом «Italy»

4. Кликнуть на второе изображение

Сделать это всё разными способами

Проверка основ Selenium (+ Python)

1

Можно задать те же задачи, что и в прошлом параграфе.

2

С помощью Selenium и Python заполнить форму на сайте

3

С помощью Python запустить несколько Webdriver-ов одновременно

4

С помощью Seleinum и Python загрузить файл на сайт. Если вы проводите интервью — можете сперва спросить у кандидата возможно ли это и умеет ли он это делать.

Проверка основ shell

1

Умножить два числа с плавающей точкой.

2

Задача для будующих перформанс тестировщиков

Написать скрипт, который следит за потреблением памяти и ресурсов процессора

3

Есть директория в которой множество .php файлов. Задача

Найти все файлы, в которых встречается python/old_file_name.php и заменить эту строку на python/new_directory/new_name.php

Источник: www.andreyolegovich.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru