е2е что это такое

Про пользу E2E тестирования

В пирамиде тестирования End-to-End (E2E) тесты занимают одну из верхних ступеней. Написав один E2E тест, можно быть уверенным в результатах работы логики приложения, проверить интеграции с другими системами и создать «контракт» для вашего приложения.

К сожалению, многие из коллег, с которыми я работал, не писали E2E тесты. Отчасти потому что с головой ушли в модульное тестирование и посчитали, что оно лучше по ряду причин, включая моду на TDD. Отчасти потому что верили, что E2E тесты сложно писать, они долго исполняются, да и с инструментарием есть проблемы.

Разберемся с этими мнениями и посмотрим на плюсы, которые предлагает E2E тестирование.

Терминология

Под E2E тестами положим вид автотестов. Эти автотесты должны покрывать все функции сервиса с точки зрения клиента. Добиваются они этого, симулируя реальное взаимодействие клиента, будь это HTTP-запрос или нажатие на кнопку в UI.

Подход модульного тестирования лучше

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

Зато, в результате один E2E тест покрывает больше кода, чем один Unit-тест, хотя может занимать меньшее количество строк по сравнению с аналогичным модульным test suite.

Можно не тратить время на понимание того, как правильно мокировать зависимости, ведь ими становятся в E2E тестах внешние системы, а взаимодействие с тестируемым сервисом строится по принципу «черного ящика».

Не нужно проверять все граничные условия для отдельного метода класса. Это повышает гибкость работы с кодом, так как нет необходимости рефакторить весь test suite при малейшем изменении внутренней логики работы приложения.

Невозможно попасть в ситуацию, когда ты боишься выкинуть старый код, потому что придется пройтись по набору из 100 модульных тестов (написанных даже не тобой), которые так или иначе были завязаны на этот код.

Инструментарий и скорость прогона тестов

На сегодняшний день большинство backend-разработчиков пишут сервисы, представляющие API с помощью HTTP (возможно GraphQL) или некоторым подобием MQ. В таком случае достаточно обычного клиента HTTP, доступного в большинстве mainstream ЯП.

Frontend-разработчики пишут, в основном, для Web-платформ (браузеров) или для мобильных в виде нативных приложений. Тут ситуация немного сложнее, так как инструментарий требует более детального изучения, но не дольше любого остального инструмента, с которым Вам придется столкнуться при разработке приложений.

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

Дополнительные плюсы E2E тестирования

Каждый отдельный тест покрывает реальный сценарий использования приложения и дает куда больше понимания другим разработчикам, в том числе и будущим, как именно и зачем все это работает.

По результатам работы Вы получаете «настоящий» code-coverage. Если есть код и его невозможно исполнить, выполняя клиентские запросы в реальном окружении, то, скорее всего, это лишний код. Если он проверяет граничные условия или ловит маловероятный exception, задумайтесь, возможны ли такие условия в принципе?

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

E2E тесты могут использоваться как контракты API и взаимодействия с Вашим сервисом. К примеру, для backend, как только Ваш E2E тест меняется, необходимо убедиться, что frontend будет готов к таким изменениям.

Заключение

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

Спасибо Вам за внимание! А как Вы считаете, можно ли использовать только E2E тесты?

Источник

Джеймс Славет: Что такое Е2Е бизнес?

Термины B2C и B2B появились фактически вместе с интернетом. Но в последние годы возникло новое предпринимательское движение, которое сейчас резко пошло в гору. Я называю его Е2Е, то есть «end to end». Компании E2E сосредоточены на интересах конечных пользователей: с помощью самого современного софта они объединяют людей, которые хотят получить или предоставить различные услуги. Это очень удобный онлайновый сервис для реального, оффлайнового мира.

Всегда считалось, что фундаментальным качеством идеального стартапа в Силиконовой долине является способность к быстрому, масштабному росту. Команда из 10 человек создала продукт для 10 миллионов? Вот это то, что надо. Но иногда наступают времена, когда требуются проекты, которые невозможно масштабировать, когда старомодное человеческое внимание к интересам конкретного клиента превращается в ключевой элемент общего уравнения. Качество обслуживания становится столь же важным как качество кода. Алгоритмы могут устареть, срок патента закончится, но репутация компании с качественным сервисом никуда не денется.

Е2Е меняет сферу услуг

Сфера услуг – это главный двигатель нашей экономики. И этот сектор ожидает существенная трансформация под воздействием растущих компаний Е2Е. Лучшие из них (как правило, это новички, которые были задуманы как Е2Е бизнес с самого начала) станут ключевыми брендами для следующего поколения потребителей.

Особая система контроля за качеством работы агентов помогает Redfin создать уникальное предложение на рынке. Например. У всех агентов Redfin есть рейтинги, которые им присваивают клиенты. Эти рейтинги любой может увидеть на сайте агентства. И размер дохода агентов зависит именно от этих рейтингов, а не суммы сделок.

Все агенты имеют доступ к специальному программному обеспечению, которое помогает им правильно подобрать недвижимость, а также наиболее точно определить цену покупки или продажи. Сейчас Redfin инвестирует деньги в новый софт и создает систему логистики на местах, что позволит организовать «мгновенные просмотры», так что заказ просмотра квартиры или дома станет таким же простым делом как заказ такси.

Другие ведущие Е2Е компании, например, Airbnb и Über, работают по принципу онлайн-рынков (marketplace business models). Они не нанимают поставщиков услуг и, тем не менее, расходуют значительные средства на улучшение качества обслуживания, стремясь сделать его самым лучшим. Airbnb предлагает бесплатные услуги профессиональных фотографов тем, кто хочет сдать с помощью компании свою квартиру, а работу ее круглосуточной горячей линии обеспечивает разветвленная сеть агентов по всем миру. Именно инвестиции в качество обслуживания стали основой успеха Airbnb. «Если бы я делал все заново, я бы не давал компании расти так быстро», – признался однажды СЕО и со-основатель Airbnb Брайн Чески.

Другие крупные сегменты сферы услуг – образование, здравоохранение, финансы – также существенно преобразятся под воздействием Е2Е движения. Например, вместо того чтобы сидеть в обшарпанном зале какого-нибудь местного дома культуры на лекции второсортного профессора, вы можете включить iPad и попасть в интерактивный класс к одним из лучших в мире преподавателей.

Или, например. В два часа ночи вашему трехлетнему ребенку стало плохо. Вместо того чтобы в панике нестись в больницу, вы можете включить компьютер и получить быструю онлайн-консультацию у хорошего врача.

И, наконец, если вы не хотите сами заниматься инвестированием своих денег, но точно также не хотите платить каждый год 1% от стоимости своих активов какому-то дяде просто за то, чтобы он иногда приглашал вас поиграть в гольф, тогда вот вам отличное и недорогое Е2Е решение этой проблемы.

Почему Е2Е компании вдруг начали расти?

Интернет существует уже давно, а сфера услуг еще дольше. Но почему именно сейчас Е2Е бизнес начал так бурно развиваться?

Во-вторых, многие из лучших предпринимателей последнего десятилетия – Джобс, Безос, Брэнсон, Маск – не ограничивали себя созданием веб-сайтов и написанием мобильных приложений. Они построили великие компании, ориентированные на потребности клиентов в реальном мире, и именно их деятельность служит источником вдохновения для нового поколения предпринимателей.

Взгляд инвестора на E2E

Компании E2E не привлекут сотни миллионов пользователей всего за пару-тройку лет как Youtube, Instagram или Snapchat. И вряд ли в ближайшем будущем их захотят купить Google, Facebook или Twitter. Когда на недавней встрече с инвесторами гендиректора Redfin Гленна Келмана спросили, кто, по его мнению, является наиболее логичным покупателем его бизнеса, он задумался, улыбнулся и сказал: «Никого у нас пока нет». Компании E2E – это не для всех.

