Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТППС / ТППС-лаб-2012-укр.docx
Скачиваний:
36
Добавлен:
05.06.2015
Размер:
1.11 Mб
Скачать

Триггерный відкат

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

Внаслідок наведених вище причин СУБД може забезпечити можливості програмування тригера для відкату або всієї транзакції, або тільки тригера. В останньому випадку програма (можливо, збережена процедура) може проаналізувати проблему і приймають рішення щодо подальших дій. Навіть якщо необхідно поступово згорнути всю транзакцію, програма буде мати можливості більш ретельної інтерпретації причини помилки і відображення більш осмисленого повідомлення для користувача.

Тестування баз даних

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

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

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

  • Перевірити, чи виконується транзакція належним чином при правильних вхідних даних. Чи коректний зворотний зв'язок системи з GUI-інтерфейсом? Чи коректний вміст бази даних після транзакції?

  • Перевірити, чи виконується транзакція належним чином при неправильних вхідних даних. Чи коректний зворотний зв'язок системи з GUI-інтерфейсом? Чи коректний вміст бази даних після транзакції?

  • Перервати транзакцію до її завершення. Чи коректний зворотний зв'язок системи з GUI-інтерфейсом? Чи коректний вміст бази даних після транзакції?

  • Запустити ту саму транзакцію паралельно в багатьох процесах. Свідомо змусити одну з транзакцій заблокувати ресурс, необхідний іншим транзакціям. Чи одержують користувачі зрозуміле пояснення ситуації? Чи коректний вміст бази даних після транзакцій?

  • Витягти кожний з клієнтських SQL-операторів з клієнтської програми і виконати їх над базою даних в інтерактивному режимі. Чи збігаються отримані результати з очікуваними, а також чи відповідають вони результатам при виконанні SQL-операторів у складі програми?

  • Виконати інтерактивне тестування кожного більш складного SQL-запиту (видаваного з клієнтської програми або збереженої процедури) по методу прозорого ящика, включаючи зовнішні з'єднання, об'єднання, підзапити, значення типу null, функції агрегації і т.д.

Соседние файлы в папке ТППС