Файл: Обеспечения Базовый курс (3е издание) Версия книги 2 от 17. 04. 2023.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 894
Скачиваний: 31
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
ал
ь
н
о
го
те
с
ти
р
о
в
ан
и
я
С
те пе нь ва ж
но ст и
т ес ти ру ем ы
х фу нк ц
ий
Высокая важность
Средняя важность
Низкая важность
Гл уб ин а д
ет ал из ац и
и ис сл е
до ва ни я пр и
ло ж
ен и
я
1
2
3
П
ос ле до ва те ль но ст ь вы по л
не ни я
Подробная классификация тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 83/301
2.3.2.8.
Классификация по природе приложения
Данный вид классификации является искусственным, поскольку «внутри» речь будет идти об одних и тех же видах тестирования, отличающихся в данном контексте лишь концентрацией на соответствующих функциях и особенностях при- ложения, использованием специфических инструментов и отдельных техник.
• Тестирование веб-приложений (web-applications testing) сопряжено с ин- тенсивной деятельностью в области тестирования совместимости
{89}
(
в осо- бенности — кросс-браузерного тестирования
{90}
), тестирования производи- тельности
{91}
, автоматизации тестирования с использованием широкого спек- тра инструментальных средств.
• Тестирование мобильных приложений (mobile applications testing) также требует повышенного внимания к тестированию совместимости
{89}
, оптимиза- ции производительности
{91}
(в том числе клиентской части с точки зрения сни- жения энергопотребления), автоматизации тестирования с применением эмуляторов мобильных устройств.
• Тестирование настольных приложений (desktop applications testing) явля- ется самым классическим среди всех перечисленных в данной классифика- ции, и его особенности зависят от предметной области приложения, нюансов архитектуры, ключевых показателей качества и т.д.
Эту классификацию можно продолжать очень долго. Например, можно от- дельно рассматривать тестирование консольных приложений (console appli- cations testing
) и приложений с графическим интерфейсом (GUI-applications testing
), серверных приложений (server applications testing) и клиентских при- ложений (client applications testing) и т.д.
2.3.2.9.
Классификация по фокусировке на уровне архитектуры приложе-
ния
Данный вид классификации, как и предыдущий, также является искусствен- ным и отражает лишь концентрацию внимания на отдельной части приложения.
• Тестирование уровня представления (presentation tier testing) сконцентри- ровано на той части приложения, которая отвечает за взаимодействие с
«внешним миром» (как пользователями, так и другими приложениями). Здесь исследуются вопросы удобства использования, скорости отклика интер- фейса, совместимости с браузерами, корректности работы интерфейсов.
• Тестирование уровня бизнес-логики (business logic tier testing) отвечает за проверку основного набора функций приложения и строится на базе ключе- вых требований к приложению, бизнес-правил и общей проверки функцио- нальности.
• Тестирование уровня данных (data tier testing) сконцентрировано на той части приложения, которая отвечает за хранение и некоторую обработку дан- ных (чаще всего — в базе данных или ином хранилище). Здесь особый инте- рес представляет тестирование данных, проверка соблюдения бизнес-пра- вил, тестирование производительности.
Если вы не знакомы с понятием многоуровневой архитектуры приложе- ний, ознакомьтесь с ним хотя бы по материалу
150
из Википедии.
150
«Multitier architecture», Wikipedia [
http://en.wikipedia.org/wiki/Multitier_architecture
]
Подробная классификация тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 84/301
2.3.2.10.
Классификация по привлечению конечных пользователей
Все три перечисленных ниже вида тестирования относятся к операционному тестированию
{88}
• Альфа-тестирование (alpha testing
151
) выполняется внутри организации-раз- работчика с возможным частичным привлечением конечных пользователей.
Может являться формой внутреннего приёмочного тестирования
{87}
В неко- торых источниках отмечается, что это тестирование должно проводиться без привлечения команды разработчиков, но другие источники не выдвигают та- кого требования. Суть этого вида вкратце: продукт уже можно периодически показывать внешним пользователям, но он ещё достаточно «сырой», потому основное тестирование выполняется организацией-разработчиком.
• Бета-тестирование (beta testing
152
) выполняется вне организации-разработ- чика с активным привлечением конечных пользователей/заказчиков. Может являться формой внешнего приёмочного тестирования
{87}
Суть этого вида вкратце: продукт уже можно открыто показывать внешним пользователям, он уже достаточно стабилен, но проблемы всё ещё могут быть, и для их выяв- ления нужна обратная связь от реальных пользователей.
• Гамма-тестирование (gamma testing
153
)
— финальная стадия тестирования перед выпуском продукта, направленная на исправление незначительных дефектов, обнаруженных в бета-тестировании. Как правило, также выполня- ется с максимальным привлечением конечных пользователей/заказчиков.
Может являться формой внешнего приёмочного тестирования
{87}
Суть этого вида вкратце: продукт уже почти готов, и сейчас обратная связь от реальных пользователей используется для устранения последних недоработок.
2.3.2.11.
Классификация по степени формализации
• Тестирование на основе тест-кейсов (scripted testing
154
, test case based test- ing)
— формализованный подход, в котором тестирование производится на основе заранее подготовленных тест-кейсов, наборов тест-кейсов и иной до- кументации. Это самый распространённый способ тестирования, который также позволяет достичь максимальной полноты исследования приложения за счёт строгой систематизации процесса, удобства применения метрик и широкого набора выработанных за десятилетия и проверенных на практике рекомендаций.
151
Alpha testing.
Simulated or actual operational testing by potential users/customers or an independent test team at the developers’ site, but outside the development organization. Alpha testing is often employed for off-the-shelf software as a form of internal acceptance testing. [ISTQB Glossary]
152
Beta testing. Operational testing by potential and/or existing users/customers at an external site not otherwise involved with the developers, to determine whether or not a component or system satisfies the user/customer needs and fits within the business processes. Beta testing is often employed as a form of external acceptance testing for off-the-shelf software in order to acquire feedback from the market. [ISTQB Glossary]
153
Gamma testing is done when software is ready for release with specified requirements, this testing done directly by skipping all the in-house testing activities. The software is almost ready for final release. No feature development or enhancement of the software is undertaken and tightly scoped bug fixes are the only code. Gamma check is performed when the application is ready for release to the specified requirements and this check is performed directly without going through all the testing activities at home. [
http://www.360logica.com/blog/2012/06/what-are-alpha-beta-and-gamma-testing.html
]
154
Scripted testing. Test execution carried out by following a previously documented sequence of tests. [ISTQB Glossary]
Подробная классификация тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 85/301
• Исследовательское тестирование (exploratory testing
155
)
— частично фор- мализованный подход, в рамках которого тестировщик выполняет работу с приложением по выбранному сценарию
{146}
, который, в свою очередь, дора- батывается в процессе выполнения с целью более полного исследования приложения. Ключевым фактором успеха при выполнении исследователь- ского тестирования является именно работа по сценарию, а не выполнение разрозненных бездумных операций. Существует даже специальный сценар- ный подход, называемый сессионным тестированием (session-based test- ing
156
).
В качестве альтернативы сценариям при выборе действий с приложе- нием иногда могут использоваться чек-листы, и тогда этот вид тестирования называют тестированием на основе чек-листов (checklist-based testing
157
).
Дополнительную информацию об исследовательском тестирова- нии можно получить из статьи Джеймса Баха «Что такое исследо- вательское тестирование?
158
»
• Свободное (интуитивное) тестирование (ad hoc testing
159
)
— полностью не- формализованный подход, в котором не предполагается использования ни тест-кейсов, ни чек-листов, ни сценариев — тестировщик полностью опира- ется на свой профессионализм и интуицию (experience-based testing
160
) для спонтанного выполнения с приложением действий, которые, как он считает, могут обнаружить ошибку. Этот вид тестирования используется редко и ис- ключительно как дополнение к полностью или частично формализованному тестированию в случаях, когда для исследования некоторого аспекта пове- дения приложения (пока?) нет тест-кейсов.
Ни в коем случае не стоит путать исследовательское и свободное тестирование. Это разные техники исследования приложения с раз- ной степенью формализации, разными задачами и областями при- менения.
2.3.2.12.
Классификация по целям и задачам
• Позитивное тестирование (рассмотрено ранее
{82}
).
• Негативное тестирование (рассмотрено ранее
{82}
).
• Функциональное тестирование (functional testing
161
)
— вид тестирования, направленный на проверку корректности работы функциональности прило- жения (корректность реализации функциональных требований
{41}
)
. Часто функциональное тестирование ассоциируют с тестированием по методу чёр- ного ящика
{74}
, однако и по методу белого ящика
{73}
вполне можно проверять корректность реализации функциональности.
155
Exploratory testing. An informal test design technique where the tester actively controls the design of the tests as those tests are performed and uses information gained while testing to design new and better tests. [ISTQB Glossary]
156
Session-based Testing. An approach to testing in which test activities are planned as uninterrupted sessions of test design and execution, often used in conjunction with exploratory testing. [ISTQB Glossary]
157
Checklist-based Testing. An experience-based test design technique whereby the experienced tester uses a high-level list of items to be noted, checked, or remembered, or a set of rules or criteria against which a product has to be verified. [ISTQB
Glossary]
158
«What is Exploratory Testing?», James Bach [
http://www.satisfice.com/articles/what_is_et.shtml
]
159
Ad hoc testing. Testing carried out informally; no formal test preparation takes place, no recognized test design technique is used, there are no expectations for results and arbitrariness guides the test execution activity. [ISTQB Glossary]
160
Experience-based Testing.
Testing based on the tester’s experience, knowledge and intuition. [ISTQB Glossary]
161
Functional testing. Testing based on an analysis of the specification of the functionality of a component or system. [ISTQB
Glossary]
Подробная классификация тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 86/301
Часто возникает вопрос, в чём разница между функциональным те- стированием (functional testing
161
) и тестированием функционально- сти (functionality testing
162
).
Подробнее о функциональном тестиро- вании можно прочесть в статье «What is Functional testing (Testing of functions) in software?
»
163
, а о тестировании функциональности в статье «What is functionality testing in software?»
164
Если вкратце, то:
• функциональное тестирование (как антоним нефункциональ- ного) направлено на проверку того, какие функции приложения реализованы, и что они работают верным образом;
• тестирование функциональности направлено на те же задачи, но акцент смещён в сторону исследования приложения в реальной рабочей среде, после локализации и в тому подобных ситуациях.
• Нефункциональное тестирование (non-functional testing
165
)
— вид тестиро- вания, направленный на проверку нефункциональных особенностей прило- жения (корректность реализации нефункциональных требований
{41}
)
, таких как удобство использования, совместимость, производительность, безопас- ность и т.д.
• Инсталляционное тестирование (installation testing, installability testing
166
)
— тестирование, направленное на выявление дефектов, влияющих на протека- ние стадии инсталляции (установки) приложения. В общем случае такое те- стирование проверяет множество сценариев и аспектов работы инсталля- тора в таких ситуациях, как: o новая среда исполнения, в которой приложение ранее не было инстал- лировано; o обновление существующей версии («апгрейд»); o изменение текущей версии на более старую («даунгрейд»); o повторная установка приложения с целью устранения возникших про- блем («переинсталляция»); o повторный запуск инсталляции после ошибки, приведшей к невозмож- ности продолжения инсталляции; o удаление приложения; o установка нового приложения из семейства приложений; o автоматическая инсталляция без участия пользователя.
162
Functionality testing. The process of testing to determine the functionality of a software product (the capability of the software product to provide functions which meet stated and implied needs when the software is used under specified conditions). [ISTQB
Glossary]
163
«What is Functional testing (Testing of functions) in software?» [
http://istqbexamcertification.com/what-is-functional-testing-test- ing-of-functions-in-software/
]
164
«What is functionality testing in software?» [
http://istqbexamcertification.com/what-is-functionality-testing-in-software/
]
165
Non-functional testing. Testing the attributes of a component or system that do not relate to functionality, e.g. reliability, efficiency, usability, maintainability and portability. [ISTQB Glossary]
166
Installability testing. The process of testing the installability of a software product. Installability is the capability of the software product to be installed in a specified environment. [ISTQB Glossary]
Подробная классификация тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 87/301
• Регрессионное тестирование (regression testing
167
)
— тестирование, направленное на проверку того факта, что в ранее работоспособной функци- ональности не появились ошибки, вызванные изменениями в приложении или среде его функционирования. Фредерик Брукс в своей книге «Мифиче- ский человеко-месяц»
168
писал: «Фундаментальная проблема при сопровож- дении программ состоит в том, что исправление одной ошибки с большой вероятностью (20–50 %) влечёт появление новой». Потому регрессионное тестирование является неотъемлемым инструментом обеспечения качества и активно используется практически в любом проекте.
• Повторное тестирование (re-testing
169
, confirmation testing)
— выполнение тест-кейсов, которые ранее обнаружили дефекты, с целью подтверждения устранения дефектов. Фактически этот вид тестирования сводится к дей- ствиям на финальной стадии жизненного цикла отчёта о дефекте
{170}
, направ- ленным на то, чтобы перевести дефект в состояние «проверен» и «закрыт».
• Приёмочное тестирование (acceptance testing
170
)
— формализованное те- стирование, направленное на проверку приложения с точки зрения конечного пользователя/заказчика и вынесения решения о том, принимает ли заказчик работу у исполнителя (проектной команды). Можно выделить следующие подвиды приёмочного тестирования (хотя упоминают их крайне редко, огра- ничиваясь в основном общим термином «приёмочное тестирование»): o
Производственное приёмочное тестирование (factory acceptance testing
171
)
— выполняемое проектной командой исследование полноты и качества реализации приложения с точки зрения его готовности к пе- редаче заказчику. Этот вид тестирования часто рассматривается как синоним альфа-тестирования
{84}
o
Операционное приёмочное тестирование (operational acceptance testing
172
, production acceptance testing)
— операционное тестирова- ние
{88}
, выполняемое с точки зрения выполнения инсталляции, потреб- ления приложением ресурсов, совместимости с программной и аппа- ратной платформой и т.д. o
Итоговое приёмочное тестирование (site acceptance testing
173
)
— те- стирование конечными пользователями (представителями заказчика) приложения в реальных условиях эксплуатации с целью вынесения решения о том, требует ли приложение доработок или может быть при- нято в эксплуатацию в текущем виде.
167
Regression testing. Testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software, as a result of the changes made. It is performed when the software or its environment is changed. [ISTQB Glossary]
168
Frederick Brooks,
«The Mythical Man-Month».
169
Re-testing, Confirmation testing. Testing that runs test cases that failed the last time they were run, in order to verify the success of corrective actions. [ISTQB Glossary]
170
Acceptance Testing. Formal testing with respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system. [ISTQB Glossary]
171
ь
н
о
го
те
с
ти
р
о
в
ан
и
я
С
те пе нь ва ж
но ст и
т ес ти ру ем ы
х фу нк ц
ий
Высокая важность
Средняя важность
Низкая важность
Гл уб ин а д
ет ал из ац и
и ис сл е
до ва ни я пр и
ло ж
ен и
я
1
2
3
П
ос ле до ва те ль но ст ь вы по л
не ни я
Подробная классификация тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 83/301
2.3.2.8.
Классификация по природе приложения
Данный вид классификации является искусственным, поскольку «внутри» речь будет идти об одних и тех же видах тестирования, отличающихся в данном контексте лишь концентрацией на соответствующих функциях и особенностях при- ложения, использованием специфических инструментов и отдельных техник.
• Тестирование веб-приложений (web-applications testing) сопряжено с ин- тенсивной деятельностью в области тестирования совместимости
{89}
(
в осо- бенности — кросс-браузерного тестирования
{90}
), тестирования производи- тельности
{91}
, автоматизации тестирования с использованием широкого спек- тра инструментальных средств.
• Тестирование мобильных приложений (mobile applications testing) также требует повышенного внимания к тестированию совместимости
{89}
, оптимиза- ции производительности
{91}
(в том числе клиентской части с точки зрения сни- жения энергопотребления), автоматизации тестирования с применением эмуляторов мобильных устройств.
• Тестирование настольных приложений (desktop applications testing) явля- ется самым классическим среди всех перечисленных в данной классифика- ции, и его особенности зависят от предметной области приложения, нюансов архитектуры, ключевых показателей качества и т.д.
Эту классификацию можно продолжать очень долго. Например, можно от- дельно рассматривать тестирование консольных приложений (console appli- cations testing
) и приложений с графическим интерфейсом (GUI-applications testing
), серверных приложений (server applications testing) и клиентских при- ложений (client applications testing) и т.д.
2.3.2.9.
Классификация по фокусировке на уровне архитектуры приложе-
ния
Данный вид классификации, как и предыдущий, также является искусствен- ным и отражает лишь концентрацию внимания на отдельной части приложения.
• Тестирование уровня представления (presentation tier testing) сконцентри- ровано на той части приложения, которая отвечает за взаимодействие с
«внешним миром» (как пользователями, так и другими приложениями). Здесь исследуются вопросы удобства использования, скорости отклика интер- фейса, совместимости с браузерами, корректности работы интерфейсов.
• Тестирование уровня бизнес-логики (business logic tier testing) отвечает за проверку основного набора функций приложения и строится на базе ключе- вых требований к приложению, бизнес-правил и общей проверки функцио- нальности.
• Тестирование уровня данных (data tier testing) сконцентрировано на той части приложения, которая отвечает за хранение и некоторую обработку дан- ных (чаще всего — в базе данных или ином хранилище). Здесь особый инте- рес представляет тестирование данных, проверка соблюдения бизнес-пра- вил, тестирование производительности.
Если вы не знакомы с понятием многоуровневой архитектуры приложе- ний, ознакомьтесь с ним хотя бы по материалу
150
из Википедии.
150
«Multitier architecture», Wikipedia [
http://en.wikipedia.org/wiki/Multitier_architecture
]
Подробная классификация тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 84/301
2.3.2.10.
Классификация по привлечению конечных пользователей
Все три перечисленных ниже вида тестирования относятся к операционному тестированию
{88}
• Альфа-тестирование (alpha testing
151
) выполняется внутри организации-раз- работчика с возможным частичным привлечением конечных пользователей.
Может являться формой внутреннего приёмочного тестирования
{87}
В неко- торых источниках отмечается, что это тестирование должно проводиться без привлечения команды разработчиков, но другие источники не выдвигают та- кого требования. Суть этого вида вкратце: продукт уже можно периодически показывать внешним пользователям, но он ещё достаточно «сырой», потому основное тестирование выполняется организацией-разработчиком.
• Бета-тестирование (beta testing
152
) выполняется вне организации-разработ- чика с активным привлечением конечных пользователей/заказчиков. Может являться формой внешнего приёмочного тестирования
{87}
Суть этого вида вкратце: продукт уже можно открыто показывать внешним пользователям, он уже достаточно стабилен, но проблемы всё ещё могут быть, и для их выяв- ления нужна обратная связь от реальных пользователей.
• Гамма-тестирование (gamma testing
153
)
— финальная стадия тестирования перед выпуском продукта, направленная на исправление незначительных дефектов, обнаруженных в бета-тестировании. Как правило, также выполня- ется с максимальным привлечением конечных пользователей/заказчиков.
Может являться формой внешнего приёмочного тестирования
{87}
Суть этого вида вкратце: продукт уже почти готов, и сейчас обратная связь от реальных пользователей используется для устранения последних недоработок.
2.3.2.11.
Классификация по степени формализации
• Тестирование на основе тест-кейсов (scripted testing
154
, test case based test- ing)
— формализованный подход, в котором тестирование производится на основе заранее подготовленных тест-кейсов, наборов тест-кейсов и иной до- кументации. Это самый распространённый способ тестирования, который также позволяет достичь максимальной полноты исследования приложения за счёт строгой систематизации процесса, удобства применения метрик и широкого набора выработанных за десятилетия и проверенных на практике рекомендаций.
151
Alpha testing.
Simulated or actual operational testing by potential users/customers or an independent test team at the developers’ site, but outside the development organization. Alpha testing is often employed for off-the-shelf software as a form of internal acceptance testing. [ISTQB Glossary]
152
Beta testing. Operational testing by potential and/or existing users/customers at an external site not otherwise involved with the developers, to determine whether or not a component or system satisfies the user/customer needs and fits within the business processes. Beta testing is often employed as a form of external acceptance testing for off-the-shelf software in order to acquire feedback from the market. [ISTQB Glossary]
153
Gamma testing is done when software is ready for release with specified requirements, this testing done directly by skipping all the in-house testing activities. The software is almost ready for final release. No feature development or enhancement of the software is undertaken and tightly scoped bug fixes are the only code. Gamma check is performed when the application is ready for release to the specified requirements and this check is performed directly without going through all the testing activities at home. [
http://www.360logica.com/blog/2012/06/what-are-alpha-beta-and-gamma-testing.html
]
154
Scripted testing. Test execution carried out by following a previously documented sequence of tests. [ISTQB Glossary]
Подробная классификация тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 85/301
• Исследовательское тестирование (exploratory testing
155
)
— частично фор- мализованный подход, в рамках которого тестировщик выполняет работу с приложением по выбранному сценарию
{146}
, который, в свою очередь, дора- батывается в процессе выполнения с целью более полного исследования приложения. Ключевым фактором успеха при выполнении исследователь- ского тестирования является именно работа по сценарию, а не выполнение разрозненных бездумных операций. Существует даже специальный сценар- ный подход, называемый сессионным тестированием (session-based test- ing
156
).
В качестве альтернативы сценариям при выборе действий с приложе- нием иногда могут использоваться чек-листы, и тогда этот вид тестирования называют тестированием на основе чек-листов (checklist-based testing
157
).
Дополнительную информацию об исследовательском тестирова- нии можно получить из статьи Джеймса Баха «Что такое исследо- вательское тестирование?
158
»
• Свободное (интуитивное) тестирование (ad hoc testing
159
)
— полностью не- формализованный подход, в котором не предполагается использования ни тест-кейсов, ни чек-листов, ни сценариев — тестировщик полностью опира- ется на свой профессионализм и интуицию (experience-based testing
160
) для спонтанного выполнения с приложением действий, которые, как он считает, могут обнаружить ошибку. Этот вид тестирования используется редко и ис- ключительно как дополнение к полностью или частично формализованному тестированию в случаях, когда для исследования некоторого аспекта пове- дения приложения (пока?) нет тест-кейсов.
Ни в коем случае не стоит путать исследовательское и свободное тестирование. Это разные техники исследования приложения с раз- ной степенью формализации, разными задачами и областями при- менения.
2.3.2.12.
Классификация по целям и задачам
• Позитивное тестирование (рассмотрено ранее
{82}
).
• Негативное тестирование (рассмотрено ранее
{82}
).
• Функциональное тестирование (functional testing
161
)
— вид тестирования, направленный на проверку корректности работы функциональности прило- жения (корректность реализации функциональных требований
{41}
)
. Часто функциональное тестирование ассоциируют с тестированием по методу чёр- ного ящика
{74}
, однако и по методу белого ящика
{73}
вполне можно проверять корректность реализации функциональности.
155
Exploratory testing. An informal test design technique where the tester actively controls the design of the tests as those tests are performed and uses information gained while testing to design new and better tests. [ISTQB Glossary]
156
Session-based Testing. An approach to testing in which test activities are planned as uninterrupted sessions of test design and execution, often used in conjunction with exploratory testing. [ISTQB Glossary]
157
Checklist-based Testing. An experience-based test design technique whereby the experienced tester uses a high-level list of items to be noted, checked, or remembered, or a set of rules or criteria against which a product has to be verified. [ISTQB
Glossary]
158
«What is Exploratory Testing?», James Bach [
http://www.satisfice.com/articles/what_is_et.shtml
]
159
Ad hoc testing. Testing carried out informally; no formal test preparation takes place, no recognized test design technique is used, there are no expectations for results and arbitrariness guides the test execution activity. [ISTQB Glossary]
160
Experience-based Testing.
Testing based on the tester’s experience, knowledge and intuition. [ISTQB Glossary]
161
Functional testing. Testing based on an analysis of the specification of the functionality of a component or system. [ISTQB
Glossary]
Подробная классификация тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 86/301
Часто возникает вопрос, в чём разница между функциональным те- стированием (functional testing
161
) и тестированием функционально- сти (functionality testing
162
).
Подробнее о функциональном тестиро- вании можно прочесть в статье «What is Functional testing (Testing of functions) in software?
»
163
, а о тестировании функциональности в статье «What is functionality testing in software?»
164
Если вкратце, то:
• функциональное тестирование (как антоним нефункциональ- ного) направлено на проверку того, какие функции приложения реализованы, и что они работают верным образом;
• тестирование функциональности направлено на те же задачи, но акцент смещён в сторону исследования приложения в реальной рабочей среде, после локализации и в тому подобных ситуациях.
• Нефункциональное тестирование (non-functional testing
165
)
— вид тестиро- вания, направленный на проверку нефункциональных особенностей прило- жения (корректность реализации нефункциональных требований
{41}
)
, таких как удобство использования, совместимость, производительность, безопас- ность и т.д.
• Инсталляционное тестирование (installation testing, installability testing
166
)
— тестирование, направленное на выявление дефектов, влияющих на протека- ние стадии инсталляции (установки) приложения. В общем случае такое те- стирование проверяет множество сценариев и аспектов работы инсталля- тора в таких ситуациях, как: o новая среда исполнения, в которой приложение ранее не было инстал- лировано; o обновление существующей версии («апгрейд»); o изменение текущей версии на более старую («даунгрейд»); o повторная установка приложения с целью устранения возникших про- блем («переинсталляция»); o повторный запуск инсталляции после ошибки, приведшей к невозмож- ности продолжения инсталляции; o удаление приложения; o установка нового приложения из семейства приложений; o автоматическая инсталляция без участия пользователя.
162
Functionality testing. The process of testing to determine the functionality of a software product (the capability of the software product to provide functions which meet stated and implied needs when the software is used under specified conditions). [ISTQB
Glossary]
163
«What is Functional testing (Testing of functions) in software?» [
http://istqbexamcertification.com/what-is-functional-testing-test- ing-of-functions-in-software/
]
164
«What is functionality testing in software?» [
http://istqbexamcertification.com/what-is-functionality-testing-in-software/
]
165
Non-functional testing. Testing the attributes of a component or system that do not relate to functionality, e.g. reliability, efficiency, usability, maintainability and portability. [ISTQB Glossary]
166
Installability testing. The process of testing the installability of a software product. Installability is the capability of the software product to be installed in a specified environment. [ISTQB Glossary]
Подробная классификация тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 87/301
• Регрессионное тестирование (regression testing
167
)
— тестирование, направленное на проверку того факта, что в ранее работоспособной функци- ональности не появились ошибки, вызванные изменениями в приложении или среде его функционирования. Фредерик Брукс в своей книге «Мифиче- ский человеко-месяц»
168
писал: «Фундаментальная проблема при сопровож- дении программ состоит в том, что исправление одной ошибки с большой вероятностью (20–50 %) влечёт появление новой». Потому регрессионное тестирование является неотъемлемым инструментом обеспечения качества и активно используется практически в любом проекте.
• Повторное тестирование (re-testing
169
, confirmation testing)
— выполнение тест-кейсов, которые ранее обнаружили дефекты, с целью подтверждения устранения дефектов. Фактически этот вид тестирования сводится к дей- ствиям на финальной стадии жизненного цикла отчёта о дефекте
{170}
, направ- ленным на то, чтобы перевести дефект в состояние «проверен» и «закрыт».
• Приёмочное тестирование (acceptance testing
170
)
— формализованное те- стирование, направленное на проверку приложения с точки зрения конечного пользователя/заказчика и вынесения решения о том, принимает ли заказчик работу у исполнителя (проектной команды). Можно выделить следующие подвиды приёмочного тестирования (хотя упоминают их крайне редко, огра- ничиваясь в основном общим термином «приёмочное тестирование»): o
Производственное приёмочное тестирование (factory acceptance testing
171
)
— выполняемое проектной командой исследование полноты и качества реализации приложения с точки зрения его готовности к пе- редаче заказчику. Этот вид тестирования часто рассматривается как синоним альфа-тестирования
{84}
o
Операционное приёмочное тестирование (operational acceptance testing
172
, production acceptance testing)
— операционное тестирова- ние
{88}
, выполняемое с точки зрения выполнения инсталляции, потреб- ления приложением ресурсов, совместимости с программной и аппа- ратной платформой и т.д. o
Итоговое приёмочное тестирование (site acceptance testing
173
)
— те- стирование конечными пользователями (представителями заказчика) приложения в реальных условиях эксплуатации с целью вынесения решения о том, требует ли приложение доработок или может быть при- нято в эксплуатацию в текущем виде.
167
Regression testing. Testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software, as a result of the changes made. It is performed when the software or its environment is changed. [ISTQB Glossary]
168
Frederick Brooks,
«The Mythical Man-Month».
169
Re-testing, Confirmation testing. Testing that runs test cases that failed the last time they were run, in order to verify the success of corrective actions. [ISTQB Glossary]
170
Acceptance Testing. Formal testing with respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system. [ISTQB Glossary]
171
1 ... 8 9 10 11 12 13 14 15 ... 38