Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка высокоуровневых веб-приложений с использованием методологии "Разработка через тестирование" : на примере PHPUnit Прохоров, Алексей Сергеевич

Данная диссертационная работа должна поступить в библиотеки в ближайшее время
Уведомить о поступлении

Диссертация, - 480 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Прохоров, Алексей Сергеевич. Разработка высокоуровневых веб-приложений с использованием методологии "Разработка через тестирование" : на примере PHPUnit : автореферат дис. ... кандидата технических наук : 05.13.12 / Прохоров Алексей Сергеевич; [Место защиты: Междунар. акад. образования].- Москва, 2011.- 96 с.: ил.

Введение к работе

Актуальность темы диссертационного исследования. Проблема разработки и обеспечения качества программного обеспечения не нова, но мало кто станет спорить с ее важностью. Многие, даже опытные, программисты тратят огромное количество времени на создание действительно качественного программного обеспечения. За 25 лет существования Интернета в качестве популярной среды обмена информацией программисты далеко продвинулись в развитии принципов программирования и поддержания качества программного обеспечения от момента начала разработки до критических моментов внедрения.

Разработка высококачественных программных приложений - задача нетривиальная. Она требует интенсивной поддержки и серьезных финансово-временных затрат от разработчика. Зачастую проблемы, связанные с разработкой высококачественных приложений, могут негативно влиять на программные системы, процессы, связи и даже организационные структуры.

По мнению многих современных разработчиков, карликовые темпы работы многих высоконагруженньгх программных систем не отвечают вызовам массовости пользователя современного Интернета. Хотя многие из этих новых систем критически важны только для бизнеса, в реальности они от этого не становятся менее критическими. Наоборот, в последнем случае мы зачастую имеем дело с дополнительными уровнями сложности; к ним относятся: распределенные команды разработчиков, требование к соблюдению веб-стандартов, потребность в интернационализации, ограниченные сроки реализации в SaaS1 и многое другое.

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

'

приобретает критическое значение. Эти проблемы требуют особого внимания к гибкости приложения. Короткие сроки для исправления ошибок (плюс время, чтобы проверить и развернуть исправленное ПО), а также возможность работы непрерывных транзакций в режиме реального времени, чтобы обеспечить не только работу приложения, но и реальность осуществления транзакций.

Кроме того, рост потребностей среднего Интернет-пользователя также означает, что ожидание высокого качества от приложения становится все более значимым. И если информационная система не обеспечивает пользователя тем, что он желает получить, то функциональность приложения должна быть увеличена в очень короткий промежуток времени без ущерба для качества. Адекватность работы системы поддержки столь быстрого оборота изменений должна быть на высоком уровне.

Таким образом, необходимость определения наиболее эффективного подхода к обеспечению качества веб-приложений является очень актуальной задачей.

Данное исследование касается многих общих практик по обеспечению качественной разработки. И хотя в основном наши изыскания будут сосредоточены вокруг РНР, мы часто будем затрагивать вопросы, являющиеся общими для многих языков, систем, процессов и инструментов.

Степень разработанности проблемы. К сожалению, исследования, посвященные проблеме разработки высококачественных веб-приложений практически отсутствуют в отечественной литературе. Возможно, это связано с тем, что веб-сигмент программной разработки в нашей стране возник относительно недавно, и, первоначально, привлек большое число программистов-дилетантов, чем был сильно дискредитирован в глазах профессиональных разработчиков. В связи с этим, научное сообщество про-

фессиональных теоретиков веб-программирования в нашей стране еще находится на этапе становления.

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

Приведем несколько мнений программистов с мировыми именами. Мэри Поппендик (Mary Poppendieck) считает, что создание тестов перед написанием кода является одним из двух самых эффективных и производительных изменений процесса повышения качества кода2. Джефф Сазерленд (Jeff Sutherland), один из создателей Scrum3, замечает, что проведение тестов прежде внедрения приложения в производство удваивают производительность команды: «Фактические результаты могут варьироваться, но команды, использующие TDD4, переживают увеличение производительности и качества»5. «Сотрудничество клиента-разработчика-тестера уменьшает количество ненужных циклов в процессе развития», - считает Кен Пуг (Ken Pugh)6. Как пишут Джерри Вайнберг (Jerry Weinberg) и Дон Гэюз (Don Gause): «Удивительно, что один из самых эффективных способов проверить условия программы, - это протестировать ее как завершенную систему»7. Тестирование - это «авторитетное и надежное начало того, что

