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

Модуль String.Capitalize() Алгоритм и код

Программный код модуля приведен в листинге 2.

Листинг 2

1

public static string Capitalize(this string s)

 

2

{

 

3

    if (String.IsNullOrEmpty(s))

1

4

        return "";

2

5

 

6

    string res = "";

3

7

    res += s[0];

8

 

9

    for (int i = 1; i < s.Length; i++)

4

10

    {

 

11

        res += (_delimeters.Contains(s[i - 1]) 

5

12

            ? Char.ToUpper(s[i]) 

6

13

            : s[i]);

7

14

    }

8

15

    res = res.Remove(" ");

9

16

 

16

    return res;

10

16

}

11

Нижеприведенный Рисунок 6 отражает блок-схему метода. Посимвольно перебирая строку, этот метод исключает все пробелы и знаки препинания из строки и заменяет следующие за ними символы их заглавными вариациями.

Например, строка «Это строка из НЕСКОЛЬКИХ слов» будет преобразована к виду «ЭтоСтрокаИзНесколькихСтрок».

Данный метод является методом расширения для стандартного класса String из .NET Framework. Он используется в качестве вспомогательного для работы с перечислением Quntifier (Квантор) – см. полный программный код в Приложении (или электронном приложении к отчету).

Рисунок 6. Блок-схема модуля String.Capitalize

Тестирование базового пути

  1. Построение потового графа

Потоковый граф рассматриваемого модуля с указанием регионов и выделенными предикаторными узлами приведен ниже (см. Рисунок 7).

Рисунок 7. Потоковый граф модуля String.Capitalize

  1. Оценка цикломатической сложности

Приведенный граф позволяет оценить минимальное количество тестов, которые должны быть проведены. Оценку цикломатической сложности будем производить тремя указанными методами:

  1. V(G) = количество регионов = 4

  2. V(G) = количество дуг – количество узлов + 2 = 13 – 11 + 2 = 4

  3. V(G) = количество предикатных узлов +1 = 3 + 1 = 4

Таким образом, необходимо составить 4 теста, охватывающих независимые пути в графе.

  1. Определение базового множества независимых путей

Путь начинается в начальном узле, а заканчивается в конечном узле графа. Независимые пути необходимо разрабатывать в порядке от самого короткого к самому длинному.

Были выявлены следующие независимые пути:

  1. 1-2-11

  2. 1-3-4-9-10-11

  3. 1-3-4-5-6-8-10-4-…-4-9-10-11

  4. 1-3-4-5-7-8-10-4-…-4-9-10-11

В представленном списке не учитывался факт наличия цикла (отрезки путей 3-4…-…-8 могут повторяться неоднократно)

  1. Подготовка тестовых вариантов

Для тестирования каждого из независимых путей были созданы тестовые варианты исходных данных. Сами данные (ИД), ожидаемый от них результат (ОЖ. РЕЗ.) и результат, полученный фактически при выполнении программы (Ф. РЕЗ.), приведены в Таблица 6.

Таблица 6. Тестовые варианты для метода базового пути

ИД

ОЖ. РЕЗ.

1

null

Пустая строка

2

Пустая строка

Пустая строка

3

Это другая строка

ЭтоДругаяСтрока

4

Это Еще Одна Строка

ЭтоЕщеОднаСтрока