Главная страница

Тестирование приложений. Обеспечения Базовый курс (3е издание) Версия книги 15 от 31. 03. 2022


Скачать 5.07 Mb.
НазваниеОбеспечения Базовый курс (3е издание) Версия книги 15 от 31. 03. 2022
АнкорТестирование приложений
Дата06.10.2022
Размер5.07 Mb.
Формат файлаpdf
Имя файлаSoftware Testing - Base Course (Svyatoslav Kulikov) - 3rd editio.pdf
ТипКнига
#718843
страница16 из 38
1   ...   12   13   14   15   16   17   18   19   ...   38
2.3.3.
Альтернативные и дополнительные классификации тестиро-
вания
Для полноты картины остаётся лишь показать альтернативные взгляды на классификацию тестирования. Одна из них (рисунки 2.3.i и 2.3.j) представляет не более чем иную комбинацию ранее рассмотренных видов и техник. Вторая (рисунки
2.3.k и 2.3.l) содержит много новых определений, но их подробное изучение выхо- дит за рамки данной книги, и потому будут даны лишь краткие пояснения (при необ- ходимости вы можете ознакомиться с первоисточниками, которые указаны для каж- дого определения в сноске).
Ещё раз подчеркнём: здесь приведены лишь определения. Соответству- ющим видам и техникам тестирования в первоисточниках посвящены де- сятки и сотни страниц. Пожалуйста, не ожидайте от этого раздела подроб- ных пояснений, их не будет, т.к. это — «очень дополнительный» материал.
Рисунок 2.3.i — Классификация тестирования согласно книге «Foundations of Soft- ware Testing: ISTQB Certification
» (Erik Van Veenendaal, Isabel Evans) (русскоязыч- ный вариант)
Тестирование
Статическое
Динамическое
Неформальный просмотр
Беглый просмотр
Технический просмотр
Формальная инспекция
Статический анализ
По потоку управления
По потоку данных
На основе опыта
тестировщика
Предугадывание ошибок
Исследователь- ское тестирование
На основе структур
кода
Выражений
Переходов
Условий
Комбинаций условий
На основе
спецификаций
На основе классов эквивалентности
На основе граничных условий
По вариантам использования
По таблице принятия решений
По диаграмме состояний

Альтернативные и дополнительные классификации тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2022
Стр: 101/298
Рисунок 2.3.j — Классификация тестирования согласно книге «Foundations of Soft- ware Testing: ISTQB Certification
» (Erik Van Veenendaal, Isabel Evans) (англоязыч- ный вариант)
В следующей классификации встречаются как уже рассмотренные пункты, так и ранее не рассмотренные (отмечены пунктирной линией). Краткие определе- ния не рассмотренных ранее видов тестирования представлены после рисунков
2.3.k и 2.3.l.
Testing Techniques
Static
Dynamic
Informal Review
Walkthrough
Technical Review
Inspection
Static Analysis
Control Flow
Data Flow
Experience-based
Error Guessing
Exploratory Testing
Structure-based
Statement
Decision
Condition
Multiple Condition
Specification-based
Equivalence
Partitioning
Boundary Value
Analisys
Use Case Testing
Decision Tables
State Transition

Альтернативные и дополнительные классификации тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2022
Стр: 102/298
Рисунок 2.3.k — Классификация тестирования согласно ISO/IEC/IEEE 29119-4
(русскоязычный вариант)
Техники тестирования
На основе опыта
тестировщика
На основе структур кода
На основе дерева классификаций
Проверка использования всех объявлений
На основе синтаксиса
Комбинаторные техники
Всех комбинаций
Попарное
Предугадывание ошибок
На основе условий
На основе выражений
На основе решений
На основе спецификаций
На основе классов эквивалентности
На основе граничных условий
На основе вариантов использования
По таблице принятия решений
По диаграмме состояний
С выбором значений- представителей
С выбором базового набора значений
По графу причинно- следственных связей
На основе сценариев
На основе случайных данных
На основе ветвей
На основе комбинаций условий
На основе отдельных условий, порождающих ветвление
По потоку данных
Проверка всех вычислений на основе всех объявлений
См. в основной классификации «На основе опыта тестировщика, сценариев, чек-листов» и
«На основе (моделей) поведения приложения»
Проверка всех ветвлений на основе всех объявлений
Проверка всех вычислений и ветвлений на основе всех объявлений
Проверка использования всех объявлений и всех путей без переобъявлений (без циклов или с однократными повторениями циклов)

Альтернативные и дополнительные классификации тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2022
Стр: 103/298
Рисунок 2.3.l — Классификация тестирования согласно ISO/IEC/IEEE 29119-4 (ан- глоязычный вариант)

