вання (групи/процесу).
Після завершення комплексного тестування приступають до оціночному тестуванню, метою якого є тестування програми на відповідність основним вимогам. Ця стадія тестування особливо важлива для програмних продуктів, призначених для продажу на ринку.
Оціночна тестування, яке також називають тестуванням системи в цілому raquo ;, включає такі види:
· тести зручності - послідовна перевірка відповідності програмного продукту і документації на нього основним положенням технічного завдання;
· тестування на граничних обсягах - перевірка працездатності програми на максимально великих обсягах даних, наприклад, обсягах текстів, таблиць, великій кількості файлів і т. п .;
· тестування на граничних навантаженнях - перевірка виконання програми на можливість обробки великого обсягу даних, що надійшли протягом короткого часу;
· тестування зручності експлуатації - аналіз психологічних факторів, що виникають при роботі з програмним забезпеченням; це тестування дозволяє визначити, чи зручний інтерфейс, чи не дратує колірне або звуковий супровід і т. п .;
· тестування захисту - перевірка захисту, наприклад, від несанкціонованого доступу до інформації;
· тестування продуктивності - визначення пропускної здатності при заданої конфігурації і навантаженні;
· тестування вимог до пам'яті - визначення реальних потреб у оперативної і зовнішньої пам'яті;
· тестування конфігурації обладнання - перевірка працездатності програмного забезпечення на різному устаткуванні;
· тестування сумісності - перевірка наступності версій: у тих випадках, якщо чергова версія системи змінює формати даних, вона повинна передбачати спеціальні конвектори, що забезпечують можливість роботи з файлами, створеними попередньою версією системи;
· тестування зручності установки - перевірка зручності установки;
· тестування надійності - перевірка надійності з використанням відповідних математичних моделей;
· тестування відновлення - перевірка відновлення програмного забезпечення, наприклад системи, що включає базу даних, після збоїв обладнання та програми;
· тестування зручності обслуговування - перевірка засобів обслуговування, включені у програмне забезпечення;
· тестування документації - ретельна перевірка документації, наприклад, якщо документація містить приклади, то їх все необхідно спробувати;
· тестування процедури - перевірка ручних процесів, передбачуваних в системі.
Природно, метою всіх цих перевірок є пошук невідповідностей технічному завданню. Вважають, що тільки після виконання всіх видів тестування програмний продукт може бути представлений користувачеві або до реалізації.
Як правило, для кожного типу програмного забезпечення виконують ті види тестування, які є для нього найбільш важливими. Так бази даних обов'язково тестують на граничні обсяги, а системи реального часу - на граничних навантаженнях.
1.5 Опис прикладної задачі
Завдання полягає в тому, що для наявного графа G знайти мінімальні довжини шляхів між кожною парою вершин графа. В якості методу, вирішального завдання пошуку найкоротших шляхів між усіма парами пунктів призначення, використовується алгоритм Флойда.
Вихідною інформацією для завдання пошуку найкоротших шляхів є зважений граф G=(V, R), що містить n вершин (| V |=n), в якому кожному ребру графа приписаний ненегативний вагу. Граф будемо вважати орієнтованим, тобто, якщо з вершини i є ребро в вершину j, то з цього не випливає наявність ребра з j в i. Для пошуку мінімальних відстаней між усіма парами пунктів призначення Флойд запропонував алгоритм. Нехай є 3 вузла I, j і k і задані відстані між ними (рис 3). Якщо виконується нерівність
dij + djk lt; dik,
то доцільно замінити шлях i- gt; k шляхом i- gt; j- gt; k. Така заміна (далі її будемо наз-ть трикутним оператором) виконується систематично в процесі виконання алгоритму Флойда.
Малюнок 5
Крок 0. Визначаємо початкову матрицю відстаней D0 і матрицю послідовності вузлів S0. Діагональні елементи обох матриць позначаються знаком _ raquo ;, що показує, що ці елементи в обчисленнях не беруть участь. Вважаємо k=1.
Основний крок k. Задаємо рядок k і стовпець k як провідний рядок рядок і провідний стовпець. Розглядаємо можливість застосування трикутного оператора до всіх елементів dij матриці...