xBB – бесплатные скрипты PHP и доки для вебмастеров | ||
ДокументацияМетки (все метки)bbcode, php, xbb, высокие технологии, интернет, информационные технологии, ит, компьютер, сайт, софт
Подписаться через RSS2Email.ru
РекламаСтатьи, PlayStation, кардшаринг, диктофон, защита, компьютер, телефоны, код, продвижение, терминал |
Нахождение и исправление ошибок при разработке открытого ПОЕстественно, что открытое программное обеспечение, как и всякое другое, содержит ошибки. Но работа над ними организована отлично от проприетарного ПО. Исследователи открытого ПО Себастьян Эльбаум и Луюнь Джао после изучения около двухсот проектов пришли к выводу о том, что при успешной разработке открытого ПО часто действует принцип: "выпускай релизы быстро и часто" вместо того, чтобы досконально отлаживать промежуточные версии [1]. В результате частого выпуска промежуточных версий код открытого ПО непрерывно совершенствуется множеством разработчиков, предлагающих усовершенствования и исправления. Закон Линуса (сформулированный Рэймондом): "При достаточном количестве глаз, ошибки выплывают на поверхность", — предполагает участие большого числа программистов, без которых основная группа разработчиков буквально завалилась бы работой по тестированию кода и исправлению ошибок. Это подтверждает необходимость устойчивой модели сообщества разработчиков для создания качественного открытого программного обеспечения. Исследование [2] показало, что:
Но хотя при разработке открытого ПО не следуют классическим структурированным методам тестирования, это не мешает разработке качественных программ. Тестирование производится специфическими для открытого ПО способами. Согласно данным исследования Москуса [3] к тестированию открытой системы привлекаются ее пользователи, которые делают это очень тщательно. Существование большого круга опытных пользователей, присылающих информацию об ошибках, приобретает огромное значение. Кроме того, такое расклад гарантирует тестирование ПО на многих платформах. Существует мнение, что открытое ПО имеет низкую плотность ошибок по сравнению с проприетарным именно потому, что тестируется более масштабно и тщательно. Впрочем, не во всех открытых проектах тестирование отдается на откуп пользователей. В проекте Mozilla имеет место жесткий процесс проверки качества кода и имеются специальные тестовые группы [1]. В этом проекте определяющее значение получили автоматические регрессионные тесты, которые запускались каждую ночь, чтобы гарантировать надежность системы для Windows, Linux и Mac OS. Выбор методологии тестирования сильно зависит от опыта и финансирования разработчиков. Формальные методы и автоматизация тестирования являются дорогостоящим удовольствием. Некоторые известные открытые проекты могут их себе позволить, но большинство — нет, и привлечение пользователей остается для них единственным вариантом тестирования ПО. Если же финансирование позволяет, то имеются основания объединить методики: ручное структурное тестирование, автоматические регрессионные тесты и пользовательское неформальное тестирование. Пока нет формальных исследований, сравнивающих затраты на тестирование и обеспечение качества в финансируемых открытых проектах и в проектах, выполняемых бесплатно, а также в открытых и проприетарных продуктах. Не ясно, какой из этих подходов обеспечивает более высокое качество. Но Бартон Миллер со своими коллегами считают, что продукты, которые разрабатываются и тестируются бесплатно добровольцами, могут быть более качественными, чем проприетарные продукты [4]. Идут споры также о том, как быстро тестирование открытого ПО позволяет обнаружить ошибки. Опыт десятилетий программной инженерии показал, что чем быстрее находятся ошибки, тем их дешевле исправить. Разработка программного обеспечения открытыми сообществами все еще остается малоизученным социальным феноменом.
Последнее редактирование: 2010-03-22 18:52:16 Метки материала: по, программное обеспечение, open source, открытое по, проприетарное по, разработка программ Оставьте свой комментарий: |
|
© 2007-2010, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.