Модель Е2Е появилась после возникновения и широкого распространения интернет-бирж. Согласно этой модели потребитель, зарегистрированный на одной бирже, посылает заявку на товар или услугу на «свою» биржу. Если на данной бирже заявка не может быть удовлетворена, то она автоматически передается на другую биржу. Если и там требуемого товара и/или услуги нет, то она передается дальше до тех пор, пока не будет удовлетворена.
Интернет-банкинг — это обеспечение клиенту возможности управления банковским счетом через Интернет на основе систем электронных платежей.
Интернет-трейдинг — это заключение сделок на покупку или продажу ценных бумаг или валютных активов через Интернет, в режиме реального времени. Развитие Интернета привело к появлению так называемых онлайновых брокеров, которые предлагают те же услуги, что и обычные брокеры, но взаимодействие инвестора и брокера происходит только через Интернет.
В современных условиях построение и функционирование информационных систем (ИС) опирается на широкие возможности, предоставляемые глобальной сетью Интернет.
Подход выделения сквозных (End-To-End | E2E) бизнес-процессов
Особое значение в современных условиях глобальных рыночных отношений между многочисленными фирмами и корпорациями, взаимодействующими в мировом экономическом пространстве, в том числе и организациями, принимающими участие в процессах управления на самых различных уровнях, имеют задачи построения и функционирования ИС, как основного инструмента эффективной и правильной их деятельности. Эти задачи решаются с помощью самых современных инструментов и технологий, а именно — построения и ведения е-бизнеса и е-коммерции.
Е-бизнес (Слайд 5) включает широкий диапазон бизнес-процессов, которые косвенно связаны с коммерческими трансакциями, основными из которых являются:
o Процессы, сфокусированные на производстве, имеющие электронные звенья связи с поставщиками (в рамках ИС MRPII -, ERP — и APS -классов).
o Процессы, сфокусированные на потребителе, обеспечивающие онлайновую поддержку потребителей и управление взаимоотношениями с потребителями (CRM).
o Внутренние, или сфокусированные на менеджменте компании процессы, включающие автоматизированное обслуживание собственного персонала компании, его профессиональное обучение и переподготовку и т.п.
Электронная коммерция (Слайд 6) одна из составляющих е-бизнеса — осуществление бизнес — коммуникаций и трансакций в цепях поставок при помощи компьютеров, (покупка или продажа товаров и услуг и передача денежных средств при помощи цифровых коммуникаций).
Источник: studopedia.ru
Джеймс Славет: Что такое Е2Е бизнес?
Новое поколение интернет-предпринимателей не хочет быстрого роста бизнеса, а вместо этого фокусируется на повышении качества обслуживания клиентов. Для этого движения, которое вскоре полностью изменит наше представление о том, как должна выглядеть сфера услуг, партнер венчурной фирмы Greylock Partners Джеймс Славет придумал специальный термин – E2E.
Термины B2C и B2B появились фактически вместе с интернетом. Но в последние годы возникло новое предпринимательское движение, которое сейчас резко пошло в гору. Я называю его Е2Е, то есть «end to end». Компании E2E сосредоточены на интересах конечных пользователей: с помощью самого современного софта они объединяют людей, которые хотят получить или предоставить различные услуги. Это очень удобный онлайновый сервис для реального, оффлайнового мира.
Всегда считалось, что фундаментальным качеством идеального стартапа в Силиконовой долине является способность к быстрому, масштабному росту. Команда из 10 человек создала продукт для 10 миллионов? Вот это то, что надо.
Но иногда наступают времена, когда требуются проекты, которые невозможно масштабировать, когда старомодное человеческое внимание к интересам конкретного клиента превращается в ключевой элемент общего уравнения. Качество обслуживания становится столь же важным как качество кода. Алгоритмы могут устареть, срок патента закончится, но репутация компании с качественным сервисом никуда не денется.
Е2Е меняет сферу услуг
Сфера услуг – это главный двигатель нашей экономики. И этот сектор ожидает существенная трансформация под воздействием растущих компаний Е2Е. Лучшие из них (как правило, это новички, которые были задуманы как Е2Е бизнес с самого начала) станут ключевыми брендами для следующего поколения потребителей.
Онлайновое агентство недвижимости Redfin – один из образцовых примеров Е2Е движения. На прошлой неделе Redfin объявила о привлечении $50 млн, а ее бизнес стремительно растет. У компании есть сайт и приложение для мобильных, с помощью которых можно купить или продать недвижимость. Ее отличие от главных конкурентов – популярных сайтов вроде Zillow и Trulia – в том, что Redfin не нацелена на привлечении клиентов в уже существующие агентства недвижимости. Компания использует собственных агентов по всей стране, которые оказывают услуги в режиме Е2Е.
Особая система контроля за качеством работы агентов помогает Redfin создать уникальное предложение на рынке. Например. У всех агентов Redfin есть рейтинги, которые им присваивают клиенты. Эти рейтинги любой может увидеть на сайте агентства. И размер дохода агентов зависит именно от этих рейтингов, а не суммы сделок.
Все агенты имеют доступ к специальному программному обеспечению, которое помогает им правильно подобрать недвижимость, а также наиболее точно определить цену покупки или продажи. Сейчас Redfin инвестирует деньги в новый софт и создает систему логистики на местах, что позволит организовать «мгновенные просмотры», так что заказ просмотра квартиры или дома станет таким же простым делом как заказ такси.
Другие ведущие Е2Е компании, например, Airbnb и Über, работают по принципу онлайн-рынков (marketplace business models). Они не нанимают поставщиков услуг и, тем не менее, расходуют значительные средства на улучшение качества обслуживания, стремясь сделать его самым лучшим. Airbnb предлагает бесплатные услуги профессиональных фотографов тем, кто хочет сдать с помощью компании свою квартиру, а работу ее круглосуточной горячей линии обеспечивает разветвленная сеть агентов по всем миру. Именно инвестиции в качество обслуживания стали основой успеха Airbnb. «Если бы я делал все заново, я бы не давал компании расти так быстро», – признался однажды СЕО и со-основатель Airbnb Брайн Чески.
Другие крупные сегменты сферы услуг – образование, здравоохранение, финансы – также существенно преобразятся под воздействием Е2Е движения. Например, вместо того чтобы сидеть в обшарпанном зале какого-нибудь местного дома культуры на лекции второсортного профессора, вы можете включить iPad и попасть в интерактивный класс к одним из лучших в мире преподавателей.
Или, например. В два часа ночи вашему трехлетнему ребенку стало плохо. Вместо того чтобы в панике нестись в больницу, вы можете включить компьютер и получить быструю онлайн-консультацию у хорошего врача.
И, наконец, если вы не хотите сами заниматься инвестированием своих денег, но точно также не хотите платить каждый год 1% от стоимости своих активов какому-то дяде просто за то, чтобы он иногда приглашал вас поиграть в гольф, тогда вот вам отличное и недорогое Е2Е решение этой проблемы.
Почему Е2Е компании вдруг начали расти?
Интернет существует уже давно, а сфера услуг еще дольше. Но почему именно сейчас Е2Е бизнес начал так бурно развиваться?
Во-первых, огромные перемены связаны с распространением смартфонов. Мобильные все больше превращаются в виртуального помощника на все случаи жизни. С их помощью потребитель эпохи mobile-first может в ту же секунду, когда у него возникла какая-то потребность, совершить покупку или заказать нужную услугу, причем с гарантией качества и надежности. И как только он попробовал на своем телефоне хотя бы одно такое приложение, заставить его вернутся к старой жизни уже трудно. Я называю это явление «экономикой последней секунды» . Впрочем, для того чтобы оправдать ожидания потребителя, необходим не просто симпатичный софт, но и отлично организованное исполнение заказов в оффлайне.
Во-вторых, многие из лучших предпринимателей последнего десятилетия – Джобс, Безос, Брэнсон, Маск – не ограничивали себя созданием веб-сайтов и написанием мобильных приложений. Они построили великие компании, ориентированные на потребности клиентов в реальном мире, и именно их деятельность служит источником вдохновения для нового поколения предпринимателей.
Наконец, в-третьих, мнение потребителей распространяется теперь со скоростью света. Онлайн-медиа и социальные сети обеспечивают мгновенную обратную связь с компанией. Польза от похвалы клиента стала выше, чем когда-либо. Так же как и цена одной единственной жалобы. Спросите, например, у United Airlines.
Уже больше 10 млн человек знают, что эта авиакомпания сломала какому-то парню гитару . Вывод: если вы способны – или не способны – обеспечить наилучшее обслуживание клиентов, люди об этом узнают очень быстро.
Взгляд инвестора на E2E
Компании E2E не привлекут сотни миллионов пользователей всего за пару-тройку лет как Youtube, Instagram или Snapchat. И вряд ли в ближайшем будущем их захотят купить Google, Facebook или Twitter. Когда на недавней встрече с инвесторами гендиректора Redfin Гленна Келмана спросили, кто, по его мнению, является наиболее логичным покупателем его бизнеса, он задумался, улыбнулся и сказал: «Никого у нас пока нет». Компании E2E – это не для всех.
И всё же лучшие из E2E компаний имеют невероятный потенциал стоимости для клиентов, персонала и акционеров. Ими будут руководить харизматичные СЕО. Они будут атаковать устоявшиеся, крупные рынки. Они будут сосредоточены на качестве обслуживания. Они будут великолепно управляться. Их будет невозможно остановить.
И они будут расти, расти и расти.
Автор – Джеймс Славет, партнер венчурной фирмы Greylock Partners, которая является инвестором компаний Airbnb и Redfin
Источник: bishelp.ru
Сквозное (e2e) тестирование
Сквозное тестирование — это проверка (валидация) приложения полностью, от начала до конца, вместе со всеми зависимостями.
Для такого тестирования создается тестовое окружение (среда), идентичное окружению, в котором работают реальные пользователи. Тестируются все действия, которые пользователи могут выполнять в приложении.
Тестируется весь user flow (путь пользователя). Например, при разработке онлайн-магазина тестировщик «идет по пути пользователя» от входа посетителя на сайт и регистрации до завершения покупки.
Правильное сквозное тестирование
Если сквозному тестированию уделяется чрезмерное время/ресурсы, а другие виды/уровни тестирования выполнены менее тщательно «в надежде на потом», это называется «переворачиванием тестовой пирамиды».
Хаотически выполненные быстрые ручные e2e-тесты могут выглядеть приемлемо для менеджмента, но принесут проблемы в будущем.
Рутинные операции e2e-тестов автоматизируются, чтобы сэкономить время. Современные приложения часто и регулярно обновляются — поэтому необходимостью становится автоматизированное непрерывное тестирование. Трудно выполнять все e2e-тесты вручную каждый раз при обновлении кода. Если есть возможность написать один тест-сьют и запускать его всякий раз когда нужно сквозное, что многие и делают, время действительно экономится.
Но каждый уровень и тип тестирования имеет свои ограничения. Если пытаться «выйти за рамки» каждого типа/уровня, такие тесты могут создавать проблемы. Может возникнуть ситуация, когда больше времени уходит на написание кода автотестов и его обслуживание, чем на продвижение с кодом собственно самого приложения. Иными словами, может потеряться крупнейший плюс автоматизации — ускорение всех процессов.
Поэтому, выполняя e2e-тестирование, нельзя забывать о тестовой пирамиде, о том что e2e-тесты находятся на ее вершине. Пирамида точнее всего отображает правильный баланс уровней и типов тестирования. Этот стандарт устоялся в ИТ-индустрии уже очень давно, около 20 лет назад, и продолжает быть вполне применимым и в 2023.
Если разработчики и тестировщики не будут соблюдать «правило пирамиды», то пирамида может превратиться в «перевернутую» — в которой большинство тестов, как по количеству так и по объему операций, будут составлять сквозные тесты. Или как вариант, пирамида будет похожа скорее на песочные часы: много юнит-тестов и сквозных, но почти нет интеграционных.
Уровни пирамиды
Пирамида тестирования имеет три «слоя»: юнит-тесты, интеграционные тесты и сквозные.
Далее, на самой верхушке, располагаются приемочные (для простоты примем, что они пока исключены из пирамиды; также примем, что функцию системных тестов у нас выполняют сквозные; о разнице между сквозными и системными — далее).
Юнит-тесты
Обычно «юниты» — это функции или классы. Они как правило небольшие, и не имеют внешних зависимостей. А если имеют, то вместо зависимостей «вставлены» моки.
Когда юнит-тест падает, определить причину достаточно просто. Очень маленькая область тестирования определяет то, что юнит-тесты просто писать, быстро выполнять, и очень легко обслуживать.
Интеграционные тесты
Касаются взаимодействий между несколькими подсистемами в приложении; такие тесты создавать сложнее и медленнее. Если интеграционный тест падает, найти причину сложнее чем в юнит-тесте, из-за большой области тестирования. Интеграционные тесты сложно писать и обслуживать, бывает нужно много моков и т.п.
Сквозные тесты
Как мы уже знаем, сквозные тесты фокусируются на user flow, от самых простых к сложным и негативным. Сквозные тесты с какой-то точки зрения можно рассматривать как «многоэтапные сложные интеграционные». Сквозные тесты самые медленные, потому что время уходит на билд, деплой, запуск приложения, и выполнение (очень) большого количества действий.
Если сквозной тест падает, найти причину как правило сложно, поскольку область тестирования теперь распространяется на все приложение, и на каждом этапе пользовательского пути может случаться ошибка.
Понятно, почему соблюдение тестовой пирамиды так важно — на каждом этапе тестирования уменьшается скорость и увеличивается область тестирования, а значит сложность создания и обслуживания автотестов. Сквозное тестирование не может заменить другие методы, а может только их «расширять». В идеале тестирование должно находить баги как можно ниже в пирамиде, не пропуская их на верхние уровни.
Сквозное тестирование в идеале должно валидировать в основном интерфейс — кнопки, формы, ссылки, и отрабатывать другие высокоуровневые операции, в том числе обслуживающие, типа обновления приложения и т.п.
Стратегии сквозного тестирования
Вертикальное e2e-тестирование
«Вертикальный подход» проверяет, как бы подытоживая, все уровни пирамиды, начиная с выборочных юнит-тестов, продолжая интеграционными, и заканчивая проверкой интерфейса. Стандартно применяется в CI/CD-пайплайне для автоматизированного запуска тестов при новых коммитах/pull-реквестах.
Горизонтальное e2e-тестирование
Обычно предполагает полную поэтапную проверку пользовательских путей, каждого взаимодействия на этом пути; а также и верификацию взаимосвязей с другими приложениями/интерфейсами. Из-за большого объема таких задач применяется в большинстве случаев лишь для основных, критически важных сценариев.
Типы сквозного тестирования
В данное время автоматизированные e2e-тесты применяются более широко чем ручные (по крайней мере если брать по количеству выполняемых операций). Автоматизация возможна двух видов: codeless и стандартная общепринятая (с написанием тестов на ЯП).
Стандартное e2e-тестирование
Если речь идет о e2e-тестировании веб-приложений, подразумевается применение фреймворков автоматизации браузеров. Самый популярный инструмент, разумеется, Selenium, но многие предпочитают Cypress (по крайней мере для JavaScript). В принципе, оба фреймворка работают более-менее похожим образом. (Подробный материал об инструментах — по ссылке).
В фреймворках создаются моки браузеров, которым передаются инструкции, какие действия выполнять; после этого запускаются тесты, проверяющие, как приложение реагирует на эти действия.
Ниже пример [мока из документации Cypress], можно видеть, как работает этот е2е-инструмент:
Codeless e2e
Под этим подразумевается применение фреймворков с некими функциями искусственного интеллекта, записывающих действия тестировщика. Добавляя некие дополнительные данные, фреймворк тестирует реакцию приложения.
Внешне это выглядит как lowcode-платформа, с перетаскиванием и вставкой блоков. Ниже гифка — как это делается (на примере TestCraft):
Как видим, крайне удобные функции, не требующие глубокого знания языков программирования (что актуально для выпускников базовых курсов QA), такие инструменты тем не менее обходятся компании дороже чем обычные. Но если остро стоит вопрос времени, подобные codeless-решения могут выручить. Разумеется, эти фреймворки еще слишком сырые в целом, они не могут полностью заменить всю сложность и функциональность существующих фреймворков, и тем более ручного тестирования которое остается по очевидным причинам. Если приложение имеет очень сложные пользовательские пути, если эти пути часто меняются, то конечно классическое e2e-тестирование незаменимо. Если приложение более-менее простое, и вопрос времени основной, то codeless-решения помогут.
Инструменты
Puppetry
Существует также бесплатный Puppetry с открытым кодом (!_не_путать_с_Puppeteer_!):
Как он работает:
Бесплатная платформа сквозного тестирования, работающая в связке с Selenium и Appium.
Пример (можно включить русские субтитры):
Разница между сквозным и системным тестированием
Системное тестирование сосредоточено на полной валидации функциональных и функциональных требований. То есть, системное тестирование предполагает еще больше действий, чем сквозное. В системное тестирование включает такие подвиды тестирования, как тестирование масштабируемости, производительности, или надежности. Иногда задачи системного тестирования могут передавать внешней QA-команде, которая работает с приложением в режиме черного ящика.
В то время как сквозное тестирование фокусируется, грубо говоря, «на правильности прохода пользовательских путей».
Сложности
- Сквозные тесты не обязаны «тестировать как можно больше за один раз», то есть одним тестовым набором всю функциональность. Часто тестировщики пишут огромные сквозные тесты, верифицирующие буквально каждый аспект пользовательского пути, вдаваясь в ненужную детализацию там, где это не так уж обязательно. Например, для проверки пути логина в большинстве случаев будет достаточно верифицировать перенаправление пользователя на главную страницу после успешного логина.
- При падении сквозного теста бывает довольно-таки сложно определить «место падения», то есть его причину. Можно уменьшить время на дебаг автотестов, более внимательно отрабатывая бизнес-логику в юнит-тестах и интеграционных. Также существуют неплохие инструменты, дающие анализ причин, со скриншотами и логами этапов.
- На сквозные тесты требуется большое время в CI-пайплайне, что может тормозить или даже блокировать разработку.
- Сквозные тесты имеют «непрерывную» природу: каждая новая функциональность или изменения существующей приводят к необходимости обновлять сквозные тесты. Этот фактор можно смягчить, создавая реюзабельные компоненты, абстрагирующие детали имплементации. Опять же, в современных инструментах есть подсказки и автокоррекции, адаптирующие сквозные тесты к изменениям кода приложения.
Советы
Первый совет — делать сравнительно небольшие, по возможности независимые, и реюзабельные e2e-тесты (или делать реюзабельными хотя бы их компоненты). Это позволит «нанизывать цепочку» тестовых компонентов на полный end-to-end пользовательский путь. Вместо написания множества изолированных, нигде больше не задействованных тестовых компонентов. Что позволит снизить время на поиск проблемных мест в автотестах и быстрее обновлять тест-сьют.
- Покрывать e2e лишь критическую функциональность
И не тратить время на отработку сообщений об ошибках во второстепенных пользовательских путях — они как правило достаточно просты и не требуют внимания на таком высоком уровне как e2e; и вообще, они должны были исчезнуть на первом уровне модульного тестирования. Следует сосредоточиться на valuable flows, то есть лишь тех которые влияют на пользователей.
- Сквозные тесты не должны слишком зависеть от деталей имплементации
Вовсе не обязательно обновлять e2e-тесты при каждом изменении деталей имплементации в каждом конкретном пользовательском пути. Как говорилось выше, желательно «абстрагировать» отдельные компоненты. Тогда тесты будет проще писать, а далее обслуживать.
Источник: testengineer.ru