родуктивності праці розробників.
1.4 Тестування програмних засобів
Історія розвитку тестування програмного забезпечення.
Перші програмні системи розроблялися в рамках програм наукових досліджень або програм для потреб міністерств оборони. Тестування таких продуктів проводилося строго формалізовано із записом всіх тестових процедур, тестових даних, отриманих результатів. Тестування виділялося в окремий процес, який починався після завершення кодування, але при цьому, як правило, виконувалося тим же персоналом. У 1960-х багато уваги приділялося вичерпного тестуванню, яке повинно проводитися з використанням усіх шляхів у коді або всіх можливих вхідних даних. Було відзначено, що в цих умовах повне тестування ПО неможливо, тому що, по-перше, кількість можливих вхідних даних дуже велике, по-друге, існує безліч шляхів, по-третє, складно знайти проблеми в архітектурі і специфікаціях. З цих причин вичерпне тестування була відхилена і визнано теоретично неможливим.
На початку 1970-х тестування ПО позначалося як процес, спрямований на демонстрацію коректності продукту або як діяльність із підтвердженню правильності роботи ПЗ raquo ;. У зароджувалась програмної інженерії верифікація ПО значилася як доказ правильності raquo ;. Хоча концепція була теоретично перспективною, на практиці вона вимагала багато часу і була недостатньо всеохоплюючою. Було вирішено, що доказ правильності - неефективний метод тестування ПЗ. Проте, в деяких випадках демонстрація правильної роботи використовується і в наші дні, наприклад, приймально-здавальні випробування. У другій половині 1970-х тестування уявлялося як виконання програми з наміром знайти помилки, а не довести, що вона працює. Успішний тест - це тест, який виявляє раніше невідомі проблеми. Даний підхід прямо протилежний попередньому. Зазначені два визначення являють собою парадокс тестування raquo ;, в основі якого лежать два переконатися, що продукт працює добре, а з іншого - виявляє помилки в ПЗ, показуючи, що продукт не працює. Друга мета тестування є більш продуктивною з точки зору поліпшення якості, так як не дозволяє ігнорувати недоліки ПО.
У 1980-х тестування розширилося таким поняттям, як попередження дефектів. Проектування тестів - найбільш ефективний з відомих методів попередження помилок. В цей же час почали висловлюватися думки, що необхідна методологія тестування, зокрема, що тестування має включати перевірки на всьому протязі циклу розробки, і це повинен бути керований процес. У ході тестування треба перевірити не тільки зібрану програму, але й вимоги, код, архітектуру, самі тести. Традиційне тестування, що існувало до початку 1980-х, відносилося тільки до компільованою, готовій системі (зараз це зазвичай називається системне тестування), але надалі тестувальники стали залучатися в усі аспекти життєвого циклу розробки. Це дозволяло раніше знаходити проблеми у вимогах та архітектури і тим самим скорочувати терміни і бюджет розробки. У середині 1980-х з'явилися перші інструменти для автоматизованого тестування. Передбачалося, що комп'ютер зможе виконати більше тестів, ніж людина, і зробить це більш надійно. Спочатку ці інструменти були вкрай простими і не мали можливості написання сценаріїв на скриптових мовах.
На початку 1990-х в поняття тестування стали включати планування, проектування, створення, підтримку та виконання тестів і тестових оточень, і це означало перехід від тестування до забезпечення якості, що охоплює весь цикл розробки ПЗ. У цей час починають з'являтися різні програмні інструменти для підтримки процесу тестування: більш просунуті середовища для автоматизації з можливістю створення скриптів і генерації звітів, системи управління тестами, ПО для проведення навантажувального тестування. У середині 1990-х з розвитком Інтернету і розробкою великої кількості веб-додатків особливу популярність стало отримувати гнучке тестування (за аналогією з гнучкими методологіями програмування).
У 2000-х з'явилося ще більш широке визначення тестування, коли в нього було додано поняття оптимізація бізнес-технологій (en: business technology optimization, BTO). BTO направляє розвиток інформаційних технологій у відповідності з цілями бізнесу. Основний підхід полягає в оцінці і максимізації значущості всіх етапів життєвого циклу розробки ПЗ для досягнення необхідного рівня якості, продуктивності, доступності.
Тестування програмного забезпечення - процес дослідження програмного забезпечення (ПЗ) з метою отримання інформації про якість продукту. алгоритм інтерфейс delphi
Існує кілька ознак, за якими прийнято виробляти класифікацію видів тестування. Зазвичай виділяють наступні:
· по об'єкту тестування;
· по знанню сис...