Добрый день.
События, публикации, инструменты, решения по темам: разработка и тестирование ПО, отладка приложений, автоматизация тестирования, модульные тесты, пользовательский интерфейс, масштабирование больших систем.
Разработка приложений
• 400.97 + 49.03 = 4500$, или история о коварстве дробных вычислений в Javascript.
• Эпоха Google: создатели новых языков программирования и пользовательских приложений должны учитывать, насколько легко будет находить их продукты по поисковым запросам.
• Joel Spolsky: сырое приложение продать нелегко, хороший продукт будет продаваться сам.
• Новый черновой вариант спецификации HTML 5 определяет дополнительные семантические элементы и теги, а также предоставляет средства, облегчающие web-доступ для людей с ограниченными возможностями.
• HTML 5 и CSS 3: первые шаги по новым стандартам на конкретных примерах.
• Девушка по имени Сара рассказывает о типичных ошибках в SQL-запросах и путях резервного копирования данных в MySQL.
• Первые уроки программирования для ребенка: Greenfoot спешит на помощь.
• TestTrack 2010: очередная версия пакета инструментов для управления жизненным циклом приложений от Seapine Software. Список нововведений и исправлений.
• Jeff Atwood: программирование для Web выступает на передний край в разработке ПО, становясь местом встречи самых толковых программистов и миллионов благодарных пользователей.
• GET или POST? Шпаргалка на все случаи жизни: краткое описание различий между двумя методами и оптимальный выбор в зависимости от входных условий.
• Программный продукт без багов? По мнению исследователей, микроядро seL4 может служить наглядным примером.
• 5 факторов, способных стереть ваш сайт с лица земли.
• 10 крупиц информации о Windows 7, необходимых каждому разработчику приложений для этой платформы.
• Марш-бросок из Windows XP в Windows 7: подробности в картинках.
• История про поиск “крайнего”, или хаос в стане дизайнеров при одновременной работе с одним приложением.
• Стрижка шерсти не спасет белого медведя от глобального потепления, или выявление причин и следствий в программных проектах.
• RSDN: закон сохранения сложности в разрабатываемых программных системах.
• История о том, как David нашел причину перезагруженности web-сервера в ajax-коде: серверный php-скрипт вызывался для обновления времени на web-странице вместо использования javascript на стороне клиента.
• Bruno Terkaly: как Developer Tools, входящие в состав Internet Explorer 8, смогут помочь в работе с HTML и CSS.
• Google Testing Blog: революционер Miško Hevery делится своим видением объектно-ориентированного программирования и обрушивается на статические методы.
Отладка приложений
• Mark Russinovich, мастер детективного сюжета, рассказывает, как Process Monitor позволил обнаружить и устранить причины неудачной загрузки пользовательских профилей при входе в систему.
• Davy Brion: обнаружение утечек памяти с помощью WinDbg (на примере приложения, работающего в среде Silverlight).
• Patrick Smacchia (MVP C#) раскрывает секреты: как анализировать код .Net-приложения и разбираться в механизмах его работы.
Пользовательский интерфейс
• Комические сюжеты на web-страницах способны внести разнообразие в привычный интерфейс.
• Стойка на голове как способ предохранения, или 10 заблуждений разработчиков о пользовательском интерфейсе.
• Pragmatic Software: 20 тестовых сценариев для проверки пользовательского интерфейса.
• 10 фундаментальных принципов в разработке пользовательского интерфейса.
• Издательство Microsoft Press выпустило книгу “Engineering Software for Accessibility”, освещающую вопросы создания приложений, адаптированных для людей с ограниченными возможностями. Книга выложена в открытый доступ.
Обратная связь
• Adam Goucher: сообщество лояльных пользователей способно открыть продукту второе дыхание, если их не отпугнуть.
• Краткое руководство для заказчика приложения: эффективное взаимодействие с разработчиками защитит от потенциальных катаклизмов.
Масштабирование систем
• Подборка материалов, посвященных масштабированию приложений: актуальны ли такие заботы для того или иного продукта, подходы Microsoft и Apple, облачные вычисления.
• Ryan Barrett (Google) излагает различные подходы к репликации информации между датацентрами, обращая внимание на плюсы и минусы каждого из возможных решений.
• Bjorn Hansen: “горизонтальное” мышление на каждом этапе разработки и внедрения системы позволит забыть о проблемах масштабирования. Кладезь советов от мастера.
• 13 золотых правил булочника, применимых для успешного масштабирования приложений.
• Развертывание высоконагруженных web-приложений на Amazon EC2 с помощью Cloudera Hadoop, Hive и Pig.
• Как облегчить масштабирование и улучшить производительность приложений? Laura Thomson дает 15 советов.
Тестирование программного обеспечения
• Michael Bolton объясняет разницу между исследовательским тестированием и сверкой “да/нет” в ограниченном множестве сценариев.
• Исследовательское тестирование, базирующееся на требованиях: как совместить несовместимое? Ainars Galvans излагает свой подход.
• Компания Motorola выпустила систему AirDefense Wireless Vulnerability Assessment, позволяющую имитировать хакерские атаки в беспроводных сетях.
• Linux Foundation и ИСП РАН подготовили пакет инструментов ABI Compatibility Checker, позволяющий оценить совместимость различных версий библиотек, написанных на С и С++. Знание того, изменились ли типы данных или параметры, передаваемые в функции, позволит избежать бинарной несовместимости и сбоев в работе приложения.
• Неутомимый Miško Hevery сравнивает тестирование с индустриальной революцией, пробегает по типам тестирования, излагает свои подходы к модульным тестам и представляет полезные инструменты.
• Что и кого больше всего ненавидят тестировщики? Шестьдесят два душещипательных откровения.
• Michael Kelly поделился ссылкой на отличную подборку инструментов, предназначенных для тестирования безопасности приложений.
• James Whittaker (Google): семь напастей в тестировании программного обеспечения. Напасть 7 (Beta): излишняя доверчивость. Противоядие: критический взгляд на любые обещания и утверждения.
• Adam Goucher пишет руководство по тестовым сценариям: стратегия, мотивы написания, сферы применения (1, 2, 3).
• Google Testing blog: мухи отдельно, котлеты отдельно, или тестирование бизнес-логики приложения без привязки к графическому интерфейсу.
• Jonathan Kohl: тестирование с заведомо неприемлемыми/неожидаемыми входными данными (fuzzing) позволяет находить уязвимости в приложениях с точки зрения их безопасности.
• Adam Goucher: заметки о производительности web-приложений.
• Jonathan Kohl: системы мгновенного обмена сообщениями могут оказаться полезны в сессиях исследовательского тестирования.
• Тестировать или не тестировать? Исправлять баг или не исправлять? Kent Beck принимает решения, исходя из принципа наибольшей отдачи от своего труда (1, 2).
Автоматизация тестирования
• Обновлена документация по Selenium: HTML, PDF.
• Michael Kelly рассказывает про Benerator – инструмент, генерирующий наборы данных для нагрузочных тестов и анализа производительности.
p>• StoryTeller попытается отобрать пальму первенства у FitNesse в задачах по тестированию .Net-приложений.
• Alan Richardson рассказывает о том, как Fiddler может помочь в тестировании web-приложений.
• I.M.Testy размышляет о генерации случайных имен и предлагает свою библиотеку PseudoName, полезную при автоматизации соответствующих тестовых сценариев.
• Релиз Ranorex 2.1.3: дополнительные параметры в конфигурации, улучшена работа с Windows Forms, новые возможности Recorder’a.
• Adam Goucher наводит порядок в своем хозяйстве, принуждая Maven, FindBug, Hudson и Nexus к общественно-полезному труду.
p>• IBM developerWorks: тестирование производительности Web-приложений для мобильных устройств при помощи IBM Rational Performance Tester.
• Adam Goucher: как нам обустроить Selenium IDE, чтобы извлечь из него больше пользы.
• Доступен Phoronix Test Suite 2.0 – набор инструментов для измерения производительности системы, работающий в Linux, OpenSolaris, Maс OS X и BSD-дистрибутах.
• I. M. Testy рассуждает об автоматизированном тестировании графического интерфейса и приводит случаи, в которых подобные тесты будут неэффективны.
Модульные тесты
• Модульные тесты: тестирование защищенных методов на наглядном примере.
• Доступен DDSteps – пакет открытых инструментов для функционального и модульного тестирования Java-приложений.
• SQLite: впечатляющая дорога к архинадежному программному продукту.
• Что день грядущий нам готовит? Gerard Meszaros: модульные тесты, исследовательское тестирование и автоматизация тестовых сценариев, читабельный код.
• Uncle Bob повествует о баге, который проходил сквозь жернова TDD живым и невредимым.
• Google Testing Blog: тестирование Javascript-приложений с помощью JS Test Driver.
• TDD: в каких случаях применение этой методики может оказаться неэффективным?
Разное
• IBM developerWorks: знакомство с базовыми элементами Vimscript.
• BBC News сообщает: 40 лет с момента создания Unix. Краткий экскурс в историю.
• Теория массового обслуживания: выбор неоптимального алгоритма способен свести на нет даже избыточные ресурсы. Репортаж со стойки регистрации авиакомпании.
• Dave Winer, один из Web-первопроходцев, предупреждает об опасности сервисов укороченных ссылок и предлагает альтернативные решения.
• BBC News сообщает: SQL-инъекция позволила злоумышленнику получить информацию о 130 миллионах банковских карт.
• 15 доступных онлайн-курсов по компьютерным дисциплинам: проектирование и разработка ПО, безопасность, искусственный интеллект и многое другое.
Анонс следующей статьи: Eucalyptus – как управлять облаком. Оставайтесь с нами.
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.
Автор комментария : Алексей Лупан | September 1, 2009
Мощно.
Не успею сегодня всю работу сделать - свалю на вас :)
[Ответить]
Автор комментария : Капитан Аляска | September 2, 2009
Спасибо. Принимается :)
[Ответить]
Автор комментария : анонимус | September 16, 2009
интересная тестерская история вам в копилку (если вдруг ещё не видели)
http://www.eveonline.com/devblog.asp?a=blog&bid=694
[Ответить]
Автор комментария : Капитан Аляска | September 21, 2009
Анонимус, спасибо!
[Ответить]