Jump to content

Исследовательское тестирование

Исследовательское тестирование — это подход к тестированию программного обеспечения , который кратко описывается как одновременное обучение, проектирование тестов и их выполнение. Джем Канер , придумавший этот термин в 1984 году, [1] определяет исследовательское тестирование как «стиль тестирования программного обеспечения, который подчеркивает личную свободу и ответственность отдельного тестировщика за постоянную оптимизацию качества своей работы, рассматривая связанное с тестированием обучение, проектирование тестов, выполнение тестов и интерпретацию результатов тестов как взаимозависимые процессы». вспомогательные мероприятия, которые выполняются параллельно на протяжении всего проекта». [2]

Пока программное обеспечение тестируется, тестировщик изучает вещи, которые вместе с опытом и творческим подходом позволяют создавать новые хорошие тесты для запуска. Исследовательское тестирование часто называют методом тестирования «черного ящика» . Вместо этого те, кто изучал его, считают его подходом к тестированию , который можно применять к любой методике тестирования на любом этапе процесса разработки. Ключевым моментом является не техника тестирования и не тестируемый или проверяемый элемент; Ключом является когнитивная вовлеченность тестировщика и ответственность тестировщика за управление своим временем. [3]

Исследовательское тестирование всегда выполнялось опытными тестировщиками. В начале 1990-х годов «ad hoc» слишком часто ассоциировался с небрежной и небрежной работой. В результате группа методистов тестирования (теперь называющая себя « Школой контекстно-ориентированного тестирования ») начала использовать термин «исследовательский», стремясь подчеркнуть доминирующий мыслительный процесс, участвующий в незапланированном тестировании, и начать развивать эту практику в обучаемую дисциплину. Эта новая терминология была впервые опубликована Джемом Канером в его книге «Тестирование компьютерного программного обеспечения». [4] и подробно изложено в разделе « Уроки, извлеченные из тестирования программного обеспечения» . [5] Исследовательское тестирование может быть таким же дисциплинированным, как и любая другая интеллектуальная деятельность.

Описание

[ редактировать ]

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

Для дальнейшего объяснения можно сравнить произвольное исследовательское тестирование с его противоположностью сценарному тестированию . В последнем случае тестовые сценарии разрабатываются заранее. Сюда входят как отдельные шаги, так и ожидаемые результаты. Эти тесты позже выполняются тестировщиком, который сравнивает фактический результат с ожидаемым. При проведении исследовательского тестирования ожидания открыты. Некоторые результаты можно предсказать и ожидать; другие могут нет. Тестировщик настраивает, эксплуатирует, наблюдает и оценивает продукт и его поведение, критически исследуя результат и сообщая информацию, которая, по-видимому, может быть ошибкой (которая угрожает ценности продукта для кого-то) или проблемой (которая угрожает качество тестирования).

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

По мнению Канера и Джеймса Маркуса Баха , исследовательское тестирование — это скорее образ мышления или «...способ мышления о тестировании», чем методология. [6] Они также говорят, что оно пересекает континуум от слегка исследовательского (слегка двусмысленного или неясно написанного тестирования) до высокоисследовательского (свободного исследовательского тестирования). [7]

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

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

Преимущества и недостатки

[ редактировать ]

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

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

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

Недостатки заключаются в том, что тесты, придуманные и выполняемые «на лету», не могут быть проверены заранее (и тем самым предотвращены ошибки в коде и тестовых примерах), и что может быть сложно точно определить, какие тесты были запущены.

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

Научные исследования

[ редактировать ]

