Страницы 1 2
3 ПРАКТИЧЕСКАЯ ЧАСТЬ
3.1 Разработка логической модели автоматизации тестирования
Для создания объектной модели фреймворка был использован язык UML, который является стандартизированным и позволяет в виде чертежей и схем визуализировать, специфицировать, конструировать и документировать программные системы любого масштаба и направления. UML применяется для моделирования информационных систем предприятий, Web-приложений, встроенных систем реального времени и других систем. Для построения логической модели данных фреймворка была выбрана методология IDEF1x, которая используется для создания реляционных моделей данных. Далее происходит переход от структурной диаграммы, описанной в главе 1, к диаграмме вариантов использования (Use case Diagram), которая также называется диаграммой прецедентов. В соответствии с руководством пользователя по языку UML, субъект(актор) — это любая сущность, взаимодействующая с системой извне или множество логически связанных ролей, исполняемых при взаимодействии с прецедентами. Субъект может быть любым: человек, устройство, программа или другая система, которая воздействовует на моделируемую систему. Стандартным графическим обозначением субъекта на диаграммах является фигура человека, под которой записывается имя субъекта, но это не обязательно, так как субъектом может быть представлен любой объект, в зависимости от того, что определит разработчик.
Прецеденты (use case) — описание множества последовательностей действий, которые выполняются системой для того, чтобы актор получил нужный результат. Диаграмма прецедентов функционального назначения системы предназначена для описания того, как система взаимодействует со своими пользователями (актерами) и что она должна делать, чтобы удовлетворить их потребности. Как уже было сказано, на диаграммах прецедентов стандартным обозначением является эллипс с кратким названием прецедента или его именем в форме глагола и пояснительными словами. Например, на диаграмме прецедентов для автоматизации тестирования могут быть прецеденты, такие как «Выбрать тест-кейс для выполнения», «Запустить тест-кейс», «Сравнить ожидаемый результат с фактическим», и т.д. Прецеденты могут иметь отношения между собой, такие как включение, расширение, обобщение и т.д., что помогает организовать диаграмму и сделать её более понятной.Диаграмма прецедентов фреймворка автоматизации тестирования приведена на рисунке 4.1
Рисунок 4.1. Диаграмма прецедентов использования автоматизации тестирования
Далее, разработаем диаграмму классов для фреймворка (Class Diagram).
Класс – это основной составной элемент информационной системы. Данное понятие является одним из основополагающих в объектно- ориентированных языках программирования. Соответственно, между классами в диаграммах UML и классами в программном коде есть соответствие, поэтому большинство средств построения диаграмм UML позволяют генерировать программный код на выбранном языке программирования на основе диаграммы классов. Каждый класс обязательно имеет уникальное название, а также атрибуты и методы. Атрибутами называются свойства класса, а методами – действия, которые может выполнять объект выбранного класса, чаще всего методы класса предназначены для изменения его свойств.
Абстрактная диаграмма классов для автоматизации представлена на рисунке 4.2
Рисунок 4.2 Диаграмма классов для автоматизации тестирования
3.2 Выбор технологий и спецификации
Помимо выбора языка программирования, среды разработки и фреймворка необходимо выбрать технологии и спецификации для проекта. Так как в данной работе рассматривается тестирования веб приложений придется взаимодействовать с различными браузерами. В этом поможет Selenium WebDriver.
Selenium WebDriver — это инструмент, который позволяет производить кросс-браузерное тестирование, то есть проверять, как отображается сайт в разных браузерах. Он входит в набор для автоматизированного тестирования Selenium. Всего в Selenium три компонента: Selenium WebDriver, Selenium IDE и Selenium Grid.
Тестировщики используют Selenium, чтобы автоматизировать действия браузеров, проверить работоспособность программы и получить данные с сайтов.
У программных средств Selenium разные подходы к автоматизации тестирования. WebDriver нужен для управления браузером, как локальным, так и удаленным. Это гибкий инструмент: он легко интегрируется с тестовыми фреймворками и другими инструментами. На его основе можно создать узконаправленные инструменты для кроссбраузерного тестирования.
WebDriver — главный вектор развития Selenium. Вот его основные преимущества:
- Поддерживает разные языки программирования (Java, C#, PHP, Ruby, Perl, Python), а значит, его может использовать большое количество разработчиков.
- Облегчает кроссбраузерное тестирование и поддерживает различные браузеры: Firefox, Opera, Chrome, Edge.
- Есть фреймворки, облегчающие разработку.
- Позволяет проводить параллельное тестирование в нескольких браузерах одновременно.
- Имеет открытый исходный код, он бесплатный для любого разработчика.
- Большое сообщество пользователей — при возникновении трудностей в работе есть у кого попросить помощи.
Рисунок 4.3 Selenium Webdriver
Для начала работы с Selenium WebDriver нужно определить три ключевых элемента: браузер, драйвер браузера и скрипт для драйвера браузера.
Браузер, работу которого пользователю необходимо автоматизировать
Для браузера нужно определить параметры:
версия браузера;
операционная система, на которой браузер установлен. WebDriver поддерживает три операционные системы: Microsoft Windows, macOS и Linux;
настройки, которые должны быть выставлены в браузере — по умолчанию или кастомные.
Для более качественного тестирования нужно создавать как можно больше комбинаций этих параметров.
Список браузеров, которые поддерживает WebDriver:
Microsoft Edge;
Firefox;
Internet Explorer;
Safari;
Opera;
Chrome.
Драйвер браузера
Драйвер — это веб-сервис, который отправляет команды браузеру. У каждого браузера свои команды управления, которые реализованы по-разному, поэтому и драйверы нужны разные. Скрипт с набором команд для драйвера браузера В этом скрипте прописан алгоритм действий для браузера, с помощью него WebDriver эмулирует поведение пользователя.
Архитектура WebDriver
Selenium WebDriver использует собственные API и API браузера для работы с ними. Это значит, что для корректной работы WebDriver нужно участие команды разработчиков браузера. Такой подход позволяет делегировать разработку драйверов создателям браузеров, но, когда выходят новые версии браузера, бывают задержки в обновлении.
Архитектура WebDriver позволяет разрабатывать драйверы для браузера независимо от разработки драйверов для других браузеров и от разработки клиентского приложения.
Взаимодействовать с драйвером будем посредством готовой библиотеки Python Selenium
Исходя из перечисленного выше набора инструментов можно построить архитектуру проекта. Данные о тестируемом веб-сервисе будем получать из браузера посредством веб-драйвера, далее при помощи фреймворка Pytest будем тестировать полученные данные в проекте, результаты на текущем этапе разработки будут выводиться в терминал выбранной среды разработки. В дальнейшем можно реализовать экспорт результатов в различные форматы, в рамках данной работы будет достаточно готового шаблона, предоставленного фреймворком. Схема разработанной архитектуры проекта представлена на рисунке 4.5
Рисунок 4.5 – Разработанная архитектура системы
3.3 Выбор тестируемого проекта
Подход к тестированию и его автоматизации сильно зависит от выбранного проекта. В зависимости от специфики веб-сервиса и его архитектурных особенностей набор автотестов может значительно меняться. Собрать универсальный комплекс автотестов на данный момент невозможно, так как при тестировании учитывается строение html-страниц и набор доступных запросов к API. Задача данной работы выстроить подход к созданию автотестов, основываясь на котором можно тестировать различные веб-сервисы, модифицируя текущий проект.
Для примера был выбран проект интернет-магазина написанный на базе ресурса pythonanywhere.
Pythonanywhere.com — сервис, позволяющий вести разработку на Python онлайн, прямо в браузере. Данный пример был выбран не случайно, я считаю, что интернет-магазин один из более обширных вариантов для автоматизации тестирования. На примере интернет-магазина можно рассмотреть тестирования функционала отображения каталогов, корзины товаров, регистрации и авторизации пользователей, что делает его самым удачным вариантом, по сравнению с другими веб-сервисами
3.4 Основные классы проекта
Для начала процесса тестирования необходимо определить основные элементы веб-сервиса и понять, какие виды тестов необходимо провести. В данном разделе главные объекты веб-сервиса будут рассмотрены в качестве классов с определенным набором атрибутов учитывая описанную выше диаграмму классов. Каждому классу будут присвоен ряд методов, описывающих процесс тестирования данного объекта.
3.4.1 Класс BasePage
Основным классом в проекте будет базовый класс, который будет содержать методы для управления окнами браузера и работы с текущей страницей. Он будет использован в качестве базового класса для других классов, которые будут работать с конкретными страницами
Конструктор класса инициализирует WebDriver и URL, с которым будет работать экземпляр класса.
def __init__(self, browser, url):
self.browser = browser
self.url = url
Метод go_to открывает заданную страницу в браузере.
def go_to(self, url):
self.browser.get(self.url)
Метод maximize_window открывает браузер на весь экран.
def maximize_window(self):
self.browser.maximize_window()
Методы switch_to_newly_opened_tab, switch_to_first_opened_tab и switch_to_last_opened_tab позволяют переключаться между вкладками браузера.
self.browser.switch_to.window(self.browser.window_handles[1])
Метод switch_wait_to_newly_tab_select позволяет переключаться на нужную вкладку. Он ожидает появления нужной вкладки и затем переключается на неё.
def switch_wait_to_newly_tab_select(self, number):
while True:
try:
self.browser.window_handles[number]
except IndexError:
continue
else:
time.sleep(3)
break
self.browser.switch_to.window(self.browser.window_handles[number])
Метод close_tab закрывает текущую вкладку браузера.
def close_tab(self):
self.browser.close()
Метод reload_page перезагружает страницу в браузере.
def reload_page(self):
time.sleep(3)
self.browser.refresh()
Метод get_title возвращает заголовок текущей страницы.
def get_title(self):
return self.browser.title
Метод get_url возвращает текущий адрес страницы.
def get_url(self):
return self.browser.current_url
Метод alert_accept обрабатывает аллерты в браузере. Если аллерт есть, то он принимает его сообщение и возвращает его значение. Если аллерта нет, то метод возвращает строку «no alert».
solve_quiz_and_get_code — метод, который позволяет решить задачу в алерте, вычисляя логарифм. Он получает значение переменной x из текста алерта, вычисляет ответ на задачу и вводит его в алерт. Затем метод получает текст из второго алерта и выводит его в консоль.
def solve_quiz_and_get_code(self):
alert = self.browser.switch_to.alert
x = alert.text.split(» «)[2]
answer = str(math.log(abs((12 * math.sin(float(x))))))
alert.send_keys(answer)
alert.accept()
try:
alert = self.browser.switch_to.alert
alert_text = alert.text
print(f»Your code: {alert_text}»)
alert.accept()
except NoAlertPresentException:
print(«No second alert presented»)
is_element_present — метод, который проверяет наличие элемента на странице.
def is_element_present(self, how, what):
try:
self.browser.find_element(how, what)
except NoSuchElementException:
return False
return True
is_not_element_present — метод, который проверяет отсутствие элемента на странице. Он ожидает определенное время и возвращает False, если элемент все же появился.
def is_not_element_present(self, how, what, timeout=4):
try:
WebDriverWait(self.browser, timeout).until(EC.presence_of_element_located((how, what)))
except TimeoutException:
return True
return False
go_to_login_page — метод, который кликает на кнопку «Войти или зарегистрироваться» на странице.
def go_to_login_page(self):
self.browser.find_element(*BasePageLocators.LOGIN_LINK).click()
element_text — метод, который получает текст элемента на странице.
def element_text(self, by, value):
try:
element = self.browser.find_element(by, value)
text = element.text
except NoSuchElementException:
return False
return text
go_to_cart — метод, который кликает на иконку корзины на странице.
def go_to_cart(self):
self.browser.find_element(*BasePageLocators.BASKET_LINK).click()
3.4.2 класс BasketPage
BasketPage наследует класс BasePage и является классом для тестирования функционала корзины интернет-магазина,а конкретно для проверки информации о товарах в корзине и наличии сообщения о пустой корзине.
Класс содержит два метода: basket_null_text и product_name_in_basket.
Метод basket_null_text проверяет, что на странице корзины отображается сообщение «Your basket is empty.» Если это сообщение не отображается, метод вызовет ошибку и проверка не будет пройдена.
def basket_null_text(self):
assert empty_basket in self.element_text(
*BasketPageLocators.EMPTY_TEXT)
Метод product_name_in_basket получает информацию о названии продукта, который находится в корзине. Он ищет элемент на странице, используя селектор из файла locators.py и возвращает текст в найденном элементе. В данном случае, возвращается название продукта, находящегося в корзине.
def product_name_in_basket(self):
return self.browser.find_element(
*BasketPageLocators.PRODUCT_NAME).text
3.4.3 LoginPage
Класс LoginPage наследует BasePage. Этот класс определяет методы для проверки соответствия страницы авторизации/регистрации определенным критериям. Если страница не соответствует этим критериям, методы в этом классе вызовут ошибку и проверка не будет пройдена. В этом классе определены три метода, которые выполняют проверки на странице авторизации/регистрации.
Метод should_be_login_url проверяет, что URL-адрес страницы соответствует ожидаемому значению. Если URL-адрес отличается, метод вызовет ошибку и проверка не будет пройдена.
def should_be_login_page(self):
self.should_be_login_url()
self.should_be_login_form()
self.should_be_register_form()
Метод should_be_login_form проверяет, что на странице есть форма авторизации. Если форма не найдена, метод вызовет ошибку и проверка не будет пройдена.
def should_be_login_url(self):
assert self.get_url() == f»{TEST_URL}/en-gb/accounts/login/», «Страница не совпадает»
Метод should_be_register_form проверяет, что на странице есть форма регистрации. Если форма не найдена, метод вызовет ошибку и проверка не будет пройдена.
def should_be_register_form(self):
assert self.is_element_present(
*LoginPageLocators.REGISTRATION_FORM),
«Форма регистрации нет на странице »
3.4.4 ProductPage
Класс ProductPage наследует BasePage. Класс определяет методы для добавления товара в корзину и получения названия товара со страницы товара.
В этом классе определены два метода: add_to_cart и product_name.
Метод add_to_cart выполняет нажатие на кнопку, которая отвечает за добавление товара в корзину. Кнопка находится на странице товара и выбирается с помощью селектора ADD_BUTTON из файла locators.py.
def add_to_cart(self):
button = self.browser.find_element(*ProductPageLocators.ADD_BUTTON)
button.click()
Метод product_name возвращает название товара, находящегося на странице товара. Он использует селектор PRODUCT_NAME и возвращает текст элемента, содержащего название товара.
def product_name(self):
return self.browser.find_element(
*ProductPageLocators.PRODUCT_NAME).text
3.4.5 TestPage
Данный класс содержит три тестовых метода, которые выполняют проверки на странице сайта.
Метод test_go_to_login_page проверяет, что пользователь может перейти на страницу авторизации/регистрации. Он создает объект MainPage, переходит на главную страницу, затем переходит на страницу авторизации/регистрации с помощью метода go_to_login_page. Затем создается объект LoginPage и выполняются три проверки на корректность URL-адреса страницы, наличие формы логина и наличие формы регистрации.
def test_go_to_login_page(self, browser):
page = MainPage(browser, TEST_URL)
page.go_to(TEST_URL)
page.go_to_login_page()
login_page = LoginPage(browser, browser.current_url)
login_page.should_be_login_page()
Метод test_guest_cant_see_product_in_basket_opened_from_main_page проверяет, что гость не видит продукты в корзине при открытии корзины со страницы главной страницы. Он создает объект MainPage, переходит на страницу главной страницы, затем переходит на страницу корзины с помощью метода go_to_cart. Затем создается объект BasketPage и проверяется, что на странице отображается сообщение «Your basket is empty.»
def test_guest_cant_see_product_in_basket_opened_from_main_page(
self, browser):
page = MainPage(browser, TEST_URL)
page.go_to(TEST_URL)
page.go_to_cart()
basket_page = BasketPage(browser, browser.current_url)
basket_page.basket_null_text()
Метод test_guest_can_add_product_to_basket проверяет, что гость может добавить продукт в корзину и проверить, что продукт находится в корзине. Он выполняет параметризованный тест на добавление продукта в корзину со страницы товара. Для каждой ссылки продукта создается объект MainPage, переходит на страницу товара, добавляет товар в корзину с помощью метода add_to_cart, решает задачу и получает код, получает название продукта и переходит на страницу корзины. Затем создается объект BasketPage и проверяется, что название продукта, который находится в корзине соответствует добавленному продукту.
@pytest.mark.parametrize(«link»,
[«/catalogue/coders-at-work_207/?promo=offer0»,«/catalogue/coders-at-work_207/?promo=offer1»,
«/catalogue/coders-at-work_207/?promo=offer2»,
«/catalogue/coders-at-work_207/?promo=offer3″
])
def test_guest_can_add_product_to_basket(self, browser, link):
page = MainPage(browser, f»{TEST_URL}{link}»)
page.go_to(f»{TEST_URL}{link}»)
product_page = ProductPage(browser, browser.current_url)
product_page.add_to_cart()
product_page.solve_quiz_and_get_code()
product_name = product_page.product_name()
page.go_to_cart()
basket_page = BasketPage(browser, browser.current_url)
product_name_in_basket_page =
basket_page.product_name_in_basket()
assert product_name == product_name_in_basket_page
3.4.6 TestUser
Класс TestUser содержит два тестовых метода для проверки функционала API.
Метод test_create_user тестирует создание нового пользователя с использованием POST-запроса, который отправляется на URL, указанный в константе USER. В качестве тела запроса используется user_body. Метод также содержит проверку на успешный ответ с кодом 200, а затем отправляет DELETE-запрос на удаление созданного пользователя.
def test_create_user(self):
response = send_request(«POST», USER, json=user_body)
print(response.json())
assert response.status_code == 200
send_request(«DELETE», f»{USER}/{user_body[‘username’]}»)
Метод test_get_data_user тестирует получение данных пользователя с использованием GET-запроса. Текст URL-адреса строится используя имя пользователя, которое было указано при создании пользователя. Метод выполняет проверку, что код ответа равен 404, что означает, что данный пользователь не был найден, и после этого производит дополнительную проверку на наличие в JSON-ответе текста «User not found».
def test_get_data_user(self):
response = send_request(«GET», f»{USER}/{user_body[‘username’]}»)
print(response.json())
assert response.status_code == 404
assert response.json()[«message»] == «User not found»
4 ЗАКЛЮЧЕНИЕ
В результате данной работы был разработан комплекс автотестов для автоматизации тестирования web-сервисов. Были изучены существующие методы и инструменты тестирования web-сервисов, выбран оптимальный инструмент для автоматизации тестирования, разработаны автотесты для проверки различных функциональных возможностей web-сервисов, а также проведено тестирование созданного комплекса автотестов на различных web-сервисах. Анализ результатов показал, что использование комплекса автотестов для тестирования web-сервисов может улучшить качество и производительность работы web-сервисов, а также повысить удобство их использования для конечных пользователей. На основании проделанной работы можно сделать вывод о том, что автоматизация тестирования web-сервисов является актуальной и перспективной задачей, которая может быть решена с помощью современных инструментов и методов. Созданный в ходе исследования комплекс автотестов может быть использован для тестирования web-сервисов различной сложности и типов. Дальнейшее развитие данного направления может быть связано с расширением комплекса автотестов и созданием новых инструментов для автоматизации тестирования web-сервисов. Результаты работы могут быть полезны для разработчиков web-сервисов, тестировщиков и любых специалистов, связанных с созданием и поддержанием web-сервисов.
5 СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
- Бек, К. Шаблоны реализации корпоративных приложений / К. Бек. –
М. : Вильямс, 2017. – 176 с.
- Буч, Г. Язык UML. Руководство пользователя: Пер. с англ. Мухин Н. /
Г. Буч, Д. Рамбо, А. Якобсон – М. : ДМК Пресс, 2006. – 496 с.
- Введение в BDD [Электронный ресурс]. – Режим доступа :
http://agilerussia.ru/practices/introducing-bdd/.
- Информационная технология. Системная и программная инженерия.
Процессы жизненного цикла программных средств [Текст] : ГОСТ Р
ИСО/МЭК 12207-2010; введ. 01.03.12
- Канер, С. Тестирование программного обеспечения. Фундаментальные
концепции менеджмента бизнес-приложений: Пер. с англ. / С. Канер,
Д. Фолк, Е. К. Нгуен. – К. : ДиаСофт, 2001. – 544 с.
- Макконнелл, С. Совершенный код. Мастер класс. Пер. с англ. / С.
Макконнелл. – М. : Русская редакция, 2010. — 896 с.
- Осипенко, Н. Б. Стандартизация и сертификация программного
обеспечения. Тексты лекций. / Н. Б. Осипенко. – Министерство
образования РБ, Гомельский гос. ун-т им. Ф. Скорины. – Гомель: ГГУ
им. Ф. Скорины, 2012. – 155 с.
- Портал Про Тестинг – Тестирование Программного Обеспечения
- Тамре, Л. Введение в тестирование программного обеспечения / Л.
Тамре. – М. : Вильямс, 2003. – 368 с.
- Шаблоны корпоративных приложений / М. Фаулер [и др.]. – М. :
Вильямс, 2016. – 544 с.
- Guide to the Software Engineering Body of Knowledge [Текст] :
SWEBOK, Version 3.0, IEEE; введ. 20.12.13
71
- PageObject. Martin Fowler [Электронный ресурс]. – Режим доступа :
https://martinfowler.com/bliki/PageObject.html.
- TIOBE Index [Электронный ресурс]. – Режим доступа :
https://tiobe.com/tiobe-index/.
Страницы 1 2
Комментарии
Оставить комментарий
Валера 14 минут назад
добрый день. Необходимо закрыть долги за 2 и 3 курсы. Заранее спасибо.
Иван, помощь с обучением 12 минут назад
Валерий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Fedor 2 часа назад
Здравствуйте, сколько будет стоить данная работа и как заказать?
Иван, помощь с обучением 2 часа назад
Fedor, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Алина 4 часа назад
Сделать презентацию и защитную речь к дипломной работе по теме: Источники права социального обеспечения
Иван, помощь с обучением 4 часа назад
Алина, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Алена 7 часов назад
Добрый день! Учусь в синергии, факультет экономики, нужно закрыт 2 семестр, общ получается 7 предметов! 1.Иностранный язык 2.Цифровая экономика 3.Управление проектами 4.Микроэкономика 5.Экономика и финансы организации 6.Статистика 7.Информационно-комуникационные технологии для профессиональной деятельности.
Иван, помощь с обучением 7 часов назад
Алена, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Игорь Петрович 10 часов назад
К утру необходимы материалы для защиты диплома - речь и презентация (слайды). Сам диплом готов, пришлю его Вам по запросу!
Иван, помощь с обучением 10 часов назад
Игорь Петрович, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Инкогнито 1 день назад
У меня есть скорректированный и согласованный руководителем, план ВКР. Напишите, пожалуйста, порядок оплаты и реквизиты.
Иван, помощь с обучением 1 день назад
Инкогнито, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Илья 1 день назад
Здравствуйте) нужен отчет по практике. Практику прохожу в доме-интернате для престарелых и инвалидов. Все четыре задания объединены одним отчетом о проведенных исследованиях. Каждое задание направлено на выполнение одной из его частей. Помогите!
Иван, помощь с обучением 1 день назад
Илья, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Alina 2 дня назад
Педагогическая практика, 4 семестр, Направление: ППО Во время прохождения практики Вы: получите представления об основных видах профессиональной психолого-педагогической деятельности; разовьёте навыки использования современных методов и технологий организации образовательной работы с детьми младшего школьного возраста; научитесь выстраивать взаимодействие со всеми участниками образовательного процесса.
Иван, помощь с обучением 2 дня назад
Alina, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Влад 3 дня назад
Здравствуйте. Только поступил! Операционная деятельность в логистике. Так же получается 10 - 11 класс заканчивать. То-есть 2 года 11 месяцев. Сколько будет стоить семестр закончить?
Иван, помощь с обучением 3 дня назад
Влад, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Полина 3 дня назад
Требуется выполнить 3 работы по предмету "Психология ФКиС" за 3 курс
Иван, помощь с обучением 3 дня назад
Полина, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Инкогнито 4 дня назад
Здравствуйте. Нужно написать диплом в короткие сроки. На тему Анализ финансового состояния предприятия. С материалами для защиты. Сколько будет стоить?
Иван, помощь с обучением 4 дня назад
Инкогнито, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Студент 4 дня назад
Нужно сделать отчёт по практике преддипломной, дальше по ней уже нудно будет сделать вкр. Все данные и все по производству имеется
Иван, помощь с обучением 4 дня назад
Студент, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Олег 5 дней назад
Преддипломная практика и ВКР. Проходила практика на заводе, который занимается производством электроизоляционных материалов и изделий из них. В должности менеджера отдела сбыта, а также занимался продвижением продукции в интернете. Также , эту работу надо связать с темой ВКР "РАЗРАБОТКА СТРАТЕГИИ ПРОЕКТА В СФЕРЕ ИТ".
Иван, помощь с обучением 5 дней назад
Олег, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Анна 5 дней назад
сколько стоит вступительные экзамены русский , математика, информатика и какие условия?
Иван, помощь с обучением 5 дней назад
Анна, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Владимир Иванович 5 дней назад
Хочу закрыть все долги до 1 числа также вкр + диплом. Факультет информационных технологий.
Иван, помощь с обучением 5 дней назад
Владимир Иванович, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Василий 6 дней назад
сколько будет стоить полностью закрыть сессию .туда входят Информационные технологий (Контрольная работа, 3 лабораторных работ, Экзаменационный тест ), Русский язык и культура речи (практические задания) , Начертательная геометрия ( 3 задачи и атестационный тест ), Тайм менеджмент ( 4 практических задания , итоговый тест)
Иван, помощь с обучением 6 дней назад
Василий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Марк неделю назад
Нужно сделать 2 задания и 1 итоговый тест по Иностранный язык 2, 4 практических задания и 1 итоговый тест Исследования рынка, 4 практических задания и 1 итоговый тест Менеджмент, 1 практическое задание Проектная деятельность (практикум) 1, 3 практических задания Проектная деятельность (практикум) 2, 1 итоговый тест Проектная деятельность (практикум) 3, 1 практическое задание и 1 итоговый тест Проектная деятельность 1, 3 практических задания и 1 итоговый тест Проектная деятельность 2, 2 практических заданий и 1 итоговый тест Проектная деятельность 3, 2 практических задания Экономико-правовое сопровождение бизнеса какое время займет и стоимость?
Иван, помощь с обучением неделю назад
Марк, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф