«Как и большинство профессионалов в области тестирования, я работал в основном в Windows. Я был свидетелем многих споров с фанатами Microsoft. Однако, когда я пообщался с некоторыми высокопоставленными инженерами Microsoft (которые продолжают там работать), я обнаружил, что обычно они честны — и они признают фейлы в своих продуктах.
Именно поэтому Microsoft так часто закрывает свои неудачные продукты, или даже выкупает удачные продукты конкурентов.
Посмотрим кейсы:
- Linux vs Microsoft Windows
- Git vs Team Foundation Server (TFS)
- Microsoft Windows Phone vs iPhone
- Chrome vs Microsoft Edge
- Selenium vs Microsoft Coded UI Test
- Microsoft иногда признает ошибки. Фанаты Microsoft — нет
Linux vs Windows
Я уверен, что все профессионалы слышали вечный спор, Windows vs Linux, стандартные тейки:
Фанаты Microsoft: «Пользовательский интерфейс Linux уродлив, не подходит для реального использования»
Фанаты Linux: «Windows глючная и медленная»
А в 2016 году Microsoft добавила Linux в свою ОС, назвав Windows Subsystem for Linux (WSL).
Git vs Team Foundation Server (TFS)
Microsoft TFS стал заменой мрачного Visual SourceSafe. Я не встречал ни одного человека, который бы не выражал злость при упоминании Visual SourceSafe.
[прим.: очень древняя вещь:Будучи софтверным гигантом, Microsoft по понятным причинам приложила значительные усилия для продвижения TFS. Один из каналов — так называемые консалтинговые программы Gold Partner. Я работал с одним архитектором (из компании — «золотого партнера»), который очень хорошо отзывался о TFS.
В то время (~2010) я уже начал использовать Git (для подработки), который тогда еще был мало кому известен. На одном из митингов по системе контроля версий (мы использовали Subversion) этот архитектор предложил перейти на MS TFS. Я не согласился: «Я не доверяю VCS от Microsoft. Я пробовал Visual SourceSafe, сейчас попробовал TFS, тоже не понравился. Subversion меня вполне устраивает. Если нужно что-то изменить, я предпочитаю распределенную систему вроде Git«.
Как понимаете, у нас были споры (не жаркие). Конечно, переубедить друг друга не удалось. В итоге мы продолжили использовать Subversion. Но я помню это высокомерное отношение архитектора к Git.
А в 2018 году Microsoft приобрела GitHub за 7,5 миллиарда долларов. TFS закрыли.
Windows Phone
На конференции TIST 2011 один из докладчиков от Microsoft сидел рядом со мной за обедом. Я заметил, что он пользуется мобильным телефоном, похожим на iPhone, но в большом твердом чехле (для маскировки). Я, конечно, спросил: «Это что, iPhone?» Он улыбнулся: «Шшш! Да, но не хочу, чтобы об этом узнали на работе«.
Еще один коллега, настоящий энтузиаст Microsoft, обладал практически всеми программными и аппаратными продуктами, которые Microsoft предлагает для индивидуального использования. Естественно, он пользовался Windows Phone. Я помню, как он невзначай сказал в разговоре с кем-то:
«После последнего обновления я могу принимать звонки».
Chrome vs Edge
Устаревание IE не является чисто техническим, поскольку Microsoft не заботится (может, специально в коммерческих целях?) о соблюдении стандартов W3C. Однако провал браузера Edge больше похож на сугубо технический провал. Все мы слышали заявления об Edge в маркетинговых материалах, например «Созданный с нуля Edge быстрее, чем Chrome«. Но Microsoft отказалась от оригинального Edge и перешла на Chromium.
Internet Explorer -> Edge (Classic) -> Edge (Chromium)
Я работал с несколькими консультантами в программе Microsoft Gold Partner, которые реально не пользовались Chrome для поиска, хотя он у них был открыт. Они открывали Edge и искали в Bing.
Selenium vs Microsoft Coded UI Test
Тестирование это мой домен. Я был свидетелем того, как консультанты-участники программы Microsoft Gold Partner, высоко отзывались о Microsoft Coded UI Test. Думаю, они были реселлерами.
Я встречал нескольких старших менеджеров и инженеров по тестированию из Microsoft на международных конференциях. Если говорить об инструментах, то, насколько я помню, никто не рекомендовал Coded UI Test. Помню, кто-то даже сказал, что он плохо работает.
Статья, опубликованная 2019-04-21 на devblogs.microsoft.com, прямо объясняет, почему Microsoft отказалась от собственного инструмента автоматизации Coded UI Test.
«Почему мы отказываемся от Coded UI Test? Инструменты тестирования интерфейса с открытым исходным кодом, такие как Selenium и Appium, в последние годы набирают обороты, имеют сильную поддержку комьюнити и теперь являются практически отраслевыми стандартами. Наше решение для кроссбраузерного тестирования Coded UI изначально было основано на Selenium. Кроме того, и Selenium, и Appium — кроссплатформенные и поддерживают множество языков программирования».
— Комментарии по Coded UI Test в Visual Studio 2019
Из всего вышесказанного становится понятно, что Coded UI Test — это еще один пользовательский фреймворк поверх Selenium, который, причем, значительно ухудшает его работу.
У Microsoft не получилось, и у Google не получилось (кто-то здесь помнит Protractor?)
Лично мне смешно видеть столько видеопрактикумов, обучающих людей «Проектировать и создавать фреймворк автоматизации», а также вакансии, в которых в качестве критерия отбора лучших указывается «умение разрабатывать фреймворк автоматизации».
Такого вообще не должно быть в тестировании. Подумайте сами: мы ведь тестировщики, наша работа — это проверка. Как мы могли допустить так много фальсификаторов в своей области? Просто попросите их рассказать, как они напишут настоящие автотесты в их кастомном инструменте в первый же день. В веб-тестировании все приложения в принципе одинаковы. Распознать мошенника можно, задав ему этот простой вопрос на собеседовании.
Microsoft иногда признает свои фейлы
Хотя я не являюсь поклонником Microsoft, я уважаю ее культуру признания ошибок. Несмотря на множество ошибок, например BizTalk, J++, музыкальный плеер Zune, Silverlight, MSN, MS Band, …, эта корпорация смогла двигаться дальше.
Кевин Нафтон из Google: «Утверждаю как инженер: признать, что чего-то не знаешь — это первый шаг к изучению этого.»
Однако большинство фанатов Microsoft, которых я встречал, лишены этого качества. Таких людей много в автоматизации тестирования, например, любителей headless-тестирования, или фреймворков автоматизации JS.
А еще есть так называемые Амбассадоры Cypress.»
По теме: Кладбище продуктов Microsoft
Еще статьи этого же автора:
Взлеты и падения тестовых фреймворков (JS)
Разрыв ChatGPT: “необучаем и бесполезен в автоматизации”