OpenQuality.ru

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

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

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


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

Добрый день.

События, публикации, решения по темам: архитектура систем; разработка приложений; модульные тесты; баги и промашки; тестирование и тестировщики; инструменты автоматизации; системное администрирование; вопросы на интервью; эпизоды.

 

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

 

• SQL почил? Да здравствует SQL: масштабируемость NoSQL-решений обрамляется SQL-оболочкой для выполнения сложных запросов (движок Tenzing, разработанный в недрах Google).

• Grig Gheorghiu делится практическим опытом работы c несколькими инстансами MySQL в облаке Amazon EC2.

• Архитектура noSQL: текущее состояние дел и выбор подходящего решения.

• Todd Hoff ставит под сомнение устоявшиеся подходы к реализации облачных сервисов и призывает к их перепросмотру.

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

• Joel Spolsky объясняет разницу между вертикальным и горизонтальным программным обеспечением и в качестве примера последнего представляет Trello – среду для совместной работы над проектом.

• Как Facebook справляется с пиками нагрузки? Готовит сани летом.

 

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

 

• Web-разработка: события, инструменты, публикации в январе.

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

• Yiannis Konstantakopoulos проводит анализ успешных сайтов и выделяет особенности web-дизайна, которые помогли им преуспеть.

• Gojko Adziс предлагает использовать метод гамбургера для выработки стратегии разработки продукта со сложными бизнес-требованиями.

• Davy Brion призывает никогда не хранить пароли в исходном виде: гораздо безопаснее хранить хэшированные значения.

• EnhancePHP – библиотека для тестирования приложений, написанных на PHP. Обзор и примеры написания тестов.

• Как интегрировать Facebook, Twitter и Google+ в сайт на платформе WordPress?

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

• Что такое AJAX? Наглядное объяснение в картинках.

• Комментарии к комментариям в коде помогут разобраться в его дебрях.

• Agile или Waterfall: чем бы дитя не тешилось, разница невелика.

• Evil Tester обозначил интересную проблему: аддоны не поспевают за выходом новых версий браузеров и уходят на свалку истории.

• Парадигма MVC на примере Zend Framework в PHP: теория и пример реализации.

• Каким образом по Unicode-строке определить, на каком языке представлен текст?

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

• Карта C++: здесь вам не равнина, здесь климат иной.

• Как вычислить количество месяцев в году? Непростая задача.

• Код и документация в порядке? Нехороший знак!

• В январском выпуске MSDN Magazine: искусственный интеллект в тестировании, HTML5, Windows Azure, работа с базами данных и другие темы.

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

 

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

 

• Patrick Smacchia делится восьмилетним опытом создания модульных тестов.

• Claudio Ortolina представляет пример разработки Ruby-приложения с использованием методик TDD.

 

Баги и промашки

 

• В качестве наиболее вероятной версии аварии “Фобос-Грунта” называется ошибка в программировании бортового вычислительного комплекса (БВК) станции (1, 2).

• Скелет в шкафу Oracle: баг в архитектуре СУБД посылает в нокаут системы с большим объемом транзакций.

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

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

• What the fuck: от бага до улыбки один шаг.

 

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

 

• Rikard Edgren приводит список своих любимых инструментов для мониторинга и анализа приложений.

• Catherine Powell объясняет, почему она больше не нанимает выделенных тестировщиков несмотря на актуальность и важность тестирования ПО.

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

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

• Евгений Касперский рассказывает о тестировании антивирусных программ и критериях их оценки.

• Elisabeth Hendrickson учита задавать вопросы, ответы на которые подводят к оптимальным стратегиям разработки ПО.

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

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

• Stefan Butlin рассказывает о TestPad – онлайн-сервисе для организации ручного тестирования.

• В Таиланде на веранде и с MacBook наперевес: консультант по тестированию описывает свое житие-бытие.

• Andy Glover иллюстрирует процесс устройства тестировщиков на работу: статистика с картинками и комментариями.

• The Monday Times: события 2011 года и прогноз на будущее.

• Содружество тестировщиков Perl-модулей CPAN и добрые слова в их адрес.

• Elisabeth Hendrickson сравнивает программное обеспечение с котом Шредингера и предостерегает от неэффективного внедрения гибких технологий.

