До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

Главная | Все статьи | Дневник студента

17 неделя на Хекслете

Время чтения статьи ~6 минут
Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
17 неделя на Хекслете главное изображение

17 неделя на Хекслете

06 января 2023, пятница.

Прошло семнадцать недель. За эту неделю набрал 64 балла, всего уже 1403 балла. Погрузился в вопросы автоматического и ручного тестирования.

Результаты за неделю из запланированного и не только:

  • Начать и завершить курс "Python: Автоматическое тестирование". Курс начал. Прошел 6 из 11 уроков. Сейчас застрял на упражнении к уроку №7. Курс в целом идёт тяжело. Для себя ощущаю разрыв в сложности теории и упражнений. То есть материал в теории понятен и в целом хорошо сформулирован, но приведённые в теории примеры недостаточны для того, чтобы решить упражнения. Гуглю. Так же в уроке №2, в задании к нему, на мой взгляд, неверно сформирована сама задача или описание ожиданий от работы кода. Об этом напишу ниже.

  • Решать испытания к курсам "Python: Функции" и "Python: Декларативное программирование". Справился ещё с одним испытанием и на этом пока всё. Нужно ещё "прокачать" скилл.

  • Познакомиться с проектом "Вычислитель отличий". До проекта пока не дошел.

  • Нашел для себя на codewars.com. Это такой сайт, где можно решать задачи на различных языках программирования и получать за решение баллы рейтинга. Баллы сгруппированы в уровни. И сами задачи разбиты по сложностям, в соответствии с уровнями. Ну а после решения задачи можно ознакомиться с ответами других участников. Именно такой штуки, на мой взгляд, не хватает в Хекслете. Просто огромная куча хорошо описанных и ранжированных по сложности задач, чтобы можно было сидеть и набивать руку.

Наблюдения ощущения и рассуждения:

  • Курс "Python: Автоматическое тестирование" - курс? ощущения от которого схожи с ощущениями от урока №8 и упражнения к нему в курсе "Python: Функции". Теория компактная и хорошая, но упражнения как будто убегают на шаг вперёд теории. Не хватает показательных примеров. У меня сложилось ощущение, что я как будто пропустил часть курса и вынужден решать упражнение из середины. Сижу, сержусь и туплю.

Ещё несколько ставит в тупик ситуация с заданием в конце урока №2 "Зачем и как писать тесты?". Свои вопросы я задал в поддержку, но ответы на мои вопросы так и не разрешили ситуацию. Возможно, это я что-то не так понимаю. В любом случае, навык по автоматическим тестам развивать буду и вернусь к данному вопросу ещё раз через некоторое время. А здесь приведу обсуждение со службой поддержки:



Антон Тюрин ТС:

Выполнил самостоятельное задание урока:

  1. Воспроизведите структуру получившуюся в конце урока.
  2. Запустите тесты, убедитесь что они работают. Попробуйте их сломать

При "ломании" теста обратил внимание на следующее обстоятельство:
Если в коде capitalize.py "закоментить" исключение пустой строки, то при запуске файла test_capitalize.py тест выдаёт запись "IndexError: string index out of range" при этом сообщение "Exception: Функция работает неверно!" не выдаёт.

При этом если "ломать" сам файл test_capitalize.py и заменить if capitalize('hello') != 'Hello': на if capitalize('hello') != 'He123llo': , то результат теста выводит "Exception: Функция работает неверно!".

Запускаю всё через терминал командой PYTHONPATH=lessons python3 tests/test_capitalize.py. В соответствии с адресом папки у меня в рабочей области.

Вероятно, что-то не так с заданием, или я что-тоне верно понял. Прошу объяснить или исправить.


Ivan Mamtsev Поддержка:

Если в коде capitalize.py "закоментить" исключение пустой строки, то при запуске файла test_capitalize.py тест выдаёт запись "IndexError: string index out of range" при этом сообщение "Exception: Функция работает неверно!" не выдаёт.

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


Антон Тюрин ТС:

Ivan Mamtsev, я "закаментил" исключение в проверяемом файле capitalize.py. Следовательно тест test_capitalize.py при передаче пустой строки должен получить от функции не такую же пустую строку, а сообщение об ошибке, после которого вывести "Exception: Функция работает неверно!". Так вот этого не происходит.


