Автоматизация тестирования программного обеспечения - магистерская диссертация [закрыто]
-
22-08-2019 - |
Вопрос
Я пытаюсь написать диссертацию по автоматизации тестирования программного обеспечения.Я планирую сравнить два подхода к записи и программированию тестовых сценариев и обсудить несколько фреймворков автоматизации, например Abbot, Selenium, Yemmy, FEST и т. д.Также в моей диссертации будет краткий обзор методов тестирования программного обеспечения и, возможно, сравнение автоматического тестирования с тестированием программного обеспечения.
РЕДАКТИРОВАТЬ:Я планирую аспекты тестирования приложения через его графический интерфейс.Так что мои тесты будут в основном касаться стороны черного ящика мира тестирования.Я не планировал писать о модульном тестировании.
На данный момент я довольно много читаю о различных платформах автоматизации, но, возможно, у меня не будет времени просмотреть их все.Поэтому я планирую прочитать о них и сделать диссертацию более литературной.
- Как вы думаете, эта тема может иметь успех?
- Есть ли у вас еще идеи по этой теме?
- Можете ли вы порекомендовать литературу?
- Каково ваше мнение по этой теме?
Решение
Обзор литературы должен стать прекрасным фокусом для магистерской диссертации.Похоже, вы хотите просто поговорить об инструментах взаимодействия с клиентами с использованием графического пользовательского интерфейса «черного ящика», а это достаточно небольшая ниша.
Вы /возможно/ захотите иметь страницу или две, посвященные всему миру инструментов тестирования - модульному тестированию, безопасности, нагрузке и т. д., как кто-то упомянул выше.Но я думаю, что вы довольно хорошо ориентируетесь в своей нише.
Я думаю, что с дипломной работой на 6 баллов у вас должно быть достаточно времени, чтобы изучить и опробовать некоторые более крупные коммерческие инструменты и инструменты с открытым исходным кодом, а также изучить литературу.Я бы посоветовал вам изучить как коммерческие инструменты (быстрое тестирование, завершение теста), так и автоматизацию на основе ключевых слов — например, selenium RC.Кто-то еще упомянул тестирование «за графическим интерфейсом», например FIT/Fitnesse, возможно, его стоит обсудить и оценить.
Я рассказываю об автоматизации функционального тестирования «черного ящика» в своей ежемесячной колонке в декабрьском выпуске журнала Software Test and Performance Magazine за 2008 год:
http://www.stpmag.com/issues/stp-2008-12.pdf (стр. 7)
Это краткое введение на одну страницу.Введение из пяти предложений заключается в том, что инструменты записи/воспроизведения экрана сравнивают все, поэтому, если ваш графический интерфейс вообще каким-либо образом изменится (даже если вы просто измените разрешение экрана), это может вернуться в виде ложной ошибки.Инструменты, управляемые ключевыми словами, проверяют только то, что вы им говорите — они пропускают, если кнопка внезапно отключается без уважительной причины или значок непрозрачен.
Только человек способен проверить это скрытое утверждение в конце каждого тестового примера "...и больше ничего странного не произошло».
Таким образом, выполнение и оценка компьютерных тестов могут иметь некоторую ценность, но они должны быть частью сбалансированного завтрака.
Другие вещи, на которые стоит обратить внимание:
- Джеймс Бах «Змеиное масло автоматизации тестирования программного обеспечения»
- Книга Канера, Баха и Петтикорда «Уроки, извлеченные из тестирования программного обеспечения».
- Моя запись в блоге о тестовых фреймворках -http://xndev.blogspot.com/2007/09/whats-test-framework.html (это результат Google под номером 4 по запросу «что такое тестовая среда», поэтому я смело рекомендую его)
- Аналогия с минным полем ( http://www.testingperspective.com/tpwiki/doku.php?id=minefield )
- Статьи Дуга Хоффмана по автоматизации тестирования:http://www.softwarequalitymethods.com/H-Papers.html
- Классическая проблема «полочного ПО» автоматизации тестирования.
- Антиинтеллектуализм, продвигаемый некоторыми сторонниками сообщества автоматизации тестирования «черного ящика».
- Курс Канера по тестированию программного обеспечения «Черный ящик»
- Работа Джеймса Баха по когнитивному тестированию
- Контекстно-ориентированное тестирование программного обеспечения
- Работа Джона Коля над «Человеком и машиной», или киборгским подходом (вместо выполнения и оценки тестов с помощью компьютера)
Надеюсь, это поможет.
Другие советы
Автоматизация тестирования программного обеспечения — это большая тема, и вы, возможно, захотите сузить свое внимание, а не пытаться охватить сочетание фреймворков, воспроизведения/записи, обзора методов, автоматизации и автоматизации тестирования.нет.
Об автоматизации тестирования программного обеспечения написаны целые книги:
- Как общая тема
- Сосредоточение внимания на функциональных/функциональных тестах (FIT)
- Фокус на юнит-тестах
- Сосредоточение внимания на модульных тестах с использованием одного конкретного языка и платформы.
Фреймворки ориентированы на разные виды тестирования:
- Модульное тестирование
- Разработка через тестирование
- Развитие, основанное на поведении
- Функциональное тестирование
- Тестирование графического пользовательского интерфейса (Windows, Java GUI, X Windows и т. д.)
- Веб-тестирование
- Тестирование производительности
- Тестирование безопасности
Я бы подумал о том, чтобы сосредоточиться на фреймворках (или методах, или чем-то еще) в одной из этих областей, а не пытаться охватить их все.Или выберите пару таких областей и сравните их.
Вопрос воспроизведения/записи vs.рукописные тесты кажутся мне устаревшими.В 1980-х годах поставщики любили продвигать воспроизведение/запись для автоматизации графического интерфейса Windows.Это породило отличные демонстрации и большие надежды.Но это также привело к хрупким тестам и хранению.Воспроизведение/запись — это хороший способ начать работу с инструментом, но для того, чтобы его можно было поддерживать, обычно нужны сценарии, написанные на более высоком уровне.Это положило начало новой эре подходов, основанных на электронных таблицах и ключевых словах, и, в конечном итоге, FIT/FitNesse.
Не знаю насчет литературы, но думаю, что публикации ACM в вашей школьной библиотеке, вероятно, принесут результаты.В частности Информационные бюллетени SIG*.(Возможно СИГСОФТ?)
На мой взгляд, это звучит как хорошая магистерская диссертация.Конечно, последнее слово по этому поводу остается за вашим научным руководителем.Тебе следует пойти поговорить с ними.
В качестве обзора литературы это отличная тема;там много материала.Разумеется, я не собираюсь вдаваться во все детали, поскольку это ваша работа как автора.:-)
Однако, хотя я не знаком с первоначальными требованиями к исследованию магистерской диссертации, для докторской диссертации этого явно будет недостаточно.Я бы поискал оригинальные работы, которые вы могли бы добавить к этому.Одной из идей могла бы стать таксономия методов и систем тестирования.Вы также можете изучить роль тестирования по сравнению с формальной проверкой.
Мне было бы интересно прочитать диссертацию, если она доступна в Интернете.Стоит рассмотреть программный доступ к графическому интерфейсу — как через Интернет, так и через приложение.Также есть инструменты записи и воспроизведения, такие как Selenium или WatiR.И, конечно же, плюсы и минусы автоматизации - ограничения инструментов (большинство из них не видят, например, Java-апплеты или флэш-память на веб-страницах) и самая важная вещь, которую некоторые люди забывают при автоматизации - НЕ все. должен быть автоматизированным!
Но если у вас вообще есть возможность прокомментировать это, чтобы уведомить нас, когда это будет сделано, я бы искренне хотел прочитать.
В этом году вышла отличная книга по автоматизации тестирования:«Внедрение автоматизированного тестирования», Эльфрида Дастин, Том Гарретт и Берни Гауф, Эддисон Уэсли.