И всё же лучшие из E2E компаний имеют невероятный потенциал стоимости для клиентов, персонала и акционеров. Ими будут руководить харизматичные СЕО. Они будут атаковать устоявшиеся, крупные рынки. Они будут сосредоточены на качестве обслуживания. Они будут великолепно управляться. Их будет невозможно остановить. И они будут расти, расти и расти.

Автор – Джеймс Славет, партнер венчурной фирмы Greylock Partners, которая является инвестором компаний Airbnb и Redfin

Источник

Руководители проектов E2E важны для обеспечения реализации стратегических проектов

е2е что это такое. Смотреть фото е2е что это такое. Смотреть картинку е2е что это такое. Картинка про е2е что это такое. Фото е2е что это такоеКомпании тратят много времени и сил на создание PMO и разработку проектных методологий, позволяющих им реализовывать свои стратегические инициативы. Часто такие инициативы охватывают организацию вдоль и поперек, являются комплексными по характеру и очень многофункциональными в реализации.

Как правило, выполнение таких проектов охватывает три сферы: коммерция, технология и обслуживание. Это ставит руководству сложную задачу назначения подходящего типа руководителя проекта, который возьмет на себя ответственность за реализацию. Это вызывает типичную дискуссию о том, как такие проекты должны выстраиваться. Рисунок 1.0 показывает типовую организационную схему проекта, используемую для реализации сквозных (E2E) инициатив.

е2е что это такое. Смотреть фото е2е что это такое. Смотреть картинку е2е что это такое. Картинка про е2е что это такое. Фото е2е что это такое

Рисунок 1.0 Линейный руководитель проекта управляет сквозным проектом

Линейные руководители проектов управляют сквозными инициативами

Реализация линейными руководителями проектов сквозных инициатив является неэффективной, так как они обладают глубокими знаниями о своих подразделениях, но испытывают затруднения при работе в других областях. Кроме того, такие руководители проектов всегда страдают от недостатка доверия, и сотрудники других подразделений не принимают их всерьез. Например, руководители коммерческих проектов способны следить за тем, чтобы подразделения, такие как товары, маркетинг, продажи, юридический отдел, и т.д. не только получали необходимую поддержку, но и подчинялись по необходимости. Однако такие руководители проектов испытывают затруднения, имея дело с ИТ. Они не понимают технический язык, не умеют ставить задачи персоналу ИТ, или даже незнакомы с работой внутренних отделов ИТ с их большим числом поставщиков. То же самое применимо к руководителям проектов ИТ.

Вследствие этого осуществление проекта разбивается на части, и страдает общий проектный опыт руководства.
В зависимости от сущности проекта, проблема часто решается путем назначения двух руководителей проектов, из них один руководит, а второй помогает ему. В некоторых компаниях вспомогательный руководитель проекта называется экспертом в предметной области или SME. Данная схема показана на рисунке 1.1

е2е что это такое. Смотреть фото е2е что это такое. Смотреть картинку е2е что это такое. Картинка про е2е что это такое. Фото е2е что это такое

Рисунок 1.1 Линейному руководителю проекта помогает функциональный руководитель проекта в реализации сквозного проекта

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

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

Централизованная группа руководителей проектов реализует сквозные инициативы

Другой способ реализации сквозных инициатив – создать и обучить небольшую группу специальных руководителей сквозных проектов, хорошо знакомых со всеми областями деятельности компании и имеющих превосходные навыки управления проектами. Централизованная группа руководителей сквозных проектов должна находиться в бюро исполнительного руководства программы (EPMO) и иметь поддержку со стороны руководства. Рисунок 1.2 показывает организационную структуру иерархии проекта.

е2е что это такое. Смотреть фото е2е что это такое. Смотреть картинку е2е что это такое. Картинка про е2е что это такое. Фото е2е что это такое