Альтернативные и дополнительные классификации тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2022
Стр: 104/298
Тестирование на основе дерева классификаций (classification tree
267
method
268
)
— техника тестирования (по методу чёрного ящика), в которой тест-кейсы создаются на основе иерархически организованных наборов эк- вивалентных входных и выходных данных.
Тестирование на основе синтаксиса (syntax testing
269
)
— техника тестиро- вания (по методу чёрного ящика), в которой тест-кейсы создаются на основе определения наборов входных и выходных данных.
Комбинаторные техники или комбинаторное тестирование (combinatorial testing
270
)
— способ выбрать подходящий набор комбинаций тестовых данных для достижения установленного уровня тестового покрытия в случае, когда проверка всех возможных наборов значений тестовых данных невозможна за имеющееся время. Существуют следующие комбинаторные техники: o
Тестирование всех комбинаций (all combinations testing
271
)
— тести- рование всех возможных комбинаций всех значений всех тестовых данных (например, всех параметров функции). o
Попарное тестирование (рассмотрено ранее
{92}
). o
Тестирование с выбором значений-представителей (each choice testing
272
)
— тестирование, при котором по одному значению из каждого набора тестовых данных должно быть использовано хотя бы в одном тест-кейсе. o
Тестирование с выбором базового набора значений (base choice testing
273
)
— тестирование, при котором выделяется набор значений
(базовый набор), который используется для проведения тестирования в первую очередь, а далее тест-кейсы строятся на основе выбора всех базовых значений, кроме одного, которое заменяется значением, не входящим в базовый набор.
Также см. классификацию тестирования на основе выбора входных данных
{91}
, которая расширяет и дополняет данный список.
Тестирование по графу причинно-следственных связей (cause-effect gra- phing
274
)
— техника тестирования (по методу чёрного ящика), в которой тест- кейсы разрабатываются на основе графа причинно-следственных связей
(графического представления входных данных и воздействий со связанными с ними выходными данными и эффектами).
267
Classification tree. A tree showing equivalence partitions hierarchically ordered, which is used to design test cases in the classi- fication tree method. [ISTQB Glossary]
268
Classification tree method. A black box test design technique in which test cases, described by means of a classification tree, are designed to execute combinations of representatives of input and/or output domains. [ISTQB Glossary]
269
Syntax testing. A black box test design technique in which test cases are designed based upon the definition of the input domain and/or output domain. [ISTQB Glossary]
270
Combinatorial testing. A means to identify a suitable subset of test combinations to achieve a predetermined level of coverage when testing an object with multiple parameters and where those parameters themselves each have several values, which gives rise to more combinations than are feasible to test in the time allowed. [ISTQB Glossary]
271
All combinations testing. Testing of all possible combinations of all values for all parameters. [
«Guide to advanced software testing, 2nd edition
», Anne Matte Hass].
272
Each choice testing. One value from each block for each partition must be used in at least one test case. [
«Introduction to
Software Testing. Chapter 4. Input Space Partition Testing
», Paul Ammann & Jeff Offutt]
273
Base choice testing. A base choice block is chosen for each partition, and a base test is formed by using the base choice for each partition. Subsequent tests are chosen by holding all but one base choice constant and using each non-base choice in each other parameter. [
«Introduction to Software Testing. Chapter 4. Input Space Partition Testing», Paul Ammann & Jeff Offutt]
274
Cause-effect graphing. A black box test design technique in which test cases are designed from cause-effect graphs (a graphical representation of inputs and/or stimuli (causes) with their associated outputs (effects), which can be used to design test cases).
[ISTQB Glossary]

