ord:= true;
k:=1;
поки (k<p) & ord цикл
якщо a[k] <= a[k+1] то
ord:= false;
кякщо;
k:= k+1;
кц;
№ | A | C | A&C | Зміст тесту | Вхідні дані | Результат |
false | false | false | a[p-1]>a[p]: остання пара не впорядкована | p=5; a=(5,4,3,2,3) | ord = false | |
false | true | false | Масив впорядкований | p=5; a=(5,4,3,2,1) | ord = true | |
true | false | false | Зустрілася невпорядкована пара елементів | p=5; a=(5,4,6,2,1) | ord = false |
Приклад тестування програми обчислення ступеня числа з урахуванням вимог специфікації
A. Визначення специфікації програми.
B. Визначення областей (класів) еквівалентності вхідних параметрів.
C. Аналіз тестових випадків.
D. Написання (модифікація) програми з урахуванням (введенням) тестових випадків.
E. Виконання тестових випадків.
F. Оцінка результатів виконання програми на тестах.
G. Виправлення помилок.
Послідовність дій:
A. Визначення специфікація програми
На вхід програми подається значення двох параметрів: x – число і n – ступінь. Результат повинен виводитись на екран (на друк).
|
|
Значення числа і ступеня повинні бути цілими.
Значення числа x, що приводиться до ступеня, повинні лежати в діапазоні [0..999].
Значення ступеня n повинні лежати в діапазоні [1..100].
Якщо значення параметрів x та n, що подаються на вхід, лежать за межами вказаних діапазонів, то повинно видаватись повідомлення про помилку.
B. Визначення областей (класів) еквівалентності вхідних параметрів
Для x – числа, що приводиться до ступені:
1. x < 0 (помилкове).
2. x > 999 (помилкове).
3. x - не число (помилкове).
4. 0 <= x <= 999(корректне).
Для n – ступеня числа:
5. n < 1 (помилкове).
6. n > 100 (помилкове).
7. n - не число (помилкове).
8. 1 <= n <= 100 (корректне).
C. Аналіз тестових випадків
1. Вхідні значення: (x = 2, n = 3) (покривають класи еквівалентності 4, 8).
Очікуваний результат: The power n of x is 8.
2. Вхідні значення: {(x = -1, n = 2),(x = 1000, n = 5)} (покривають класи 1, 2).
Очікуваний результат: Error: x must be in [0..999].
3. Вхідні значення: {(x = 100, n = 0),(x = 100, n = 200)} (покривають класи 5,6).
Очікуваний результат: Error: n must be in [1..100].
4. Вхідні значення: (x = ADS, n = ASD) (покривають класи 3, 7).
Очікуваний результат: Error: Please enter a numeric argument.
5. Перевірка на граничні значення:
5.1 Вхідні значення: (x = 999, n = 1).
Очікуваний результат: The power n of x is 999.
5.2 Вхідні значення: x = 0, n = 100.
Очікуваний результат: The power n of x is 0.
D. Написання (модифікація) програми з урахуванням (введенням) тестових випадків
Введення в програму конструкцій if та застосування Console.WriteLine (вставка «агентів» в текст програми, що налагоджується).
Наприклад:
…
{
Console.WriteLine("Enter x:");
x=Convert.ToInt32(Console.ReadLine());
|
|
if ((x>=0) & (x<=999))
{
Console.WriteLine("Enter n:");
n=Convert.ToInt32(Console.ReadLine());
if ((n>=1) & (n<=100))
{
Console.WriteLine("The power n" + " of x is {0}", Power(x,n));
Console.ReadLine();
}
else
{
Console.WriteLine("Error: n " + "must be in [1..100]");
Console.ReadLine();
}
}
else
{
Console.WriteLine("Error: x " + "must be in [0..999]");
Console.ReadLine();
}
…
E. Виконання тестових випадків
Запуск програми з заданими значеннями аргументів (векторами значень).