OpenQuality.ru

Качество программного обеспечения

Качество программного обеспечения: в главных ролях

Лента  Радар  Блог  Опыт  
Разум  Видео  Заметки  Эпизоды


Майская лента: лучшее за месяц (2014)

Добрый день.

 

В выпуске: баги и дыры; архитектура и администрирование систем; разработка приложений; тестирование ПО и тестировщики; модульные тесты; эпизоды.

 

Баги и дыры

 

• Сногсшибательные мотивы к формированию структуры базы данных: искусство ради искусства.

• Сбой в системе управления полетами: план полета U-2 оказался слишком большим.

• Сбой в системе голосования в Бельгии произошел несмотря на то что система проверялась тысячу раз.

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

• It’s not a bug, it’s a feature: забавные сообщения в пользовательском интерфейсе.

• История одного бага в аддоне к игре World of Warcraft: лучше обнаружить позже чем никогда.

• Чудеса в решете: никому не нужный и нигде не используемый метод продолжает подавать признаки жизни.

• Перефразируя Дилберта, баги существовали всегда, но для несведущего менеджера это может оказаться сюрпризом.

• Самолет-шпион, разработанный более полувека назад, вывел из строя компьютерную систему управления полетами в Лос-Анджелесе.

• What the fuck? Хотелось как лучше, а получилось как всегда.

• Забавные сообщения и ошибки в пользовательском интерфейсе.

• История бага одиннадцатилетней выдержки: жесткий фикс ввиду отсутствия исходного кода.

• История одного бага в vim/tmux: на перекрестке двух продуктов.

• История одного бага: метод Монте-Карло помог обойти проблему с невозможностью МySQL предоставить отладочную информацию с точностью до миллисекунд.

• И от багов бывает польза: тяжело в учении, легко в бою.

 

Архитектура и администрирование систем

 

• К каким мыслям о дизайне систем управления баз данных может привести землетрясение?

• Две основные причины проблем с производительностью приложений и семь правил противодействия.

• Базовая концепция алгоритма Map Reduce на простом примере.

• Todd Hoff представляет подборку публикаций по организации и обслуживанию высоконагруженных систем (1, 2).

• Система комментариев Disqus: новые подробности по архитектуре популярного сервиса.

• Простые инструменты для шпиона за базами данных: текущие запросы, обращения к таблицам, транзакции.

• Атака на Linux-сервер в прямом эфире: наблюдение за действиями хакера с помощью подручных средств.

• Strace приходит на помощь при анализе причин недоступности сайта при известном PID процесса.

• По следам одного взлома: шесть ошибок, позволивших хакеру получить контроль над сайтом.

 

Разработка приложений

 

• Как разработчики Airbnb оценивают эффективность того или иного изменения в сервисе?

• Пункт 1: программирование в паре работает. Пункт 2: если не работает, смотри пункт 1.

• С# 6.0: что день грядущий нам готовит?

• 10 статей, которые стоит прочитать каждому программисту.

• Десять типичных ошибок в программировании на Python.

• На какие грабли можно наткнуться, вызывая методы C++ из C# и наоборот?

• Пять путей к сведению количества багов до минимума: теория и практические примеры.

 

Модульные тесты

 

• Uncle Bob рассматривает TDD под микроскопом и рассказывает о тех случаях, в которых TDD будет неэффективным. И еще одна статья того же автора на ту же тему.

• To mock or not to mock: в каких случаях уместны mock-объекты?

• Мартин Фаулер ищет точки соприкосновения в различных формулировках модульных тестов.

 

Тестирование ПО и тестировщики

 

• Steve Rowe (Microsoft) дает определение качества программного продукта: “The quality of the software is judged based on how correctly it implement a spec

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

• Alan Page смещает акценты: давайте будем меньше надеяться на автотесты и больше на диагностику в самом продукте.

• Google Testing Blog: три важнейших характеристики эффективного автотеста.

 

Разное

 

• Как определить влияние количества коннекций к MS SQL Server на производительность последнего?

• Круговая порука мажет как копоть: оценка труда Дилберта зависит от его оценки своего начальства.

• Факир был пьян, и фокус не удался: как закрывать неудачный проект?

• Технологическая сингулярность: Дилберт считал себя человеческим существом, а оказался программным продуктом.

• Markus Frind оглядывается назад и с трудом верит собственному успеху в построении Plenty of fish – самого популярного сайта знакомств в мире.

• Целая гроздь полезных советов для организации эффективной работы в домашних условиях.

 

Эпизоды

 

http://openquality.ru/episodes/250
 
М. Тут один пользователь утверждает, что у него есть деньги на счету в нашем банке. Но в базе его нет.
Р. Может быть, он банк перепутал?
М. Говорит, что у него есть e-mail нотификации об открытии счета и банковских переводах.
Т. Тогда он хакер и водит нас за нос. Подделать нотификации – раз плюнуть.
P. Если у него есть хоть какие-то доказательства, то пусть предъявит, и тогда мы начнем копать.
 

http://openquality.ru/episodes/251
 

Р1. Лови: #define true false
Р2. Ах, так? Извольте: #define if while
Р1. Тогда вот: #define if(x) if(rand()<10 && (x))
Р2. Распишитесь: #define sizeof(x) (sizeof(x)-1)

 
Вот и лето настало. До встречи.

Отправить в Twitter, Facebook, FriendFeed, ВКонтакте | Опубликовано 01.06.2014 в рубрике "С миру по нитке"

Комментарии


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

Пожалуйста, исправьте результат: дважды два равно



КРАТКОЕ СОДЕРЖАНИЕ

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


ПУТЕВОДИТЕЛЬ

Список всех статей с краткой аннотацией и разбивкой по рубрикам. Открыть карту.

ПОДПИСКА

Доступ к самым интересным материалам по электропочте и RSS. Подробности.

ИЩЕЙКА