Альтернативные и дополнительные классификации тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2022
Стр: 105/298
Тестирование по потоку данных (data-flow testing
275
)
— семейство техник тестирования, основанных на выборе отдельных путей из потока управления с целью исследования событий, связанных с изменением состояния пере- менных. Эти техники позволяют обнаружить такие ситуации, как: переменная определена, но нигде не используется; переменная используется, но не определена; переменная определена несколько раз до того, как она исполь- зуется; переменная удалена до последнего случая использования.
Здесь придётся немного погрузиться в теорию. Над переменной в общем слу- чае может выполняться несколько действий (покажем на примере перемен- ной x):
• объявление (declaration): int x;
• определение (definition, d-use): x = 99;
• использование в вычислениях (computation use, c-use): z = x + 1;
• использование в условиях (predicate use, p-use): if (x > 17) { … };
• удаление (kill, k-use): x = null;
Теперь можно рассмотреть техники тестирования на основе потока данных.
Они крайне подробно описаны в разделе 3.3 главы 5 книги Бориса Бейзера
«Техники тестирования ПО» («Software Testing Techniques, Second Edition»,
Boris Beizer
), мы же приведём очень краткие пояснения: o
Проверка использования всех объявлений (all-definitions testing
276
)
— тестовым набором проверяется, что для каждой переменной суще- ствует путь от её определения к её использованию в вычислениях или условиях. o
Проверка всех вычислений на основе всех объявлений (all-c-uses testing
277
)
— тестовым набором проверяется, что для каждой перемен- ной существует путь от каждого её определения к её использованию в вычислениях. o
Проверка всех ветвлений на основе всех объявлений (all-p-uses testing
278
)
— тестовым набором проверяется, что для каждой перемен- ной существует путь от каждого её определения к её использованию в условиях. o
Проверка всех вычислений и ветвлений на основе всех объявле-
ний (all-uses testing
279
)
— тестовым набором проверяется, что для каж- дой переменной существует хотя бы один путь от каждого её опреде- ления к каждому её использованию в вычислениях и в условиях. o
Проверка использования всех объявлений и всех путей без пере-
объявлений (без циклов или с однократными повторениями цик-
лов) (all-du-paths testing
280
)
— тестовым набором для каждой перемен- ной проверяются все пути от каждого её определения к каждому её использованию в вычислениях и в условиях (самая мощная стратегия, которая в то же время требует наибольшего количества тест-кейсов).
275
Data flow testing. A white box test design technique in which test cases are designed to execute definition-use pairs of variables.
[ISTQB Glossary]
276
All-definitions strategy. Test set requires that every definition of every variable is covered by at least one use of that variable (c- use or p-use). [
«Software Testing Techniques, Second Edition», Boris Beizer]
277
All-computation-uses strategy. For every variable and every definition of that variable, include at least one definition-free path from the definition to every computation use. [
«Software Testing Techniques, Second Edition», Boris Beizer]
278
All-predicate-uses strategy. For every variable and every definition of that variable, include at least one definition-free path from the definition to every predicate use. [
«Software Testing Techniques, Second Edition», Boris Beizer]
279
All-uses strategy. Test set includes at least one path segment from every definition to every use that can be reached by that definition. [
«Software Testing Techniques, Second Edition», Boris Beizer]
280
All-DU-path strategy. Test set includes every du path from every definition of every variable to every use of that definition.
[«Software Testing Techniques, Second Edition», Boris Beizer]

Альтернативные и дополнительные классификации тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2022
Стр: 106/298
Для лучшего понимания и запоминания приведём оригинальную схему из книги Бориса Бейзера (там она фигурирует под именем «Figure 5.7. Relative
Strength of Structural Test Strategies
»), показывающую взаимосвязь стратегий тестирования на основе потока данных (рисунок 2.3.m).
Рисунок 2.3.m — Взаимосвязь и относительная мощность стратегий тестирования на основе потока данных (по книге Бориса Бейзера «Техники тестирования ПО»)
All-Paths
All-DU-Paths
All-Uses
All-C-Uses/Some-P-Uses
All-P-Uses/Some-C-Uses
All-C-Uses
All-Defs
All-P-Uses
Branch
Statement

Классификация по принадлежности к тестированию по методу белого и чёрного ящиков
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2022
Стр: 107/298
2.3.4.
Классификация по принадлежности к тестированию по ме-
тоду белого и чёрного ящиков
Типичнейшим вопросом на собеседовании для начинающих тестировщиков является просьба перечислить техники тестирования по методу белого и чёрного ящиков. Ниже представлена таблица 2.3.d, в которой все вышерассмотренные виды тестирования соотнесены с соответствующим методом. Эту таблицу можно использовать также как справочник по видам тестирования (они представлены в той же последовательности, в какой описаны в данной главе).
Важно! В источниках наподобие ISTQB-глоссария многие виды и техники тестирования жёстко соотнесены с методами белого или чёрного ящика.
Но это не значит, что их невозможно применить в другом, не отмеченном методе. Так, например, тестирование на основе классов эквивалентности отнесено к методу чёрного ящика, но оно прекрасно подходит и для напи- сания модульных тест-кейсов, являющихся ярчайшими представителями тестирования по методу белого ящика.
Воспринимайте данные из представленной ниже таблицы не как «этот вид тестирования может применяться только для…», а как «чаще всего этот вид тестирования применяется для…»
Таблица 2.3.d — Виды и техники тестирования в контексте методов белого и чёр- ного ящиков
Вид тестирования
(русскоязычное название)
Вид тестирования (англо-
язычное название)
Белый ящик
Чёрный ящик
Статическое тестирование
{70}
Static testing
Да
Нет
Динамическое тестирова- ние
{70}
Dynamic testing
Изредка
Да
Ручное тестирование
{72}
Manual testing
Мало
Да
Автоматизированное тести- рование
{73}
Automated testing
Да
Да
Модульное (компонентное) тестирование
{74}
Unit testing, Module testing,
Component testing
Да
Нет
Интеграционное тестирова- ние
{74}
Integration testing
Да
Да
Системное тестирование
{75}
System testing
Мало
Да
Дымовое тестирование
{76}
Smoke test, Intake test, Build verification test
Мало
Да
Тестирование критического пути
{77}
Critical path test
Мало
Да
Расширенное тестирова- ние
{78}
Extended test
Мало
Да
Позитивное тестирование
{79}
Positive testing
Да
Да
Негативное тестирование
{79}
Negative testing, Invalid testing
Да
Да
Тестирование веб-приложе- ний
{80}
Web-applications testing
Да
Да
Тестирование мобильных приложений
{80}
Mobile applications testing
Да
Да
Тестирование настольных приложений
{80}
Desktop applications testing
Да
Да

