Реализация проекта в вебе и автоматизация тестирования, с чего начать?
Знаю, что сейчас закидают помидорами, вопрос стопицот раз уже рассматривался на тостере. Но моя то ситуация уникальная знаете ли. Буду стопицотпервым :)
Исходная установка:
1) хочу реализовать несколько небольших проектиков в вебе, например сайт, который собирает данные с других сайтов (парсит) и хранит в базе все это дело, потом показывает юзеру.
2) работаю в сфере ручного QA, хочу идти в сторону автоматизации тестировании и нагрузки, нужно учить что то более крутое чем html / xml для работы с инструментами автоматизации.
Задача:
Что начать изучать, для достижения этих 2х задачек? Можно ли что то придумать, чтобы убить двух зайцев одним выстрелом? Или задачи не пересекаются между собой?
Попутно вопросы:
1) Пока из всех известных языков для веба, я знаю только о связке PHP+SQL для реализации первой моей затеи. Кроме того SQL я уже частично знаю и юзал, и php имеет гораздо меньший порог вхождения, нежели например начать с С++ или Java. Значит ли это, что стоит начать с PHP? Если начинать с него, то какие гайды и руководства мне помогут? Зашел на рутрекер - там литературы тонны. Какую книгу посоветуете? Мануалы на php.net и курсы Попова не предлагать :)
2) Не слышал чтобы для автоматизации тестирования использовался PHP. Все в основном разговоры идут про Python / Java. Но ведь для реализации моей первой цели, они не подходят? Пробывал чудок джавы, как-то неделю поковрял и дальше объектов и классов уехать не смог. Не понятно мне там многое...
Прошу обратить особое внимание литературе по обучению. Желательно конечно на русском, на инглише читаю, но не все понятно с наскоку.
Рюкзачок знаний - html + css / кроссбраузерная верстка. SQL читали нам в универе, базовые запросы помню, если повспоминать вспомню джоины, конкатенации и прочее. Юридический диплом (смайлик), 8 мес программерского обучения (не окончил), 3 года работы сисадмином в виндо секте и год в линуксосетке, 1 год работы интегратором железа (инженер интеграции), год работы в ручном QA (web frontend / системы хранения данных / IPtv). Фрилансю, запиливая сайты на всяких разных CMS клиентам (около 30шт сделано).
Вот такое вам подойдет. Даются основные знания о Selenium - основном инструменте интеграционного тестирования для веба, параллельно немного информации о разработке сайта на Django и юниттестировании. Это в качестве старта.
Потом... Либо продолжать учиться делать сайты, либо закапываться в методики и инструменты тестирования. Что более в приоритете.
@Rrooom дело в том, что тестирование для меня щас хлеб насущный. Но автоматизация не горит, как Must-have skill. А вот что то сваять в вебе интерактивное быстренько на коленке, всегда хотелось.
Это знаете как уметь плавать или ездить на велосипеде :)
Беритесь за Python, он отлично подходит для обеих целей.
Для разработки собственных решений пайтон хорош, потому что:
1) Низкий порог входа - простой и понятный синтаксис, куча обучающего материала.
2) Тысяча реализованных библиотек, которые пригодятся в своих веб-проектах.
3) Джанго в качестве фреймворка для веб.
По автоматизации на питоне литературы и всяческих обучалок тоже достаточно.
Естественно, разработка на пайтоне и написание автотестов на оном - совершенно разные вещи, тем не менее, общая база в виде ЯП и использования общих библиотек вполне могут помочь в том, что бы освоить оба аспекта сразу.
Касательно литературы об обучении. Для основ питона я бы посоветовал codecademy, а дальше книжки и\или видеогайды по вкусу. В любом случае этого добра в интернетах навалом, просто используйте гугл.
Очень интересный ответ. Правильно ли я понимаю, что:
1. Питон первоначально не язык для веба?
2. Благодаря фреймворку джанго мы можем все написанное на питоне, превратить в красивый сайтик, и достичь вожделенную мечту?
3. Работает ли питон с SQL напрямую или надо будет что то еще?
@adept7771
1) Что значит "не язык для веба"? Всмысле, что вы вкладываете в понятие "язык для веба"?
Пайтон - довольно "многофункциональный" инструмент. Например, упомянутый выше Django - пайтон фреймворк для разработки веб-сервисов (напр. Инстаграм, если верить википедии, именно на джанго).
В то же время, есть, например Iron Python, предназначенный для суровой и беспощадной серверсайд разработки (напр. на Iron Python написана EVE Online, если мне не изменяет).
В этот, как я уже говорил, один из плюсов пайтона - огромное количество библиотек и фреймворков, дающее простор для решений.
2) В целом, конечно, да - цель фреймоврка - максимально упростить создание веб-сервиса на основе пайтона. Для этого в него имплиментированы решения для работы с базой, кэшем, шаблонами и прочим.
Естественно это не просто магическая кнопка, заворачивающая ваш бэкенд в красивый интерфейс с рюшечками.
3) У пайтона есть инструменты для работы с SQL, например SQLAlchemy. Хотя, есть и другие библиотеки и решения, реализованные как отдельно, так и в рамках фреймворков. (напр. в рамках джанго есть функционал по созданию маппинга БД и работы с оной, если мне не изменяет память).
Более подробно, я думаю, можно найти на тематических пайтоновских ресурсах, т.к. я далеко не спец в пайтоне, просто в свое время изучал этот вопрос в том же ключе что и вы (присматривал язык для автотестов и + разработки домашних проектов).
@adept7771 Остановился на автотестах на Java (в основном в связи с продуктом, на котором на тот момент внедрялись автотесты) и приложениях на Objective-C Ж)
Но это уже совсем другая история.