OpenQuality.ru

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

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

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


Январская лента: лучшее за месяц (2013)

Добрый день.

 

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

 

Баги и дыры

 

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

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

• Посадка челнока на Марс девять лет назад могла сорваться из-за бага в программном обеспечении. The problem was a combination of a DOS library design flaw, a bug in some 3rd party software, and several configuration errors.

• Баг в KDE, имеющий отношение к работе с web cookies, вольготно просуществовал в течение десяти лет.

• Matt Swanson рассказывает про баг в MATHLAB-скрипте, над разгадкой которого он бился три недели.

• Подборка забавных сообщений в пользовательском интерфейсе.

• Heisenbug и принцип неопределенности Гейзенберга: пример бага, у которого непросто предсказать поведение.

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

• История о том как был найден баг в системе безопасности Facebook и получено справедливое вознаграждение.

• Linus Torlvalds не стесняется в выражениях, когда баг в ядре Linux сказывается на пользовательском коде, а разработчик ядра отказывается этот баг признать.

 

Архитектура систем

 

• Архитектура поисковой машины DuckDuckGo: не боги горшки обжигают.

• Архитектура системы, обрабатывающей миллионы транзакций по кредитным картам: Hadoop + Amazon Web Services + NoSQL.

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

• Сложные информационные системы: предпосылки для сбоев в их работе и подходы к предотвращению таких случаев.

 

Разработка ПО

 

• StackOverflow.com -> Ctrl-C -> Ctrl-V -> Mission complete.

• Экстремально программирование без экстремального менеджмента никуда не годится.

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

• Разработчик передал свою работу на аутсорсинг в Китай и проводил время на Reddit. Совершенно точно достоин позиции менеджера.

• О стилях программирования: каждая строчка кода появляется на свет с первородным грехом.

• Базовые знания о продолжительности операций, которые должен знать каждый разработчик.

• Если ряды разработчиков тают, у оставшихся исчезает страх неудачи.

• Разработка продукта с открытым кодом: определить цели, выбрать лицензию, сделать добавление кода удобным, версионность в системе управления кодом и другие аспекты.

• Секунды координации времени добавляют хлопот программистам. На помощь приходит бомбардировка Земли астероидами.

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

• Отличная метафора для посвященных: как выглядит парадигма “as/I want/so that” в диалоге семейной пары.

• Larry Page (Google) призывает компании не драться в одной песочнице, а создавать что-то новое: “If you’re not doing some things that are crazy, then you’re doing the wrong “things“.

 

Отладка приложений

 

• When in doubt, turn on Tracing: информация о состоянии продукта может лежать совсем рядом.

• Mark Russinovich рассказывает о том как Sysinternals Autoruns позволяет победить ransomware (троянские программы, требующие от пользователя выкуп).

• Alan Page рассказывает: что каждый тестировщик должен знать об отладке приложений.

 

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

 

• Что наша жизнь? Игра! Jonathan Kohl предлагает внести элементы игры в процесс тестирования ПО.

• 83% участников группы Automated Functional Testing в Linkedin полагают, что свои преимущества есть как у автоматизированного, так и у ручного тестирования.

• Alan Page (Microsoft) делится своими мыслями о будущем тестирования. Чем будут заниматься тестировщики по мере совершенствования процесса разработки ПО?

• Как можно оценить уровень тестирования продукта по шкале Lean Software Development?

• Joel Montvelisky сравнивает тестировщиков с военными разведчиками и доказывает свою точку зрения.

• Тест-инженеры в Google: в чем заключается их работа и почему она важна?

 

Инструменты автоматизации и модульные тесты

 

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

• Adam Goucher раскладывает по полочкам недостатки применения Selenium IDE и подобных инструментов при создании эффективных автотестов.

• Adam Goucher делится подборками материалов по автоматизации тестирования ПО (1, 2, 3, 4, 5, 6, 7, 8).

 

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

 

• Подстелить соломку заранее: структурированная информация о конфигурации SQL-серверов и базах данных пригодится в критическую минуту.

• Grig Gheorghiu анализирует свои ошибки: что произошло после выполнения “ci /etc/passwd” вместо “vi /etc/passwd” и как нужно поступать в таких случаях.

• Отключать или не отключать Java в браузере? Каждый решает для себя сам.

 

Вертикаль

 

• Нужна помощь? Обратись к начальнику, чтобы больше не просить никогда.

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

• Настоящий разработчик учитывает некомпетентность аналитика и не гонит волну на своего менеджера (1, 2).

• Как прозвучит диалог при аренде автомобиля, если он будет проходить так же как интервью работодателя с программистом?

 

Эпизоды

 

Б1. Тишина какая! Где тестировщик?
Б2. Бумажки на Scrum-доске передвигает.
Б1. А нам приказал долго жить?
 
М1. Тестировщик обновил свой профайл в Linkedin. Работник он хороший. Жалко, что его что-то не устраивает.
М2. Нам нужны мотивированные сотрудники. Поощрить его мы не можем – нет бюджета. Значит, нужно срочно увольнять!
 
Т. По-нашему, это баг.
Р. По-нашему, это код. Баг – это по-вашему.
 
М1. У меня в подчинении три менеджера проектов, которые справляются со своими задачами и даже успешно ставят их перед собой. Зачем нужен я?
М2. Если твой начальник мудр, то успехи твоих менеджеров – это лучший показатель твоей работы.
М1. А если мой начальник мудр, но не очень?
М2. Тогда берешь задачу, с которой все хорошо, но на совещании говоришь, что “все плохо”, а в следующий раз – “меры приняты, усё готово”. И дальше по кругу – с другими задачами!
М1. Отличная идея! А то я уже подумывал: “Ну как же они без меня могут справляться, надо копнуть и что-нибудь найти!”
 

Всего доброго в последнем месяце зимы!

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

Комментарии


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

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



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

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


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

Проект был основан в 2008 году. За это время часть статей устарела, а некоторые из них вызывают улыбку, но пусть они останутся в том виде, в котором были написаны. Cписок всех статей с краткой аннотацией и разбивкой по рубрикам: открыть.

ПОДПИСКА

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

ИЩЕЙКА