Классификация по принадлежности к тестированию по методу белого и чёрного ящиков
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2022
Стр: 108/298
Тестирование уровня пред- ставления
{80}
Presentation tier testing
Мало
Да
Тестирование уровня бизнес- логики
{80}
Business logic tier testing
Да
Да
Тестирование уровня дан- ных
{80}
Data tier testing
Да
Мало
Альфа-тестирование
{81}
Alpha testing
Мало
Да
Бета-тестирование
{81}
Beta testing
Почти никогда
Да
Гамма-тестирование
{81}
Gamma testing
Почти никогда
Да
Тестирование на основе тест- кейсов
{81}
Scripted testing, Test case based testing
Да
Да
Исследовательское тестиро- вание
{82}
Exploratory testing
Нет
Да
Свободное (интуитивное) те- стирование
{82}
Ad hoc testing
Нет
Да
Функциональное тестирова- ние
{82}
Functional testing
Да
Да
Нефункциональное тестиро- вание
{83}
Non-functional testing
Да
Да
Инсталляционное тестирова- ние
{83}
Installation testing
Изредка
Да
Регрессионное тестирова- ние
{84}
Regression testing
Да
Да
Повторное тестирование
{84}
Re-testing, Confirmation testing
Да
Да
Приёмочное тестирование
{84}
Acceptance testing
Крайне редко
Да
Операционное тестирова- ние
{85}
Operational testing
Крайне редко
Да
Тестирование удобства ис- пользования
{85}
Usability testing
Крайне редко
Да
Тестирование доступности
{85}
Accessibility testing
Крайне редко
Да
Тестирование интерфейса
{85}
Interface testing
Да
Да
Тестирование безопасно- сти
{86}
Security testing
Да
Да
Тестирование интернациона- лизации
{86}
Internationalization testing
Мало
Да
Тестирование локализации
{86}
Localization testing
Мало
Да
Тестирование совместимо- сти
{86}
Compatibility testing
Мало
Да
Конфигурационное тестиро- вание
{86}
Configuration testing
Мало
Да
Кросс-браузерное тестирова- ние
{87}
Cross-browser testing
Мало
Да
Тестирование данных и баз данных
{87}
Data quality testing and Data- base integrity testing
Да
Мало
Тестирование использования ресурсов
{87}
Resource utilization testing
Крайне редко
Да
Сравнительное тестирова- ние
{88}
Comparison testing
Нет
Да