Рисунок 1.2 Руководитель сквозного проекта возглавляет проектную группу

Основное преимущество данного подхода – нейтральный руководитель сквозного проекта, не связанный ни с каким отдельным отделом, внедряется в организацию. Вместе с поддержкой руководства, это становится незаменимым при формировании межфункциональных проектных групп. Можно возразить, что такой подход может снять ответственность с линейных подразделений, и любая неудача быстро будет приписываться руководителю сквозного проекта. Опасения такого рода можно побороть путем четкого планирования подотчетности и обязанностей в начале проекта.

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

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

Источник

Что такое сквозное шифрование (E2EE)?

Вступление

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

Конечно, вы не хотели бы, чтобы ваши сообщения читал сервер, ответственный за их передачу между вами и получателем. Тогда решением для вас может стать сквозное шифрование (или E2EE).

Прежде чем рассказать, зачем вам может понадобиться E2EE и как оно работает, давайте посмотрим, как передаются незашифрованные сообщения.

Как передаются незашифрованные сообщения?

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

Взаимодействие пользователей А и В. Чтобы обмениваться сообщениями друг с другом, они должны передавать данные через сервер (S).

Скорее всего, вы знакомы с моделью “клиент-сервер”. Клиент (ваш телефон) обладает ограниченной функциональностью – основные вычисления производятся на сервере. Это также значит, что сервер является посредником между вами и получателем.

Как работает сквозное шифрование?

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

Как работает обмен ключами в протоколе Диффи-Хеллмана?

Идея обмена ключами Диффи-Хеллмана была предложена криптографами Уитфилдом Диффи, Мартином Хеллманом и Ральфом Мерклом. Это ставший революционным криптографический протокол, по которому стороны могут генерировать общий секретный ключ в открытой уязвимой среде.

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

Сам обмен заключается в использовании случайных больших чисел и криптографической магии. Мы не будем вдаваться в подробности. Вместо этого воспользуемся популярной аналогией с красками. Предположим, что Алиса и Боб находятся в разных гостиничных номерах на противоположных концах коридора и хотят использовать вместе краску определенного цвета. Они не хотят, чтобы кто-то еще знал, какую именно.

К сожалению, этаж находится под наблюдением шпионов. Предположим, что Алиса и Боб не могут входить в комнаты друг друга, поэтому могут взаимодействовать только в коридоре. В коридоре они могут выбрать общую краску, например, желтую. Затем они берут банку с желтой краской, отливают себе часть и возвращаются в комнаты.

В своих комнатах им нужно подмешать в желтую краску секретный цвет – такой, о котором никто не знает. Алиса использует синий, а Боб – красный. Важно, что шпионам эти секретные цвета неизвестны. Теперь Алиса и Боб выходят из комнат со своими сине-желтыми и красно-желтыми смесями – результат смешивания известен шпионам.

Алиса и Боб меняются смесями в открытую. Неважно, что шпионы это видят – они не могут определить точный оттенок добавленных цветов. Помните, что это всего лишь аналогия – настоящая математика, лежащая в основе этой системы, делает еще труднее подбор секретного “цвета”.

Алиса берет смесь Боба, Боб берет смесь Алисы, и они снова возвращаются в комнаты. Теперь они еще раз подмешивают свои секретные цвета.

В обеих комбинациях одинаковые цвета, поэтому они выглядят одинаково. Алиса и Боб успешно получили уникальный цвет, неизвестный шпионам.

Обмен сообщениями

Неважно, являетесь ли вы хакером, оператором связи или даже представителем правоохранительных органов. Если приложение действительно использует сквозное шифрование, любое перехваченное сообщение будет выглядеть непонятным набором байт.

Достоинства и недостатки сквозного шифрования

Недостатки сквозного шифрования

