Слегка под напряжением

Совершенно этого не хочу, но нахожусь на гране истерики. Не знаю почему. Возможно, уже проснулся таким? Слишком острая реакция на всё, и, как на зло, в доме нет валерьянки. С другой стороны, ну нервы, ну справлюсь. А если не справлюсь, то это тоже хорошо. Появится обоснованный повод сменить место жительства и фасон рубашки.

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

Я понимаю, что тебе нужны подробности. Их есть у меня. Сейчас поведаю, но сперва маленькая капелька теории.

Есть тест. Исходов его работы может быть только два:

  1. Passed — полученный результат соответствует ожиданию.
  2. Fail — полученный результат не соответствует ожиданию.

Всё.

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

Если Fail, то тут возможны варианты:

  1. Тест перестал быть актуальным и его нужно доработать (актуализировать).
  2. Функция, которую тестировал этот тест, работает некорректно и нужно заводить багрепорт, где указать шаги воспроизведения бага.

Перед началом теста иногда нужно соблюсти некоторые условия. Это называется Прекондишин.

Например: перед началом теста требуется открыть страницу в заголовке которого есть три буквы «A» или больше.

Еще у теста могут быть данные, которые он будет использовать.

Например: логин/пароль, ссылка на сайт.

Вот и вся теория.

На самом деле нет. Теория тестирования (контроля качества и прочего) может занять довольно толстую книгу. Особенно, если приложить туда побольше иллюстраций. Но я обещал только «каплю» теории.

Теперь практика.

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

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

Но! Перед этим нужно запустить ещё два, перед ними ещё по одному… Эта цепочка может состоять из десятка тестов и более.

В одном из тестов я попробовал раскрутить цепочку до конца и провалился в рекурсию (бесконечный повтор). И такое бывает.

А теперь (внимание!) вопрос: при таких вводных, если мой тест завершился с Fail, то что это значит?

  1. Тест перестал быть актуален и его нужно доработать (актуализировать).
  2. Функция, которую тестировал этот тест, работает некорректно и нужно заводить багрепорт, где указать шаги воспроизведения бага.
  3. Полетел какой-то тест из цепочки, указанной в прекондишине.

При этом, третий вариант (учитывая количество этих тестов и шагов в них) наиболее вероятен.

Ок. Мы видим, что упал тест номер такой-то из прекондишина. Замечательно. Что нам это даёт?

А ничего не даёт.

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

И таких тестов там сотни. И почти ежедневно запускаются прогоны этих тестов. И каждый раз столько-то из стольки-то падает. И что даёт эта информация? А ни-че-го.

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

Прекондишин не должен вызывать Fail ни при каких условиях! Это важно!

А что на сайте изменилось название одной единственной кнопки?

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

Зачем нужен этот блог? В том числе для вот этого вот. Чтобы заземлять в текст скачки напряжения.

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

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

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

В общем, начал потихоньку приходить в норму. Чай, пироженка, приближающийся вечер, да и ситуацию с тестами вроде-бы удалось немного сгладить… Ну и славно. Работаем.

=== Заметки ===

Еще один аниме-сериал. "Девочка, которая видит это". Пока только три серии. Вот даже не знаю, стоит ли смотреть. Вроде начало было занятное, но судя по тому как там тянут резину, первый сезон можно смело пропускать. До сути там вряд-ли доберутся даже к третьему. Мода сейчас такая

Попробовал посмотреть "Госпожа Кагуя: в любви как на войне". Первой мыслью была: "Какая фигня". Второй... В общем не стал смотреть.

Второй сезон "Дракон-горничная Кобаяши" закончился. Выходные тоже. В голове зациклился припев: "...жаль подмога не пришла, подкрепленья не прислали...". Он то здесь откуда? И как его выключить?

Ещё...

Напишите комментарий

Введите имя

Введите адрес электронной почты

Введите адрес вашего сайта

Нажмите эту кнопку, чтобы отправить комментарий.

Введите текст комментария