Классификация по принадлежности к тестированию по методу белого и чёрного ящиков
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2022
Стр: 109/298
Демонстрационное тестиро- вание
{88}
Qualification testing
Нет
Да
Исчерпывающее тестирова- ние
{88}
Exhaustive testing
Крайне редко
Нет
Тестирование надёжности
{88}
Reliability testing
Крайне редко
Да
Тестирование восстанавли- ваемости
{88}
Recoverability testing
Крайне редко
Да
Тестирование отказоустойчи- вости
{88}
Failover testing
Крайне редко
Да
Тестирование производи- тельности
{88}
Performance testing
Крайне редко
Да
Нагрузочное тестирование
{88}
Load testing, Capacity testing
Крайне редко
Да
Тестирование масштабируе- мости
{89}
Scalability testing
Крайне редко
Да
Объёмное тестирование
{89}
Volume testing
Крайне редко
Да
Стрессовое тестирование
{89}
Stress testing
Крайне редко
Да
Конкурентное тестирова- ние
{89}
Concurrency testing
Крайне редко
Да
Инвазивное тестирование
{90}
Intrusive testing
Да
Да
Неинвазивное тестирова- ние
{90}
Nonintrusive testing
Да
Да
Тестирование под управле- нием данными
{90}
Data-driven testing
Да
Да
Тестирование под управле- нием ключевыми словами
{90}
Keyword-driven testing
Да
Да
Тестирование предугадыва- нием ошибок
{91}
Error guessing
Крайне редко
Да
Эвристическая оценка
{91}
Heuristic evaluation
Нет
Да
Мутационное тестирова- ние
{91}
Mutation testing
Да
Да
Тестирование добавлением ошибок
{91}
Error seeding
Да
Да
Тестирование на основе классов эквивалентности
{91}
Equivalence partitioning
Да
Да
Тестирование на основе гра- ничных условий
{92}
Boundary value analysis
Да
Да
Доменное тестирование
{92}
Domain testing, Domain analy- sis
Да
Да
Попарное тестирование
{92}
Pairwise testing
Да
Да
Тестирование на основе ор- тогональных массивов
{92}
Orthogonal array testing
Да
Да
Тестирование в процессе разработки
{93}
Development testing
Да
Да
Тестирование по потоку управления
{93}
Control flow testing
Да
Нет
Тестирование по потоку дан- ных
{93}
Data flow testing
Да
Нет
Тестирование по диаграмме или таблице состояний
{94}
State transition testing
Изредка
Да

Классификация по принадлежности к тестированию по методу белого и чёрного ящиков
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2022
Стр: 110/298
Инспекция (аудит) кода
{94}
Code review, code inspection
Да
Нет
Тестирование на основе вы- ражений
{94}
Statement testing
Да
Нет
Тестирование на основе вет- вей
{94}
Branch testing
Да
Нет
Тестирование на основе условий
{95}
Condition testing
Да
Нет
Тестирование на основе ком- бинаций условий
{95}
Multiple condition testing
Да
Нет
Тестирование на основе от- дельных условий, порождаю- щих ветвление
{95}
(«решаю- щих условий»)
Modified condition decision coverage testing
Да
Нет
Тестирование на основе ре- шений
{95}
Decision testing
Да
Нет
Тестирование на основе пу- тей
{95}
Path testing
Да
Нет
Тестирование по таблице принятия решений
{96}
Decision table testing
Да
Да
Тестирование по моделям поведения приложения
{96}
Model-based testing
Да
Да
Тестирование на основе ва- риантов использования
{96}
Use case testing
Да
Да
Параллельное тестирова- ние
{97}
Parallel testing
Да
Да
Тестирование на основе слу- чайных данных
{97}
Random testing
Да
Да
A/B- тестирование
{97}
A/B testing, Split testing
Нет
Да
Восходящее тестирование
{98}
Bottom-up testing
Да
Да
Нисходящее тестирование
{98}
Top-down testing
Да
Да
Гибридное тестирование
{98}
Hybrid testing
Да
Да
Тестирование на основе де- рева классификаций
{104}
Classification tree method
Да
Да
Тестирование на основе син- таксиса
{104}
Syntax testing
Да
Да
Комбинаторные техники
{104}
(комбинаторное тестирова- ние)
Combinatorial testing
Да
Да
Тестирование всех комбина- ций
{104}
All combinations testing
Да
Нет
Тестирование с выбором зна- чений-представителей
{104}
Each choice testing
Да
Нет
Тестирование с выбором ба- зового набора значений
{104}
Base choice testing
Да
Нет
Тестирование по графу при- чинно-следственных свя- зей
{104}
Cause-effect graphing
Мало
Да
Проверка использования всех объявлений
{105}
All-definitions testing
Да
Нет

Классификация по принадлежности к тестированию по методу белого и чёрного ящиков
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2022
Стр: 111/298
Проверка всех вычислений на основе всех объявле- ний
{105}
All-c-uses testing
Да
Нет
Проверка всех ветвлений на основе всех объявлений
{105}
All-p-uses testing
Да
Нет
Проверка всех вычислений и ветвлений на основе всех объявлений
{105}
All-uses testing
Да
Нет
Проверка использования всех объявлений и всех пу- тей без переобъявлений
{105}
(без циклов или с однократ- ными повторениями циклов)
All-du-paths testing
Да
Нет

Чек-листы, тест-кейсы, наборы тест-кейсов
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2022
Стр: 112/298
1   ...   12   13   14   15   16   17   18   19   ...   38


написать администратору сайта