Ivan Mamtsev Поддержка:

Добрый день, а можете сохранить ваш код в репозитории и скинуть ссылку?


Антон Тюрин ТС:

Ivan Mamtsev, добрый день. Вот ссылка на репозиторий:

https://github.com/AntonTyurin87/hexlet_pytest.git

В README оставил некоторые текстовые пояснения. Так же в самих файлах оставил комментарии.


Ivan Mamtsev Поддержка:

У вас две несвязанных ситуации:

  • В первом случае вы ломаете функцию, убираете случай обработки пустой строки, и у вас выскакивает исключение, что нет такого элемента по индексу.

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


Антон Тюрин ТС:

Ivan Mamtsev, согласно задания при запуске тестирующая программа должна проверить два случая (случай пустой строки и случай строки, которая будет начинаться с большой буквы). Если тестируемая функция работает не верно, то должно появиться сообщение: "Exception: Функция работает неверно!". Но если в тестируемом файле убрать исключение в виде пустой строки, то тестирующая программа вместо вывода сообщения об ошибке просто сама свалится в ошибку.

Считаю это не соответствующим условию задания. Да и самой идеи тестирования. Получается тест не сообщает мне о проблемном месте, а просто не работает.



Может кто-либо из читателей сможет разобраться в ситуации и сделает свой комментарий в обсуждении
Курс «Python: Автоматическое тестирование» ↳ Урок «Зачем и как писать тесты?»

Как вижу задачи на следующую неделю:

  • Завершить курс "Python: Автоматическое тестирование".
  • Решать испытания к курсам "Python: Функции" и "Python: Декларативное программирование".
  • Познакомиться с проектом "Вычислитель отличий".
  • Составить пост/отзыв о проекте "Игры разума".

Первый пост с целеполаганием https://ru.hexlet.io/blog/posts/moy-pervyy-den-obucheniya-na-hekslet

Первая неделя https://ru.hexlet.io/blog/posts/pervaya-nedelya-na-hekslete-kak-idyot

Вторая неделя https://ru.hexlet.io/blog/posts/vtoraya-nedelya-na-hekslete-kak-idyot

Третья неделя https://ru.hexlet.io/blog/posts/tretya-nedelya-na-hekslete-kak-idyot

Четвёртая неделя https://ru.hexlet.io/blog/posts/chetvyortaya-nedelya-na-hexlete

Пятая неделя https://ru.hexlet.io/blog/posts/pyataya-nedelya-na-hekslete

Шестая неделя https://ru.hexlet.io/blog/posts/shestaya-nedelya-na-hekslete-3c17201d-be42-47bc-8199-1a0e35c0c81d

Седьмая неделя https://ru.hexlet.io/blog/posts/sedmaya-nedelya-na-hekslete

Восьмая неделя https://ru.hexlet.io/blog/posts/vosmaya-nedelya-na-hekslete

Девятая неделя https://ru.hexlet.io/blog/posts/devyataya-nedelya-na-hekslete

Десятая неделя https://ru.hexlet.io/blog/posts/desyataya-nedelya-na-hekslete

Одиннадцатая неделя https://ru.hexlet.io/blog/posts/odinnadtsataya-nedelya-na-hekslete

Двенадцатая неделя https://ru.hexlet.io/blog/posts/dvenadtsataya-nedelya-na-hekslete

Тринадцатая неделя https://ru.hexlet.io/blog/posts/trinadtsataya-nedelya-na-hekslete

Четырнадцатая неделя https://ru.hexlet.io/blog/posts/14-nedelya-na-hekslete

Пятнадцатая неделя https://ru.hexlet.io/blog/posts/15-nedelya-na-hekslete

Шестнадцатая неделя https://ru.hexlet.io/blog/posts/16-nedelya-na-hekslete

Совмещение учебы с работой и самоорганизация https://ru.hexlet.io/blog/posts/sovmeschenie-ucheby-s-rabotoy-i-samoorganizatsiya

Аватар пользователя Антон Тюрин
Антон Тюрин 20 января 2023
2
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 28 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 28 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 28 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 28 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 28 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 28 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 28 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 28 ноября