Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Принципи тестування. 
Тестування програмного забезпечення

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Мета тестування протилежна цілям інших етапів розробки. Його метою є знаходження помилок. Успішним вважається тест, що порушує роботу ПЗ. Всі інші етапи розробки спрямовані на запобігання помилок та недопущення порушення роботи програми. Тестування програмний забезпечення інформаційний Тестування не може показати відсутність дефектів (воно може показувати тільки присутність дефектів). Важливо… Читати ще >

Принципи тестування. Тестування програмного забезпечення (реферат, курсова, диплом, контрольна)

тестування програмний забезпечення інформаційний Тестування не може показати відсутність дефектів (воно може показувати тільки присутність дефектів). Важливо пам’ятати це твердження при проведенні тестування.

Тестування забезпечує:

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

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

Види тестування:

Блокове тестування — це тестування повного класу, методу або невеликої програми, написаної одним програмістом або групою, що виконується окремо від інших частин системи.

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

Інтеграційне тестування — це спільне виконання двох або більше класів, пакетів, компонентів або підсистем, створених кількома програмістами або групами.

Регресивне тестування — це повторне виконання тестів, спрямоване на виявлення дефектів у програмі, що вже пройшла цей набір тестів.

Тестування системи — це виконання ПЗ в його остаточній конфігурації, інтегрованої з іншими програмними та апаратними системами [20, c. 48].

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

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

Кожен тест визначає:

  • — свій набір вихідних даних і умов для запуску програми;
  • — набір очікуваних результатів роботи програми.

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

Хорошим вважають тестовий варіант з високою ймовірністю виявлення ще не розкритої помилки. Успішним називають тест, який виявляє до цих пір не розкриту помилку.

Метою проектування тестових варіантів є систематичне виявлення різних класів помилок при мінімальних витратах часу і вартості.

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

  • 1) Мета тестування протилежна цілям інших етапів розробки. Його метою є знаходження помилок. Успішним вважається тест, що порушує роботу ПЗ. Всі інші етапи розробки спрямовані на запобігання помилок та недопущення порушення роботи програми.
  • 2) Тестування ніколи не доводить відсутність помилок. Відсутність помилок може вказувати як на бездоганність програми, так і на неефективність або неповноту тестів.
  • 3) Тестування не підвищує якості ПЗ — воно вказує на якість програми, але не впливає на нього.

Основні принципи тестування:

Принцип 1. Тестування виявляє присутність дефектів.

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

Принцип 2. Вичерпне тестування неможливе.

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

Принцип 3. Раннє тестування.

Тестування розпочинається так швидко як це можливо і фокусується на визначенні цілей.

Принцип 4. Групування дефектів.

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

Принцип 5. Парадокс пестицидів.

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

Принцип 6. Тестування залежить від контексту.

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

Принцип 7. Відсутність дефектів оманлива.

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

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

Тестування забезпечує:

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

Тестування не може показати відсутність дефектів (воно може показувати тільки присутність дефектів). Важливо пам’ятати це твердження при проведенні тестування.

Процес тестування об'єднує різні способи тестування в сплановану послідовність кроків:

  • — тестування елементів (викор-ться «white-box»);
  • — тестування інтеграції (в основному «black-box»);
  • — тестування правильності (тільки «black-box»);
  • — системне тестування.

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

Показати весь текст
Заповнити форму поточною роботою