OpenQuality.ru

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

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

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


Августовская лента (2010): лучшее за месяц

Добрый день.

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

 

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

• Ruby on Rails 3.0: официальный анонс и перечень новшеств.

• Jam – make-подобная система создания программ из файлов исходного кода (1, 2, 3).

• На работе ты не гость, изучи хотя бы ГОСТ. Достоинства старой-доброй системы управления проектами.

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

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

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

• Декартово дерево: описание, операции и сферы применения. Продолжение здесь и здесь.

• TDD: иллюстрированное руководство для начинающих.

• IBM developerWorks: программирование с использованием PHP и MySQL в разработке Web-приложений (1, 2, 3, 4, 5).

• Вредные советы для разработчиков пользовательского интерфейса.

• Увлекательное занятие по юзабилити на примере разработки кабинки туалета.

• MSDN Magazine: аддоны для Visual Studio, которые могут пригодиться каждому разработчику.

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

• 25 фактов и полезных советов, касающихся HTML 5.

 

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

• Частный детектив Mark Russinovich и его спутник Andrew Richards исследуют таинственное зависание почтового клиента MS Outlook и находят разгадку с помощью утилиты Procdump из комплекта Sysinternals.

• RamMap – новый инструмент от Sysinternals, предоставляющий отчет о потреблении памяти.

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

• Strace: отличное средство для шпионажа за поведением программы в среде Unix.

• Возможности утилиты Performance Protector в оценке производительности приложения (на примере работы с Thunderbird 3).

 

Уроки масштабирования

• Шесть способов нанести несокрушимый удар по своим серверам: уроки, извлеченные при масштабировании web-сайта.

• Amazon Web Services: инструменты и подходы для масштабирования.

• Разработка web-приложений с прицелом на их масштабирование в будущем.

• Семь принципов организации работы, позволивших Facebook набрать и эффективно обслуживать 500 млн пользователей.

 

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

• Michael Bolton ищет вектор в круговороте тестирования: должны ли мы подтвердить работоспособность приложения или всеми силами стремиться доказать неработоспособность?

• James Bach прокладывает дорожку от исследовательского тестирования, основанного на сессиях, к тестированию, основанному на целях и соответствующих им активностях.

• James Whittaker, любитель образных метафор, сравнивает тестирование со стряпней и приступает к рассмотрению ингредиентов, необходимых для приготовления съедобного блюда. Часть 1. Знание продукта.

• James Whittaker продолжает разговор об ингредиентах тестирования, задумывается о признаках готовности блюда и кормит обещаниями, которые исполнит на конференции GTAC в этом году.

• Размышляя о покрытии кода тестами, I.M.Testy приводит два ладно скроенных теста, в которых неожиданно обнаруживаются непрошитые кусочки.

• I.M.Testy не оставляет багам ни единого шанса: покрытие кода тестами в исполнении Мастера.

• I.M.Testy, яхтсмен и гуру тестирования, дает примеры бесполезного и неэффективного покрытия кода тестами и призывает взвешивать “за” и “против” при тестировании “белого ящика”.

• A/B testing: несколько аргументов, снабженных иллюстрациями.

• Jonathan Kohl выложил памятку для тестировщика. Как понять, на верном ли ты пути? Как повысить значимость твоей работы?

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

• Сколько показаний о наличии бага должно быть накоплено в Microsoft перед тем как баг будет исправлен?

 

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

• Adam Goucher ведет Selenium к светлому будущему: очередные подборки ссылок (1, 2, 3, 4).

• Adam Goucher делится своими мыслями об управлении тестовыми сценариями в условиях гибких методик разработки ПО (1, 2, 3, 4).

• Использование функции assert при тестировании JavaScript-приложений.

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

• Gojko Adzic примеряет на себя мантию художника и графопостроителя, давая оценку низкой эффективности автоматизации графического интерфейса (на примере Selenium).

• Michael Tamm: совместное использование Selenium и Maven.

 

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

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

• Три shell-скрипта, дающих информацию о потреблении CPU и памяти в разрезе процессов и пользователей.

 

Разное

• История китайского сельского жителя: откуда черпать идеи для software-проектов и как извлекать из них прибыль.

• Забавная подборка несбывшихся прогнозов о завершении пути Facebook, Firefox, RSS и других продуктов и технологий.

