Добрый день.
В выпуске: баги и дыры; архитектура систем; разработка приложений; тестирование ПО: методики и инструменты автоматизации; человеческий фактор; эпизоды.
Баги и дыры
• Сообщения в пользовательском интерфейсе способны поразить самое буйное воображение.
• Пока гром не грянет, мужик не перекрестится, или история переноса информации из XML-файла в базу данных.
• Не думай о секундах свысока: NASA потеряла связь с зондом Deep Impact, который использовался для изучения комет и астероидов.
• Из серии “Нарочно не придумаешь”: забавные сообщения в пользовательском интерфейсе. Плюс один.
• Очередная попытка классифицировать баги и разложить их по полочкам.
• Если за вашей информационной системой следят спецслужбы, когда-нибудь это может пригодиться.
• Реализация Python демонстрирует наименьший уровень багов по сравнению с другими проприетарными и открытыми проектами, что позволяет рассматривать Python как новый эталон качества.
• Ретро-баг: история с настройками монитора, или старая истина о том, что проблема может скрываться между компьютером и клавиатурой.
• О времена, о нравы. Самый надежный пароль – это его отсутствие.
Архитектура систем
• Крысы бегут с корабля, или история ухода с Amazon AWS (1, 2).
• Архитектура, статистика, аппаратное и программное обеспечение в Salesforce – информационной системе, обрабатывающей 1,3 млрд транзакций в день.
• Twitter: метрики информационной системы и мониторинг ее состояния.
• Переход от Apache к Nginx и возможность точечной настройки последнего способны обеспечить значительный прирост производительности.
• Выбор правильных технологий в начале цикла разработки позволит впоследствии решить вопросы масштабирования без особых хлопот.
• Приложение 53: архитектура плюс история нагрузочного тестирования.
Разработка и поддержка приложений
• Slava Akhmechet, один из создателей RethinkDB, в отличном стиле рассказывает о том как создавать великие продукты.
• Подборка ресурсов для системных администраторов и инженеров технической поддержки.
• Пятилетний юбилей: запуск StackOveflow оказал существенное влияние на жизнь и карьеру разработчиков ПО.
• Dependency Injection и Loose Coupling: как улучшить тестируемость приложения.
• Производительность сайта, оптимизированного для мобильных устройств: it’s not about how fast your site is; it’s about how fast your users think it is.
• Apache Cassandra: вступительная статья в картинках.
• Настоящему программисту не нужны комментарии к коду точно так же как настоящему знатоку живописи не нужны комментарии к полотнам Ван Гога.
• Шеф Дилберта не дает ему возможность выйти сухим из воды с рассказом о причинах нестабильности приложения.
• Увлекательное повествование о подходах к обеспечению высокой производительности браузера Chrome.
• Именование системных каталогов в MS Windows: все просто и логично.
Тестирование ПО: методики и инструменты автоматизации
• Манифест тестировщика: развенчивание мифов и наиболее важные функции. И еще несколько полезных советов.
• Michael Bolton рассказал о деревьях и листьях как метафоре различия между тестированием и проверкой.
• Anand Ramdeo (aka Testing Geek) делится подборкой собственных статей по тестированию ПО.
• Тестировщик не ломает программный продукт. Он разрушает иллюзии о том, что продукт работает.
• Michael Bolton скупой, но афористичной строкой высказывается о фразе “У нас нет времени на тестирование“.
• Anand Ramdeo делится рекомендациями по тестированию API.
• Alan Richardson (aka Evil Tester) делится пошаговой инструкцией по проверке редиректа на сайт, оптимизированный для мобильных устройств.
• Evil Tester делится подборкой инструментов для эффективного тестирования ПО.
• Eduardo Bravo Ortiz рассказывает о том как в команде Google+ организовано тестирование приложений для мобильных устройств.
Человеческий фактор
• Настоящий программист должен уметь вести переговоры по поводу своего заработка чтобы создавать качественные продукты и при этом не думать о хлебе насущном.
• В новом цифровом мире стремительно меняется уклад жизни: “плохие парни” могут стать еще опаснее, а у “добрых парней” есть больше возможности для защиты.
• Десять способов понизить производительность и самоотдачу подчиненных.
• Дилберт не стесняется в выражениях, оцения вклад своего босса в общее дело.
• Каких просчетов желательно не допустить при выборе очередного места работы в IT-индустрии.
• Дилберт подтверждает старую истину о том, что махать морковкой перед инженером и подпинывать недопустимо.
• Руководство для программиста: как пройти интервью, подразумевающее проверку программистских навыков. И еще несколько советов по резюме.
Эпизоды
http://openquality.ru/episodes/232
Т1. А какой баг самый крутой?
Т2. К примеру, ты не можешь залогиниться в систему, потому что повреждена база аккаунтов. Но чтобы ее починить, нужно залогиниться в систему.
Т1. Неужели нельзя к базе где-то сбоку подобраться?
Т2. Конечно, нет. Это была бы дыра в безопасности!
http://openquality.ru/episodes/233
Б1. Чем хороши Acceptance-тесты?
Б2. Если про твою нору ничего не написано в спецификации, то тебя никто не тронет.
Б1. Ну как же так? Найдут – и не тронут?
Б2. Никто не будет искать. А если случайно набредут, то напишут: “Туда не ходи. Сюда ходи”.
http://openquality.ru/episodes/234
Б1. Трудно с подрастающим поколением – не на кого им равняться.
Б2. У нас же были хорошие ребята. Приятно вспомнить, столько проблем они принесли!
Б1. Мы не камикадзе. Равняться надо на те баги, которых никто не нашел. Но вот беда: про них никто ничего не знает!
Б2. Бесславные ублюдки!
Всего доброго, до встречи.
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.