Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МКР 2 измен.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
415.74 Кб
Скачать
  1. Основи тестування.

• Тестування - діяльність, що здійснюється для оцінки якості продукції, так і для його покращення, шляхом виявлення дефектів і проблем.

• Тестування складається з динамічної верифікації поведінки програм за обмеженим набором тест-кейсів, відповідним чином вибраних із нескінченної предметної області (галузі) для очікуваної поведінки.

• Динамічний: Цей термін означає, що тестування завжди передбачає виконання програми на вході. Термін "вхідні дані" буде підтримуватися за звичаями, мається на увазі що його значення також включає в себе певний стан входу, в тих випадках, коли це необхідно.

• Кінцевий: Навіть в простих програм, так багато тест-кейсів теоретично можливих, що виснажливе тестування може займати декілька місяців або років для виконання.

• Вибір: багато запропоновані методи тестування істотно відрізняються в тому, як вони обирають набір тестів, а також програмні інженери повинні знати, що різні критерії відбору можуть дати зовсім різні ступені ефективності. Як визначити найбільш відповідний критерій відбору.

• Очікування: Це повинно бути можливим, хоча і не завжди легко, щоб вирішити, чи є спостережені результати виконання програми бажаними чи ні, в іншому випадку зусилля витрачені на тестування будуть марними. Спостережена поведінка може бути перевірена на очікування користувачів (часто називають тестування для перевірки (валідації)), на специфікацію (тестування для перевірки), або, нарешті, на очікувану поведінки при внесенні неявних вимог або розумних очікувань.

• Ключові моменти:

• Вид тестування програмного забезпечення розвивається в більш конструктивному напрямку.

• Тестування більше не розглядається як діяльність, яка починається тільки після завершення фази кодування для виявлення збоїв.

• Тестування програмного забезпечення в даний час розглядається як діяльність, яка повинна охоплювати весь розвиток і підтримку процесу, і сама по собі є важливою частиною фактичного конструювання продукту.

  1. Техніки, що базуються на аналізі коду.

Техники, ориентированные на код (Code-based techniques)

3.3.1 Тесты, базирующиеся на блок-схеме (Control-flow-based criteria) Набор тестов строится исходя из покрытия всех условий и решений блок-схемы. В какой-то степени напоминает тесты на основе конечного автомата. Отличие – в источнике набора тестов.

Максимальная отдача от тестов на основе блок-схемы получается когда тесты покрывают различные пути блок-схемы – по-сути, сценарии потоков работ (поведения) тестируемой системы. Адекватность таких тестов оценивается как процент покрытия всех возможных путей блок-схемы.

3.3.2 Тесты на основе потоков данных (Data-flow-based criteria) В данных тестах отслеживается полный жизненный цикл величин (переменных) – с момента рождения (определения), на всем протяжении использования, вплоть до уничтожения (неопределенности). В реальной практике используются нестрогое тестирование такого вида, ориентированное, например, только на проверку задания начальных значений всех переменных или всех вхождений переменных в код, с точки зрения их использования.

3.3.3 Ссылочные модели для тестирования, ориентированного на код (Reference models for code-based testing – flowgraph, call graph) Является не столько техникой тестирования, сколько контролем структуры программы, представленной в виде дерева вызовов (например, sequence-диаграммы, определенной в нотации UML и построенной на основе анализа кода).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]