Главная страница
Навигация по странице:

  • State Transition Testing.

  • Тестирование на основе условий

  • Тестирование на основе комбинаций условий

  • Тестирование на основе отдельных условий, порождающих ветв- ление («решающих условий»)

  • Тестирование на основе решений

  • Тестирование на основе путей

  • Multiple Condition Testing.

  • Русскоязычное название Англоязычное название Суть (что проверяется)

  • Тестирование по таблице принятия решений

  • Тестирование по диаграмме или таблице состояний

  • Тестирование по моделям поведения приложения

  • Тестирование на основе вариантов использования (

  • Параллельное тестирование

  • Тестирование на основе случайных данных

  • 2.3.2.14. Классификация по моменту выполнения (хронологии)

  • Hybrid testing, Sandwich testing.

  • Тестирование приложений. Обеспечения Базовый курс (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
    страница15 из 38
    1   ...   11   12   13   14   15   16   17   18   ...   38
    Тестирование на основе ветвей (branch testing
    248
    )
    — техника тести- рования (по методу белого ящика), в которой проверяется выполнение отдельных ветвей кода (под ветвью понимается атомарная часть кода, выполнение которой происходит или не происходит в зависимости от истинности или ложности некоторого условия).
    241
    State Transition Testing. A black box test design technique in which test cases are designed to execute valid and invalid state transitions. [ISTQB Glossary]
    242
    State Diagram. A diagram that depicts the states that a component or system can assume, and shows the events or circumstances that cause and/or result from a change from one state to another. [ISTQB Glossary]
    243
    State Table. A grid showing the resulting transitions for each state combined with each possible event, showing both valid and invalid transitions. [ISTQB Glossary]
    244
    «What is State transition testing in software testing?» [
    http://istqbexamcertification.com/what-is-state-transition-testing-in-soft- ware-testing/
    ]
    245
    Finite State Machine. A computational model consisting of a finite number of states and transitions between those states, possibly with accompanying actions. [ISTQB Glossary]
    246
    Inspection. A type of peer review that relies on visual examination of documents to detect defects, e.g. violations of development standards and non-conformance to higher level documentation. The most formal review technique and therefore always based on a documented procedure. [ISTQB Glossary]
    247
    Statement Testing. A white box test design technique in which test cases are designed to execute statements (statement is an entity in a programming language, which is typically the smallest indivisible unit of execution). [ISTQB Glossary]
    248
    Branch Testing. A white box test design technique in which test cases are designed to execute branches (branch is a basic block that can be selected for execution based on a program construct in which one of two or more alternative program paths is available, e.g. case, jump, go to, if-then-else.). [ISTQB Glossary]

    Подробная классификация тестирования
    Тестирование программного обеспечения. Базовый курс.
    © EPAM Systems, 2015–2022
    Стр: 95/298 o
    Тестирование на основе условий (condition testing
    249
    )
    — техника те- стирования (по методу белого ящика), в которой проверяется выпол- нение отдельных условий (условием считается выражение, которое может быть вычислено до значения «истина» или «ложь»). o
    Тестирование на основе комбинаций условий (multiple condition testing
    250
    )
    — техника тестирования (по методу белого ящика), в которой проверяется выполнение сложных (составных) условий. o
    Тестирование на основе отдельных условий, порождающих ветв-
    ление («решающих условий») (modified condition decision coverage testing
    251
    )
    — техника тестирования (по методу белого ящика), в которой проверяется выполнение таких отдельных условий в составе сложных условий, которые в одиночку определяют результат вычисления всего сложного условия. o
    Тестирование на основе решений (decision testing
    252
    )
    — техника те- стирования (по методу белого ящика), в которой проверяется выпол- нение сложных ветвлений (с двумя и более возможными вариантами).
    Несмотря на то что «два варианта» сюда также подходит, формально такую ситуацию стоит отнести к тестированию на основе условий. o
    Тестирование на основе путей (path testing
    253
    )
    — техника тестирова- ния (по методу белого ящика), в которой проверяется выполнение всех или некоторых специально выбранных путей в коде приложения.
    Если говорить строго научно, то определения большинства видов тестирования на основе структур кода должны звучать чуть-чуть иначе, т.к. в программировании условием считается выражение без логических операторов, а решением — выражение с логиче- скими операторами. Но глоссарий ISTQB не делает на этом ак- цента, а потому приведённые выше определения можно считать корректными. Однако, если вам интересно, рекомендуется озна- комиться с заметкой «What is the difference between a Decision and a Condition?
    »
    254
    Кратко вся суть видов тестирования на основе структур кода показана в таблице 2.3.c.
    249
    Condition Testing. A white box test design technique in which test cases are designed to execute condition outcomes (condition is a logical expression that can be evaluated as True or False, e.g. A > B). [ISTQB Glossary]
    250
    Multiple Condition Testing. A white box test design technique in which test cases are designed to execute combinations of single condition outcomes (within one statement). [ISTQB Glossary]
    251
    Modified Condition Decision Coverage Testing. Technique to design test cases to execute branch condition outcomes that independently affect a decision outcome and discard conditions that do not affect the final outcome. [
    «Guide to Advanced Soft- ware Testing, Second Edition
    », Anne Mette Hass].
    252
    Decision Testing. A white box test design technique in which test cases are designed to execute decision outcomes (decision is program point at which the control flow has two or more alternative routes, e.g. a node with two or more links to separate branches). [ISTQB Glossary]
    253
    Path testing. A white box test design technique in which test cases are designed to execute paths. [ISTQB Glossary]
    254
    «What is the difference between a Decision and a Condition?» [
    http://www-01.ibm.com/support/docview.wss?uid=swg21129252
    ]

    Подробная классификация тестирования
    Тестирование программного обеспечения. Базовый курс.
    © EPAM Systems, 2015–2022
    Стр: 96/298
    Таблица 2.3.c — Виды тестирования на основе структур кода
    Русскоязычное
    название
    Англоязычное
    название
    Суть (что проверяется)
    Тестирование на ос- нове выражений
    Statement testing
    Отдельные атомарные участки кода, например x = 10
    Тестирование на ос- нове ветвей
    Branch testing
    Проход по ветвям выполнения кода.
    Тестирование на ос- нове условий
    Condition testing,
    Branch Condition Test- ing
    Отдельные условные конструкции, например if (a == b)
    Тестирование на ос- нове комбинаций условий
    Multiple condition test- ing,
    Branch Condition
    Combination Testing
    Составные условные конструкции, например if ((a == b) || (c == d))
    Тестирование на ос- нове отдельных усло- вий, порождающих ветвление («решаю- щих условий»)
    Modified Condition De- cision Coverage Test- ing
    Отдельные условия, в одиночку влияю- щие на итог вычисления составного условия, например в условии if ((x == y)
    && (n == m)) ложное значение в каждом из отдельных условий само по себе при- водит к результату false вне зависимости от результата вычисления второго усло- вия
    Тестирование на ос- нове решений
    Decision testing
    Сложные ветвления, например оператор switch
    Тестирование на ос- нове путей
    Path testing
    Все или специально выбранные пути
    • Тестирование на основе (моделей) поведения приложения (application behav- ior/model-based testing): o
    Тестирование по таблице принятия решений (decision table test- ing
    255
    )
    — техника тестирования (по методу чёрного ящика), в которой тест-кейсы разрабатываются на основе т.н. таблицы принятия реше- ний, в которой отражены входные данные (и их комбинации) и воздей- ствия на приложение, а также соответствующие им выходные данные и реакции приложения. o
    Тестирование по диаграмме или таблице состояний (рассмотрено ранее
    {94}
    ). o
    Тестирование по спецификациям (specification-based testing, black box testing) (
    рассмотрено ранее
    {71}
    ). o
    Тестирование по моделям поведения приложения (model-based testing
    256
    )
    — техника тестирования, в которой исследование приложе- ния (и разработка тест-кейсов) строится на некой модели: таблице принятия решений
    {96}
    , таблице или диаграмме состояний
    {94}
    , пользова- тельских сценариев
    {143}
    , модели нагрузки
    {88}
    и т.д. o
    Тестирование на основе вариантов использования (use case test- ing
    257
    )
    — техника тестирования (по методу чёрного ящика), в которой тест-кейсы разрабатываются на основе вариантов использования. Ва- рианты использования выступают в основном источником информа- ции для шагов тест-кейса, в то время как наборы входных данных
    255
    Decision Table Testing. A black box test design technique in which test cases are designed to execute the combinations of inputs and/or stimuli (causes) shown in a decision table (a table showing combinations of inputs and/or stimuli (causes) with their associated outputs and/or actions (effects), which can be used to design test cases). [ISTQB Glossary]
    256
    Model-based Testing. Testing based on a model of the component or system under test, e.g., reliability growth models, usage models such as operational profiles or behavioral models such as decision table or state transition diagram. [ISTQB Glossary]
    257
    Use case testing. A black box test design technique in which test cases are designed to execute scenarios of use cases. [ISTQB
    Glossary]

    Подробная классификация тестирования
    Тестирование программного обеспечения. Базовый курс.
    © EPAM Systems, 2015–2022
    Стр: 97/298 удобно разрабатывать с помощью техник выбора входных данных
    {91}
    В общем случае источником информации для разработки тест-кейсов в этой технике могут выступать не только варианты использования, но и другие пользовательские требования
    {37}
    в любом их виде. В случае если методология разработки проекта подразумевает использование пользовательских историй, этот вид тестирования может быть заме- нён тестированием на основе пользовательских историй (user story testing
    258
    ). o
    Параллельное тестирование (parallel testing
    259
    )
    — техника тестирова- ния, в которой поведение нового (или модифицированного) приложе- ния сравнивается с поведением эталонного приложения (предположи- тельно работающего верно). Термин «параллельное тестирование» также может использоваться для обозначения способа проведения те- стирования, когда несколько тестировщиков или систем автоматиза- ции выполняют работу одновременно, т.е. параллельно. Очень редко
    (и не совсем верно) под параллельным тестированием понимают му- тационное тестирование
    {91}
    o
    Тестирование на основе случайных данных (random testing
    260
    )
    — техника тестирования (по методу чёрного ящика), в которой входные данные, действия или даже сами тест-кейсы выбираются на основе
    (псевдо)случайных значений так, чтобы соответствовать операцион- ному профилю (operational profile
    261
    )
    — подмножеству действий, соот- ветствующих некоей ситуации или сценарию работы с приложением.
    Не стоит путать этот вид тестирования с т.н. «обезьяньим тестирова- нием» (monkey testing
    262
    ). o A/B-
    тестирование (A/B testing, split testing
    263
    )
    — техника тестирования, в которой исследуется влияние на результат выполнения операции из- менения одного из входных параметров. Однако куда чаще можно встретить трактовку A/B-тестирования как технику тестирования удоб- ства использования
    {85}
    , в которой пользователям случайным образом предлагаются разные варианты элементов интерфейса, после чего оценивается разница в реакции пользователей.
    Крайне подробное описание некоторых видов тестирования, отно- сящихся к данной классификации, можно найти в книге Ли Ко- упленда «Практическое руководство по разработке тестов» (Lee
    Copeland
    , «A Practitioner's Guide to Software Test Design»):
    • Тестирование по таблице принятия решений — в главе 5.
    • Тестирование по диаграмме или таблице состояний — в главе 7.
    • Тестирование на основе вариантов использования — в главе 9.
    258
    User story testing. A black box test design technique in which test cases are designed based on user stories to verify their correct implementation. [ISTQB Glossary]
    259
    Parallel testing. Testing a new or an altered data processing system with the same source data that is used in another system.
    The other system is considered as the standard of comparison. [ISPE Glossary]
    260
    Random testing. A black box test design technique where test cases are selected, possibly using a pseudo-random generation algorithm, to match an operational profile. This technique can be used for testing non-functional attributes such as reliability and performance. [ISTQB Glossary]
    261
    Operational profile. The representation of a distinct set of tasks performed by the component or system, possibly based on user behavior when interacting with the component or system, and their probabilities of occurrence. A task is logical rather that physical and can be executed over several machines or be executed in non-contiguous time segments. [ISTQB Glossary]
    262
    Monkey testing. Testing by means of a random selection from a large range of inputs and by randomly pushing buttons, ignorant of how the product is being used. [ISTQB Glossary]
    263
    Split testing is a design for establishing a causal relationship between changes and their influence on user-observable behavior.
    [«Controlled experiments on the web: survey and practical guide», Ron Kohavi]

    Подробная классификация тестирования
    Тестирование программного обеспечения. Базовый курс.
    © EPAM Systems, 2015–2022
    Стр: 98/298
    2.3.2.14.
    Классификация по моменту выполнения (хронологии)
    Несмотря на многочисленные попытки создать единую хронологию тестиро- вания, предпринятые многими авторами, по-прежнему можно смело утверждать, что общепринятого решения, которое в равной степени подходило бы для любой методологии управления проектами, любого отдельного проекта и любой его ста- дии, просто не существует.
    Если попытаться описать хронологию тестирования одной общей фразой, то можно сказать, что происходит постепенное наращивание сложности самих тест- кейсов и сложности логики их выбора.
    • Общая универсальная логика последовательности тестирования состоит в том, чтобы начинать исследование каждой задачи с простых позитивных тест-кейсов, к которым постепенно добавлять негативные (но тоже доста- точно простые). Лишь после того, как наиболее типичные ситуации покрыты простыми тест-кейсами, следует переходить к более сложным (опять же, начиная с позитивных). Такой подход — не догма, но к нему стоит прислу- шаться, т.к. углубление на начальных этапах в негативные (к тому же — сложные) тест-кейсы может привести к ситуации, в которой приложение от- лично справляется с кучей неприятностей, но не работает на элементарных повседневных задачах. Ещё раз суть универсальной последовательности:
    1) простое позитивное тестирование;
    2) простое негативное тестирование;
    3) сложное позитивное тестирование;
    4) сложное негативное тестирование.
    • Последовательность тестирования, построенная по иерархии компонентов: o
    Восходящее тестирование (bottom-up testing
    264
    )
    — инкрементальный подход к интеграционному тестированию
    {74}
    , в котором в первую оче- редь тестируются низкоуровневые компоненты, после чего процесс пе- реходит на всё более и более высокоуровневые компоненты. o
    Нисходящее тестирование (top-down testing
    265
    )
    — инкрементальный подход к интеграционному тестированию
    {74}
    , в котором в первую оче- редь тестируются высокоуровневые компоненты, после чего процесс переходит на всё более и более низкоуровневые компоненты. o
    Гибридное тестирование (hybrid testing
    266
    )
    комбинация восходя- щего и нисходящего тестирования, позволяющая упростить и ускорить получение результатов оценки приложения.
    Поскольку термин «гибридное» является синонимом «комби- нированное», под «гибридным тестированием» может пони- маться практически любое сочетание двух и более видов, тех- ник или подходов к тестированию. Всегда уточняйте, о гибриде чего именно идёт речь.
    264
    Bottom-up testing. An incremental approach to integration testing where the lowest level components are tested first, and then used to facilitate the testing of higher level components. This process is repeated until the component at the top of the hierarchy is tested. [ISTQB Glossary]
    265
    Top-down testing. An incremental approach to integration testing where the component at the top of the component hierarchy is tested first, with lower level components being simulated by stubs. Tested components are then used to test lower level compo- nents. The process is repeated until the lowest level components have been tested. [ISTQB Glossary]
    266
    Hybrid testing, Sandwich testing. First, the inputs for functions are integrated in the bottom-up pattern discussed above. The outputs for each function are then integrated in the top-down manner. The primary advantage of this approach is the degree of support for early release of limited functionality. [«Integration testing techniques», Kratika Parmar]

    Подробная классификация тестирования
    Тестирование программного обеспечения. Базовый курс.
    © EPAM Systems, 2015–2022
    Стр: 99/298
    • Последовательность тестирования, построенная по концентрации внимания на требованиях и их составляющих:
    1)
    Тестирование требований, которое может варьироваться от беглой оценки в стиле «всё ли нам понятно» до весьма формальных под- ходов, в любом случае первично по отношению к тестированию того, как эти требования реализованы.
    2)
    Тестирование реализации функциональных составляющих требо- ваний логично проводить до тестирования реализации нефункцио- нальных составляющих, т.к. если что-то просто не работает, то про- верять производительность, безопасность, удобство и прочие не- функциональные составляющие бессмысленно, а чаще всего и во- все невозможно.
    3)
    Тестирование реализации нефункциональных составляющих тре- бований часто становится логическим завершением проверки того, как реализовано то или иное требование.
    • Типичные общие сценарии используются в том случае, когда не существует явных предпосылок к реализации иной стратегии. Такие сценарии могут ви- доизменяться и комбинироваться (например, весь «типичный общий сцена- рий 1» можно повторять на всех шагах «типичного общего сценария 2»). o
    Типичный общий сценарий 1:
    1)
    Дымовое тестирование
    {76}
    2)
    Тестирование критического пути
    {77}
    3)
    Расширенное тестирование
    {78}
    o
    Типичный общий сценарий 2:
    1)
    Модульное тестирование
    {74}
    2)
    Интеграционное тестирование
    {74}
    3)
    Системное тестирование
    {75}
    o
    Типичный общий сценарий 3:
    1)
    Альфа-тестирование
    {81}
    2)
    Бета-тестирование
    {81}
    3)
    Гамма-тестирование
    {81}
    В завершение ещё раз подчеркнём, что рассмотренные здесь классифика- ции тестирования не являются чем-то каноническим и незыблемым. Они лишь при- званы упорядочить огромный объём информации о различных видах деятельности тестировщиков и упростить запоминание соответствующих фактов.

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


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