• Scott Hanselman учит хорошим манерам чтения статей в Интернете и рассказывает о полезных инструментах Read Later (Instapaper) и Readability.

• HackQuest: полигон для тренировки хакеров, защитников от хакеров и просто любопытных.

• Иерархия программистов: чей язык круче, выходи строиться!

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

• Отличная подборка из 25 видео-презентаций на тему дизайна предметов вокруг нас.

• Резюме программиста: как его воспринимает HR-отдел и другой программист.

• Google Wave: взлет и неожиданное падение многообещающего проекта.

• Google: неудачи в том или ином проекте не страшны. Главное: увидеть нецелесообразность проекта как можно раньше и переключиться на более перспективные разработки.

 

Вышло в эпизодах:

 

Б1. Жестокосердные мы – палки проекту в колеса вставляем.
Б2. Жизнь коротка. Мы можем только ломать или не ломать. Если не ломать, то чем заняться?
Б1. Верно. В старости мы больше сожалаем о том, что не попробовали, чем о том, что совершили.
Б2. Ну что ж, берись за лом, чтобы не было мучительно стыдно за бесцельно прожитые годы!
 
Б1. 1000 часов жизни. Нет повода не выпить!
Т1. 100-й баг в этом проекте. Так долго к этому шел!
Р1. 10 билдов все было тихо. И вот – началось…
 
Б1. Коллеги, приглашаем вас на увлекательную экскурсию по достопримечательностям нашего продукта.
Б2. А каковы метеоусловия?
Б1. Прогноз благоприятный. Жара спала: скоро релиз, код заморозили. Никаких мозговых штормов не придвидится.
Б2. Похоже на ловушку. Затаились, а потом вышлют поисковый отряд.
Б1. Да бросьте вы. Еще скажите, что они нас подслушивают!
 
Т1. И чего мы все время спорим? Давайте жить дружно!
Р1. Согласен. Друг без друга никак. Я тружусь, заведется баг, нужен тестировщик: Р + Б = Т.
Б1. Зачем нам лишние рты? Перепишем уравнение так: Р - Т = Б!

 

=====================

Oracle Development SPB (бывший Sun Microsystems SPB) ищет первоклассных Java-разработчиков на позиции Principal Software Engineer и Senior Software Engineer в Java SE Graphics Quality Team.

Задача не из легких – обеспечить безупречное качество технологий, которые используются десятками тысяч программистов и миллионами пользователей. Думаете, что Вам это по силам? Тогда Вас ждет:

* весь цикл обеспечения качества графической части Java SE и JavaFX от выработки стратегии до ее реализации;
* разработка тестовых сюит и приложений, которые позволят протестировать технологию наилучшим образом, выявив и разобрав все ошибки и неточности, допущенные разработчиками;
* разработка средств для автоматического и распределенного тестирования.

Нам нужны люди, которые, найдя ошибку, докопаются до источника ее возникновения.

Основные требования:

- опыт разработки на Java - от 7 лет
- опыт разработки графики на Java (крайне желателен)
- опыт обеспечения качества продукта
- работа с Unix-системами

Подробное описание вакансий: Principal Software Engineer, Senior Software Engineer

Резюме на английском языке присылайте по адресу Аnna.Goryachkina@oracle.com

===========================================

Продолжается конкурс JavaFX Tower Defense от Sun Microsystems SPb.

Создайте свой движок или графику для игры Tower Defense, используя JavaFX, и напишите об этом!

Tower Defense (Башенная защита), сокращенно TD – жанр компьютерных стратегических игр. Задача игрока – расправиться с врагами с помощью строительства атакующих башен до того, как они пройдут запланированный маршрут.

JavaFX – это платформа для создания Rich Internet Applications (RIAs), которые могут запускаться на персональных компьютерах и мобильных устройствах. Технология JavaFX позволяет создавать приложения для работы с мультимедийным контентом, графические интерфейсы пользователя для бизнес-приложений, игры для персональных компьютеров и мобильных устройств, мультимедиа веб-сайты и другое.

Регистрируйтесь и приводите друзей, за приглашенных друзей тоже дают призы. Сайт конкурса: http://developers.sun.ru/konkurs/

С уважением, Оргкомитет конкурса JavaFX

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

Комментарии


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

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



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

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


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

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

ПОДПИСКА

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

ИЩЕЙКА