Добрый день.
Архитектура систем и разработка приложений; баги и промашки; тестирование и тестировщики; инструменты автоматизации и модульные тесты; ПО с открытым кодом; человеческий фактор в IT; эпизоды.
Архитектура систем и разработка приложений
• William Edwards считает Agile-технологии мошенничеством и полагает, что успех проекта зависит от мастерства исполнителей на каждом этапе пути продукта к пользователю.
• Jeff Atwood нещадно критикует разбивку результатов поиска по страницам, приводит пожелания пользователей и бросает камень в огород Google.
• Четыре причины, из-за которых разработчики отказываются внедрять code review.
• YouTube: статистика, архитектура, методы масштабирования, извлеченные уроки.
• What I’ve Learned From Failure: ветеран индустрии Reg “Raganwald” Braithwaite делится опытом в разработке программного обеспечения.
• Google планирует изменить алгоритм поиска: фокус будет смещен с ключевых слов на прямой ответ на заданный вопрос и сведения об объекте поиска.
• Максим Крестовский рассказывает об информационной безопасности web-приложений.
• Зашли в тупик? Как правильно задавать технические вопросы, чтобы сообщество разработчиков смогло помочь?
• Doug Grismore делится советами по улучшению производительности сервисов, работающих с хранилищем Amazon S3.
• Reverse engineering в Linux: беглый взгляд на имеющиеся инструменты.
• PHP 5.4: новая функциональность и новые возможности.
• Visual C++ 11: новые возможности для параллельных вычислений.
• Ruby on Rails: критический взгляд на популярный язык с целью привлечь внимание к его улучшению.
Баги и промашки
• Увлекательная погоня за багом в ядре Linux: от падения системы до создания патча.
• Jeremiah Owyang рассказывает о баге в Twitter, способном разрушить ваши социальные коммуникации.
• Mukund Sivaraman препарирует баг в функции random(), найденный в OpenBSD.
• Согласно анализу Veracode, приложения, написанные для государственных структур, наименее устойчивы к атакам хакеров и содержат наибольшее количество багов в системе безопасности.
• Сага о крупном программном продукте: строили, строили и наконец построили.
• Компания AMD признает, что в выпускаемом процессоре существует баг, приводящий к ошибочным операциям со стеком.
• Лишний день в феврале стал сюрпризом для облачной платформы Microsoft: сервисы Windows Azure приостановили работу из-за ошибки вычисления времени в високосном году. И еще ссылки по теме: (1, 2).
Тестирование и тестировщики
• Gerald Weinberg, легенда IT-индустрии, рассказывает о подводных камнях в тестировании ПО и важнейших качествах тестировщика.
• James Whittaker на исповеди: почему тест-директор Google вернулся в Microsoft?
• James Whittaker рассказывает, почему он покинул должность тест-директора в Google.
• Jamie Saine подчеркивает важность тестирования безопасности и в качестве примера рассматривает взлом системы онлайн-голосования в округе Вашингтон.
• Andy Glover иллюстрирует подходы к оценке производительности тестировщиков.
• James Bach вводит понятие “благожелательное тестирование”, отдавая пальму первенства в его изобретении своему старшему товарищу (Cem Kaner).
• Catherine Powell подчеркивает важность сообщений об ошибке: любое такое сообщение лучше тишины и пустоты.
• Jonathan Kohl дает вредные советы и учит выявлять их с первого взгляда: как создать иллюзию эффективного тестирования и пустить продукт под откос.
• Разошлись как в море корабли: Cem Kaner и James Bach, основоположники контекст-ориентированного тестирования, решили, что им не по пути.
• Баги пристально наблюдают за своей судьбой и радуются релизу продукта.
Инструменты автоматизации и модульные тесты
• Mark Needham размышляет о модульных тестах: где находится ареал их эффективного использования?
• Модульные тесты для плагинов WordPress: области применения и примеры реализации.
• Alan Page призывает быть кристально честными в анализе результатов выполненных тестов и не закрывать глаза на неудачные прогоны.
• Автоматизация тестирования пользовательского интерфейса с помощью Visual Studio 2010.
• Очередная подборка материалов по Selenium и смежным областям. И еще одна.
• Adam Goucher щедро делится подборкой материалов по Selenium.
• Selenium 2: переход с Selenium 1 и примеры функциональных тестов.
ПО с открытым кодом
• Ingo Molnar раскрывает причины низких темпов развития настольных Linux-систем и предлагает пути спасения (1, 2).
• 14 способов помочь развитию ПО с открытым кодом, не будучи суперпрограммистом.
• Манипуляции с текстом в Unix: отличный обзор встроенных команд и утилит.
• Sikuli в Linux: автоматизация действий в графическом интерфейсе.
• Linux Mint: шаг навстречу светлому будущему.
Человеческий фактор в IT
• Steve Rowe (test development manager, отвечающий за Windows Runtime в Windows 8) рассказывает о том как правильно писать техническое резюме.
• Steve Rowe продолжает обучать разработчиков и тестировщиков правильной тактике на интервью.
• Jeff Atwood делится своими мыслями о том как нанимать программиста и честно предупреждает, что нет никаких гарантий успешного найма.
Разное
• Google вырывается вперед в лояльности сотрудников, но сдает свои позиции на рынке поиска.
• Chris Dixon: за историями успеха стартапов скрываются годы усилий, забот и неудач.
• Seth Godin рассказывает о том, чем отличается выдающийся менеджер проекта по разработке ПО от своих заурядных коллег.
• Сергей Глазунов, студент из Тюмени, получил $60 тыс. долларов за взлом браузера Chrome.
• Как стать миллиардером? Все очень просто: создать продукт, который значительно лучше существующих.
• Тайное становится явным: почему в Vim для перемещения по тексту применяются клавиши hjkl?
• Взломать Google Chrome? Умелым рукам на это потребовалось пять минут.
Эпизоды
Б1. Про TDD слышал? Маглы пишут тесты до создания рабочего кода. Если тесты прошли, код готов. Где ж нам притаиться?
Б2. Дьявол скрывается в деталях, а мы в сроках. Маглы так хотят, чтобы код прошел тесты, что не проверят все варианты.
Б1. Это почему?
Б2. Им говорят: “Сначала пишите тесты”. А потом: “Код нужен вчера”. Они проверят, что 2+2=4 и скажут “Усё готово”!
М. Заказчик просит маленький такой домишко, чтобы крыша над головой была.
Р. Получите, распишитесь.
М. Ой, а вот тут еще просит башенки, подземный гаражик и балкончик.
Р. Хорошо, только давайте сразу предусмотрим вертолетную площадочку и стадиончик!
Р1. I don’t need your bugs. If you want to keep them, they are yours.
Т1. Your attitude really bugs me.
Р1. Do you want to start flames?
Т1. Of course, not. I got the message. Some bugs are impossible to be fixed, others don’t deserve my complaints!
Р1. У кастомера падает наша аппликуха. Сисреки проверили, в трейсах все чисто, дампа нет, у нас не воспроизводится. Кастомер рвет и мечет.
Р2. Вернем деньги? Наймем тестировщиком? Подадим в суд за клевету?
Всего доброго, оставайтесь с нами.
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.