Повторный эксперимент показал, что, хотя скриптовое и исследовательское тестирование приводят к одинаковой эффективности обнаружения дефектов (общее количество обнаруженных дефектов), исследовательские результаты дают более высокую эффективность (количество дефектов в единицу времени), поскольку на предварительное проектирование тестовых примеров не затрачивается никаких усилий. . [8] Наблюдательное исследование исследовательских тестировщиков показало, что использование знаний о предметной области, тестируемой системе и клиентах является важным фактором, объясняющим эффективность исследовательского тестирования. [9] Тематическое исследование трех компаний показало, что способность предоставлять быструю обратную связь была преимуществом исследовательского тестирования, тогда как управление тестовым покрытием было названо недостатком. [10] Опрос показал, что исследовательское тестирование также используется в критически важных областях и что подход к исследовательскому тестированию предъявляет высокие требования к человеку, выполняющему тестирование. [11]

См. также

[ редактировать ]
  1. ^ Джем Канер, « Учебное пособие по исследовательскому тестированию, заархивировано 12 июня 2013 г. в Wayback Machine », стр. 2
  2. ^ Джем Канер, Учебное пособие по исследовательскому тестированию, заархивировано 12 июня 2013 г. в Wayback Machine , стр. 36.
  3. ^ Джем Канер, Учебное пособие по исследовательскому тестированию, заархивировано 12 июня 2013 г. в Wayback Machine , стр. 37-39, 40- .
  4. ^ Сем Канер, Тестирование компьютерного программного обеспечения , TAB Books, Blue Ridge Summit, Пенсильвания, 1988. стр. 6, 7–11.
  5. ^ Канер, Джем ; Бах, Джеймс; Петтикорд, Брет (2001). Уроки, извлеченные из тестирования программного обеспечения . Джон Уайли и сыновья . ISBN  978-0-471-08112-8 .
  6. ^ Сем Канер, Джеймс Бах, Исследовательское тестирование и тестирование на основе риска , www.testingeducation.org. Архивировано 11 мая 2008 г. в Wayback Machine , 2004, стр. 10
  7. ^ Сем Канер, Джеймс Бах, Исследовательское тестирование и тестирование на основе риска , www.testingeducation.org. Архивировано 11 мая 2008 г. в Wayback Machine , 2004, стр. 14
  8. ^ Итконен, Юха; Мянтюля, Мика В. (11 июля 2013 г.). «Нужны ли тестовые примеры? Повторное сравнение исследовательского и тестового тестирования программного обеспечения». Эмпирическая программная инженерия . 19 (2): 303–342. CiteSeerX   10.1.1.363.6524 . дои : 10.1007/s10664-013-9266-8 . ISSN   1382-3256 . S2CID   254472881 .
  9. ^ Итконен, Дж.; Мянтюля, М.В.; Лассениус, К. (01 мая 2013 г.). «Роль знаний тестировщика в исследовательском тестировании программного обеспечения». Транзакции IEEE по разработке программного обеспечения . 39 (5): 707–724. дои : 10.1109/TSE.2012.55 . ISSN   0098-5589 . S2CID   1763558 .
  10. ^ Итконен, Дж.; Раутиайнен, К. (1 ноября 2005 г.). «Исследовательское тестирование: множественное тематическое исследование». 2005 Международный симпозиум по эмпирической разработке программного обеспечения, 2005 г. стр. 10 стр.–. дои : 10.1109/ISESE.2005.1541817 . ISBN  978-0-7803-9507-7 . S2CID   7974121 .
  11. ^ Пфаль, Дитмар; Инь, Хуэйши; Мянтюля, Мика В.; Мюнх, Юрген (1 января 2014 г.). «Как используется исследовательское тестирование? Исследование состояния практики». Материалы 8-го Международного симпозиума ACM/IEEE по эмпирической разработке программного обеспечения и измерениям . ЭСЕМ '14. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 5:1–5:10. дои : 10.1145/2652524.2652531 . hdl : 10138/153363 . ISBN  9781450327749 . S2CID   17924562 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 48811a8e4a76195d42fa633f8c8fe36f__1717411620
URL1:https://arc.ask3.ru/arc/aa/48/6f/48811a8e4a76195d42fa633f8c8fe36f.html
Заголовок, (Title) документа по адресу, URL1:
Exploratory testing - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)