У сквозного шифрования есть только один недостаток, и будет ли он недостатком вообще, полностью зависит от вашей точки зрения. Для некоторых ценность E2EE неактуальна именно потому, что нельзя получить доступ к сообщениям без соответствующего ключа.

Противники утверждают, что E2EE могут использовать преступники, зная, что правительства и технологические компании не cмогут расшифровать их сообщения. Они считают, что законопослушным людям не нужно хранить в секрете свою переписку и телефонные звонки. Это мнение разделяют многие политики, лоббируя законодательство, по которому будет возможно использовать бэкдоры для доступа к коммуникациям граждан. Конечно, это противоречит цели сквозного шифрования.

Стоит отметить, что приложения, использующие E2EE, не защищены на 100%. Сообщения зашифрованы при передаче между устройствами, но доступны на конечных точках – например, на ноутбуке или смартфоне. Само по себе это не является недостатком сквозного шифрования, но о нем стоит помнить.

Сообщение находится в открытом виде до и после расшифровки.

E2EE гарантирует, что никто не может прочесть ваши данные в процессе передачи. Но все еще актуальны другие угрозы:

Другой риск заключается в том, что кто-то может получить доступ к каналу между вами и вашим собеседником, реализовав атаку “человек посередине”. Это может произойти в начале общения – когда вы выполняете обмен ключами, то не можете быть уверены в подлинности второй стороны. Таким образом, сами того не подозревая, вы можете разделить секрет со злоумышленником. Злоумышленник получает ваши сообщения и имеет ключ для их расшифровки. Он может аналогично обмануть и вашего собеседника, что означает, он сможет передавать сообщения, читать и изменять их по своему усмотрению.

Чтобы избежать такой атаки, многие приложения реализуют различные коды безопасности. Это строка чисел или QR-код, которыми вы можете поделиться со своими контактами через безопасный канал (в идеале оффлайн). Если числа совпадают, то вы можете быть уверены, что третья сторона не отслеживает ваше взаимодействие.

Достоинства сквозного шифрования

Неверно рассматривать E2EE средство, полезное только для преступников и информаторов. Доказано, что даже самые, казалось бы, безопасные компании уязвимы для кибератак, в результате чего незашифрованная информация о пользователях становится доступной злоумышленникам. Доступ к пользовательским данным, таким как конфиденциальные сообщения или документы, удостоверяющие личность, может иметь катастрофические последствия для жизни людей.

Заключение

В дополнение к замечаниям выше стоит сказать, что растет количество свободно распространяемых инструментов для сквозного ширования. В комплекте с операционными системами iOS и Android идут соответственно Apple iMessage и Google Duo, при этом появляется все больше программного обеспечения, ориентированного на конфиденциальность и безопасность.

Источник

End-to-end или E2E-процесс: что это? Сквозное тестирование

е2е что это такое. Смотреть фото е2е что это такое. Смотреть картинку е2е что это такое. Картинка про е2е что это такое. Фото е2е что это такое

и другие поведенческие факторы.

К примеру, компания Гугл при разработке своих продуктов следует правилу «70-20-10», цифры которого показывают процентное соотношение от общего количества тестов, то есть:

70% занимают юнит-тесты;

20% занимают интеграционные тесты;

Нет единого алгоритма сквозного тестирования, так как многое будет зависеть от сложности самого проекта и что конкретно нужно тестировать. Е2Е — это лишь название процесса тестирования, а не его метод или алгоритм. Но при этом выделяют два основных типа сквозного тестирования, на которых мы немного остановимся.

Любой сквозной тест — это:

в первую очередь тестирование UI;

тяжелый и медленный тест;

применение метода «черного ящика» и найм сторонних тестировщиков, никак не связанных с разработкой программы;

тяжелый «отлов» найденной проблемы;

тестирование всех модулей и всех систем целиком, поэтому требуется сложный и эффективный софт или работа «руками»;

Заключение

нагрузку на каждый трос или балку;

поведение моста при наводнении, землетрясении, пожаре или аварии на нем;

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *