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

Тестування методом сандвіча є компромісом між висхідним і низхідним підходами. Тут робиться по­пытка скористатися достоїнствами обох методів, уникнувши їх недоліків.

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

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

Метод сандвіча зберігає таку гідність низхідного і висхідного підходів, як початок інтеграції системи на найранішому етапі. Оскільки вершина програми вступає в буд ра­но, ми, як в низхідному методі, вже на ранньому етапі отримуємо працюючий каркас програми. Оскільки нижні рівні програм­мы створюються висхідним методом, знімаються ті проблеми нисхо­дящего методу, які були пов'язані з неможливістю тестиро­вать деякі умови в глибині програми.

  1. Модифікований метод сандвіча.

При тестуванні методом сандвіча виникає та ж проблема, що і при низхідному підході, хоча тут вона стоїть не так гостро. Проблема ця в тому, що неможливо досконально тестувати окремі модулі. Висхідний етап тестування по методу санд­вича вирішує цю проблему для модулів нижніх рівнів, але вона може як і раніше залишатися відкритій для нижньої половини верхній частині програми. У модифікованому методі сандвіча нижні рівні також тестуються строго від низу до верху. А модулі верхніх рівнів спочатку тестуються ізольовано, а потім соби­раются низхідним методом. Таким чином, модифікований ме­тод сандвіча також є компромісом між восходя­щим і низхідним підходами.

  1. Порівняльна характеристика методів тестування.

З точки зору надійності програмного забезпечення ці стратегії можна оцінити по восьми критеріях, як показано на мал. 10.7. Перший критерій — час до моменту сбор­ки модулів, оскільки це поважно для виявлення помилок в сопря­жениях і припущеннях модулів про властивості один одного. Другий критерій — час до моменту створення перших працюючих «ске­летных» версій програми, оскільки тут можуть виявитися глав­ные дефекти проектування. Третій і четвертий критерії касают­ся питання про те, чи необхідні заглушки, драйвери і інші ин­струменты тестування. П'ятий критерий—мера паралелізму, який можливий на початку або на ранніх стадіях тестування. Це цікаве питання, оскільки необхідність в ресурсах (тобто програмістах) зазвичай досягає піку на етапах проектування і програмування модулів.

Висхідний

Низхідний

Модіфіци­рованний низхідний

Метод великого стрибка

Метод сандвіча

Модіфіци­рованний метод сандвіча

Збірка

Рано

Рано

Рано

Пізно

Рано

Рано

Час до появи працюючого варіанту програми

Пізно

Рано

Рано

Пізно

Рано

Рано

Чи потрібні драйвери (нові програми або готові инстру­менты) ?

Так

Немає

Так

Так

Частково

Так

Чи потрібні заглушки

Немає

Так

Так

Так

Частково

Частково

Паралелізм на початку роботи

Середній

Слабкий

Середній

Високий

Середній

Високий

Можливість тестиро­вать окремі дороги

Легко

Важко

Легко

Важко

Середньо

Легко

Можливість планиро­вать і контролювати послідовність

Легко

Важко

Важко

Легко

Важко

Важко

Мал. 10.7. Кількісна оцінка підхід до збірки.

Тому поважно, аби можливість паралельного тестування з'явилася ближче до початку, а не кінця циклу тестування.

Шостий критерій пов'язаний з відповіддю на питання, що обговорювалося раніше: чи можливо перевірити будь-яку конкретну дорогу і будь-яку умову в програмі? Сьомий критерій характеризує складність планерування, нагляду і управління в процесі тестування. Це пов'язано з усвідомленням того факту, що тестування, яким важко управляти, часто веде до недогляду і упущень. Час від часу роздаються заперечення проти низхідного підходу у зв'язку з тим, що тестування нижніх модулів вимагає багатократних зайвих прогонів головних модулів. Проте цей критерій відмічений як не­существенный. Хоча зайві прогони дійсно бувають необ­ходимы, можливо також, що у багатьох випадках, які здаються зайвими, насправді відтворюються декілька різні усло­вия. Ці прогони можуть розкрити нові помилки, перетворюючи таким чином недолік на гідність. Оскільки цей ефект недоста­точно усвідомлений, ми їм нехтуємо.

Тепер оцінимо наші шість підходів за допомогою перерахованих восьми критеріїв. Як вже говорилося, така оцінка залежить від конкретного проекту. Як вихідне наближення для вы­полнения ваших власних оцінок приведений варіант дуже грубої оцінки. Перш за все слід зважити відносний вплив каж­дого з восьми критеріїв на надійність програмного забезпечення. Рання збірка і раннє здобуття працюючого каркаса програм­мы, а також можливість тестувати будь-які конкретні умови представляються найбільш важливими, тому їм дається коефіцієнт 3. Складність підготовки заглушок, а також складність планирова­ния і управління послідовністю тестів також важливі, поэто­му вони отримують вагу 2. Третій критерій, необхідність драйверів, вага 1 зважаючи на доступність загальних інструментів тестування. Критерій, пов'язаний з паралелізмом роботи, також має вагу 1, тому що, хоча він, можливо, і важливий по інших причинах, на надійність сильно не впливає. Восьмий критерій отримує коэффи­циент нуль.

На мал. 10.8 показані результати цієї оцінки. У кожній графі таблиці вага береться із знаком плюс або мінус або не враховується, залежно від того, сприятливо, несприятливо або безраз­лично виявляється відповідний чинник при даному підході. Модифікований метод сандвіча і висхідний ме­тод виявляються найкращими підходами, а метод великого скачка— найгіршим. Якщо спосіб оцінки виявляється близьким до вашої кон­кретной ситуації, слід рекомендувати модифікований метод сандвіча для тестування великих систем або програм і восхо­дящий підхід для тестування програм малих і середніх.

Вага

Висхідний

Низхідний

Модіфіци­рованний низхідний

Метод великого стрибка

Метод сандвіча

Модіфіци­рованний метод сандвіча

3

Збірка

Рано +

Рано +

Рано +

Пізно -

Рано +

Рано +

3

Час до появи працюючого варіанту програми

Пізно -

Рано +

Рано +

Пізно -

Рано +

Рано +

1

Чи потрібні драйвера (нові програми u/uли готові инстру­менты) ?

Так -

Немає +

Д а -

Так -

Частково

Так -

2

Потрібні заглушки?

Немає +

Так -

Так -

Так -

Частково

Частково

1

Паралелізм на початку роботи

Середній

Слабий-

Середній

Високий+

Середній

Високий +

3

Можливість тестувати окремі дороги

Легко +

Важко -

Лягло +

Легко +

Середньо

Легко +

2

Можливість планиро­вать і контролювати послідовність

Легко +

Важко -

Важко -

Легко +

Важко -

Важко -

0

Неефективність

Всього

+6

-1

+4

-3

+4

+7

Мал. 10.8. Зважена оцінка підходів до збірки.