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

,ПЛАН

  1. ВСТУП.

  1. ЗАГАЛЬНІ ПОНЯТТЯ.

  2. ОСНОВНІ ВИЗНАЧЕННЯ.

  1. ТЕСТУВАННЯ ПРОГРАМНИХ ПРОДУКТІВ.

  1. ФІЛОСОФІЯ ТЕСТУВАННЯ.

  2. ІНТЕГРАЦІЯ МОДУЛІВ.

  3. ВИСХІДНЕ ТЕСТУВАННЯ.

  4. НИЗХІДНЕ ТЕСТУВАННЯ.

  5. МОДИФІКОВАНИЙ НИЗХІДНИЙ МЕТОД.

  6. МЕТОД ВЕЛИКОГО СТРИБКА.

  7. МЕТОД САНДВІЧА.

  8. МОДИФІКОВАНИЙ МЕТОД САНДВІЧА.

  9. ПОРІВНЯЛЬНА ХАРАКТЕРИСТИКА МЕТОДІВ ТЕСТУВАННЯ.

  1. ВИПРОБУВАННЯ ПРОГРАМНИХ ПРОДУКТІВ (АНАЛІЗ).

  1. МЕТА І ОСОБЛИВОСТІ ВИПРОБУВАННІ.

  2. ТЕХНОЛОГІЧНА СХЕМА ВИПРОБУВАННЯ.

  3. ПЛАНЕРУВАННЯ І ОЦІНКА ЗАВЕРШЕНОСТІ ВИПРОБУВАНЬ.

  4. СТЕНДИ ВІДЛАДКИ І ВИПРОБУВАННЯ ПРОГРАМ.

  1. СЕРТИФІКАЦІЯ ПРОГРАМНИХ ПРОДУКТІВ.

  1. СТАНДАРТИЗАЦІЯ СИСТЕМ ЯКОСТІ.

  2. КЛАСИФІКАЦІЯ ПОКАЗНИКІВ ЯКОСТІ.

  3. ВИБІР НОМЕНКЛАТУРИ ПОКАЗНИКІВ ЯКОСТІ

  4. ГРУПИ ПОКАЗНИКІВ ЯКОСТІ

I. Вступ.

  1. Загальні поняття.

Багато організацій, що займаються створенням програмного забезпечення, до 50% засобів, виділених на розробку програм, витрачають на тестування, що складає мільярди доларів по всьому світу в цілому. Та все ж, не дивлячись на величезні капиталовло­жения, знань про суть тестування явно не вистачає і більшість програмних продуктів неприйнятна ненадійно навіть після «ос­новательного тестування».

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

«Тестування — процес, підтверджуючий правильність програм­мы і демонструє, що помилок в програмі немає.» Основний недолік подібного визначення полягає в тому, що воно неправильне; фактично це майже визначення анто­нима слова «тестування». Читач з деяким досвідом програм­мирования вже, ймовірно, розуміє, що неможливо продемонст­рувать відсутність помилок в програмі. Тому визначення описує нездійсненне завдання, а оскільки тестування частенько все ж виконується з успіхом, принаймні з деяким успіхом, то таке визначення логічно некоректно. Правильне визначення тестування таке: Тестування — процес виконання програми з наміром знайти помилки.

Неможливо гарантувати відсутність помилок в нетривіальній програмі; в кращому разі можна спробувати показати наявність помилок. Якщо програма правильно поводиться для солідного набору тестів, немає підставі стверджувати, що в ній немає помилок; з усією певністю можна лише стверджувати, що не відомо, коли ця програма не працює. Звичайно, якщо є причини вважати даний набір тестів здатним з великою вірогідністю виявити всі можливі помилки, то можна говорити про деякий рівень упевненості в правильності програми, встановлюваному цими тестами.

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

Якщо ваша мета — показати відсутність помилок, ви їх знайдете не надто багато. Якщо ж ваша мета — показати наявність помилок, ви знайдете значну їх частину.

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

Тестування виявляється досить незвичайним процесом (ось чому воно і вважається важким), оскільки цей процес руйнівний. Адже мета перевіряючого (тестувальника) — змусити програму збитися. Він задоволений, якщо це йому удається; якщо ж програма на його тесті не збивається, він не задоволений.

Ще одна причина, по якій важко говорити про тестування, — це той факт, що про нього відоме дуже мало що. Якщо сьогодні ми розташовуємо 5% тих знанні про проектування і власне програмування (кодуванні), які будуть у нас до 2000 р., то про тестування нам відомо менше 1%.