«pSSe^'uSe acceptance test driven development: better software through collaboration, Pearson

^a^eDonaid C, and Gerald M. Weinberg. Exploring Requirements: Quality Before Design Dorset House Publishing Company, 1989.

программное обеспечение должно будет сделать функционально», - говорит Гойко Аджич (Gojko Adzic)8.

И все-таки, несмотря на то, что проблема создания высококачественных программных приложений через тестирование широко обсуждается в зарубежном научном сообществе, в российской науке на сегодняшний день фактически не существует последовательных трудов на эту тему. В связи с этим, данное исследование стремится восполнить указанную лакуну.

Объектом исследования является среда модульного тестирования РНР программ - PHPUnit. Написанный Себастианом Бергманом (Sebastian Bergmann), этот фреймфорк на сегодняшний день является фактическим стандартом тестирования веб-приложений на РНР.

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

Методы исследования, применяемые в работе, основаны на теории информации, теории надежности, методах оптимизации. В качестве общего теоретического подхода применяется системный анализ. Для моделирования естественного функционирования программных приложений в искусственной среде используется язык РНР.

Целью диссертационной работы является исследование типов, методов и алгоритмов разработки высокопроизводительных веб-приложений на основе тестирования с целью поиска ошибок в исходном коде программы.

Для достижения поставленной цели решены следующие задачи:

8 Adzic, Gojko. Bridging the Communication Gap'. Specification by Example and Agile Acceptance Testing. Neuri Limited, 2009.

анализ экономических преимуществ «разработки через тестирование»;

анализ существующих типов, методов и алгоритмов тестирования ПО и выявление возможности их использования применительно к программированию;

разработка тестов с учетом особенностей среды функционирования веб-приложений;

оптимизация процедуры тестирования;

программная реализация выявленных алгоритмов тестирования;

применение полученных в диссертации научных результатов на практике.

Научная новизна работы состоит в следующем:

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

продукта.

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

  2. Предложен новый подход к практической разработке РНР приложений. В сравнении с существующими принципами создания веб-приложений, этот подход учитывает экономические аспекты в работе программиста и его взаимоотношениях с потенциальными клиентами, а так же ориентируется на вопросы долговременной перспективы поддержки конечного продукта.

Результаты исследования, полученные лично автором:

  1. Осуществлен системный анализ признаков, характеризующих понятие качества в Интернет среде.

  2. Доказана обоснованность применения Объектно-ориентированного подхода в разработке Интернет-программ относительно к языку РНР.

  3. Исследовано состояние подходов к повышению производительности и функциональности веб-приложений

  4. Предложен концептуальный подход к разработке через совмещение модульного и приемочного тестирования в среде РНР-приложений.

Положения, выносимые на защиту:

  1. Концепция использования языка РНР в качестве одного из основных языков программирования для Веб.

  2. Экономическая и практическая целесообразность применения парадигмы «Разработка через тестирование» в отношении создания интернет-приложений.

  3. Использование фреймворка PHPUnit в качестве наиболее эффективного инструмента модульного тестирования РНР-программ.

Теоретическая и практическая значимость. Полученные в диссертационной работе результаты могут использоваться для решения практических задач тестирования программного обеспечения событийно-управляемых систем, а также для тестирования функциональности программ с точки зрения пользовательского интерфейса. Результаты настоящей работы были использованы при разработке веб-сайтов в студии веб-дизайна «Danmer» г. Тверь.

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

Апробация результатов исследования. Ряд методологических и методических принципов и положений выполненного исследования нашли отражение в рекомендациях научно-практической конференции, проводимых в рамках специальности «Компьютерные и телекоммуникационные технологию) в Армавирском лингвистическом социальном институте (2009, 2010), докладывались на научно-тематических конференций Московского института инновационных технологий (2010, 2011), на семинарах в Международной академии образования, Российской академии естественных наук, Верхневолжской инженерной академии (2009-2011) и др.

Структура работы. Диссертация состоит из введения, трех глав, заключения и списка литературы, включающего 83 наименования. Работа изложена на 96 страницах, содержит 1 таблицу и 44 иллюстрации кода.

9.

Похожие диссертации на Разработка высокоуровневых веб-приложений с использованием методологии "Разработка через тестирование" : на примере PHPUnit