• Как тестировать документацию: краткий перечень шагов.

• Как тестируют ПО в Google: перевод на русский язык материалов вебинара по этой теме.

 

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

 

Редакция OpenQuality.ru выражает искреннюю признательность Адаму за наше счастливое чтение.

• Смертные грехи автоматизации, новости из мира Selenium, подручные инструменты: очередную подборку представляет Adam Goucher.

• Adam Goucher представляет PHPWebDriver и рассказывает, как с его помощью эмулировать нажатие клавиш.

• Adam Goucher объясняет как WebDriver работает с cookies в коде на PHP.

• Adam Goucher публикует очередную подборку материалов по Selenium и сопутствующим технологиям.

• Adam Goucher обращается к заказчикам скриптов на Selenium: как искать и по каким критериям оценивать исполнителей?

• Adam Goucher публикует очередную подборку ссылок по Selenium и смежным областям.

• Adam Goucher продолжает публиковать ссылки на публикации о Selenium и приводит наглядный пример автотеста, по ошибке возвращающего ОК при любых исходных данных.

• Сводка публикаций по Selenium: Android WebDriver, поиск элементов на странице и другие темы.

 

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

 

• Brent Ozar рассказывает, за какие заслуги администратор СУБД может получить премию Дарвина, разрушив свое хозяйство.

• Таинственный файл .htaccess в web-сервере Apache: редирект, ограничение доступа, кэширование, компрессия.

• Jeremiah Peschka различает термины “high availability” и “load balancing” и рассказывает про репликацию данных.

• Каким образом сервису Braintree удалось переехать из одного датацентра в другой без перебоев в работе?

• Jeremiah Peschka делится парадоксальными, но проверенными на практике советами по обеспечению масштабируемости информационных систем.

• Mark Russinovich с помощью инструментов Sysinternals расчищает авгиевы конюшни в компьютере своей мамы и победоносно завершает установку Microsoft Security Essentials.

 

Вопросы на интервью

 

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

• Вопросы на интервью в Google и Microsoft: знание физики необходимо для создания программных продуктов?

 

Разное

 

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

• Евгений Касперский раскрывает все страшные тайны о спаме: кому он выгоден и как с ним бороться.

• Jeff Atwood проводит интересную аналогию между между магазином, продающим видеодиски, и сайтом в Интернете: что произойдет, если настанет SOPA?

• Евгений Касперский сообщает о вхождении Kaspersky Lab в элиту и о рождении новой военной специальности: специалист по противодействию кибератакам и организации ответного удара.

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

• Windows 8: управление компьютером с помощью глаз?

• Дилберт: назвали лидером проекта, полезай в кузов.

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

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

•  Alex Chitu делает прогноз по продуктам Google на 2012 год.

 

Эпизоды

 

Р1. Мы пообещали заказчику сделать систему качественно и недорого.
Т1. Но эти показатели противоречат друг другу. Будем искать компромисс?
Р1. Зачем? У нас прорывные технологии, будет дешево и сердито. Вот увидишь, после сдачи проекта начальство скажет: “Спасибо всем, кто не мешал!”
 
М. Нужно исправить два бага: один трудный, другой полегче.
Р1. Я возьму полегче.
Р2. Если бы я выбирал первым, то из вежливости выбрал бы баг потруднее.
Р1. Так он и так теперь твой!
 
Т. Я найду баг в любой строке кода. Ну вот, к примеру, если не ошибаюсь, в этой строке баг.
Р. Разумеется, здесь баг, если ты не ошибаешься.
Т. Значит, мое предположение верно?
Р. Конечно, верно: если ты не ошибаешься, в этой строке баг.
Т. Итак, раз мое предположение верно, то я не ошибаюсь. А если я не ошибаюсь, то баг здесь есть!
 
Т. Ничего не понимаю. Поиск по категориям совсем не работает, а багу назначили средний приоритет. Поиск по названию ошибается в 1 случае из 100, и у бага наивысший приоритет.
Р. Проблема в том, что с первым багом всем все ясно, а во втором случае никто не знает, когда поиск работает, а когда нет!

 

Всего доброго в феврале!

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

Комментарии


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

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



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

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


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

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

ПОДПИСКА

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

ИЩЕЙКА