Code Monkey home page Code Monkey logo

automation_test_task_white_box's Introduction

Предыстория 1

Вы — QA инженер на космическом корабле, который летит покорять новые галактики. Корабль новый и навороченный, но некоторые его части сделаны по принципу "работает — не трогай". Именно так реализован датчик температуры. Шел 2070 год, а к датчику все еще обращаются по HTTP 1.1 через GET-запросы. API принимает на вход параметр "?temperature=", в качестве выходных данных отдает вердикт — в каком состоянии будет вода при такой температуре, вроде система работает только градусами цельсия, но кажеться раньше она работала и с другими шкалами измерения. Командир корабля попросил убедиться, что датчик "нормально работает". К сожалению, требований к датчику не сохранилось.

Задание 1

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

Hint установка и запуск:

  • Код сервиса находиться в папке ./api_server;
  • Вам необходимо установить для работы сервера debian пакеты находящиеся в файле ./api_server/debinan_requirements.txt (простой способ установки sudo apt-get install $(cat ./api_server/debinan_requirements.txt));
  • Создайть виртуальное окружение командой virtualenv venv -p python3;
  • Установить python пакеты из ./api_server/python_requirements.txt. (./venv/bin/pip install -r ./api_server/python_requirements.txt)
  • Добавте в python path папку с сервером export PYTHONPATH="$PYTHONPATH:/$(pwd)/api_server";
  • Для запуска сервера сервиса выполните командут ./venv/bin/python3 ./api_server/server.py - по умолчанию он будет работать на 8888 порту.

Предыстория 2

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

  • английским и русским языками;
  • соединяться и корректно работать с Mysql/Postgres и MongoDB базами (да, прошло 50 лет, а ничего лучше так и не придумали);
  • дисплеями моделей Nova и SuperNova.

Задание 2

Составьте таблицу проверок, которая поможет удостовериться, что все будет работать как надо. Помните, что чем меньше проверок — тем лучше.

Задание 3

Пожалуйста, напишите 3 автотеста на интерфейс semrush.com.

  • Тест 1: залогиниться под пользователем в SEMrush;
  • Тест 2: создайте новую заметку на /notes;
  • Тест 3: создайте новый проект; Hint: тесты должны стабильно проходить.

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

Предыстория 4

Вы временно остались вдвоем в команде с начинающим python разработчиком, он пытается написать граббер ссыллок и даже попробовал добавить в него тесты и логи. Сейчас он предлагает выкатить его скрипт на сервер, но обычно перед этим всегда делаеться код ревью.

Задание 4

Посмотрите код скрипта ./junior_python_developer_code/check_urls_availability.py - если у вас есть по нему замечания и исправления добавьте коментарии к коду.

Как и куда отправлять решение

  • Склонируйте себе репозиторий;
  • Оформите ваше решение в коде;
  • Отправьте pull request в этот репозиторий с вашим решением.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.