
6. Тестирование программы
Тестирование программного обеспечения охватывает целый ряд видов деятельности, аналогичных последовательности процессов разработки программного обеспечения. В него входят:
а) постановка задачи для теста,
б) проектирование теста,
в) написание тестов,
г) тестирование тестов,
д) выполнение тестов,
е) изучение результатов тестирования.
Решающую роль играет проектирование тестов. Возможен целый ряд подходов к стратегии проектирования тестов. Чтобы ориентироваться в них, рассмотрим два крайних подхода. Первый состоит в том, что тесты проектируются на основе внешних спецификаций программ и модулей либо спецификаций сопряжения программы или модуля. Программа при этом рассматривается как черный ящик (стратегия ‘черного ящика’). Существо такого подхода - проверить, соответствует ли программа внешним спецификациям. При этом логика модуля совершенно не принимается во внимание.
Второй подход основан на анализе логики программы (стратегия ‘белого ящика’). Суть подхода - в проверке каждого пути, каждой ветви алгоритма. При этом внешняя спецификация во внимание не принимается.
Рекомендуется следующая процедура разработки тестов: - разрабатывать тесты, используя методы стратегии “черного ящика”; - дополнительное тестирование, используя методы стратегии “белого ящика”.
Метод тестирования таблиц решений
Тестирование ТР заключается в том, что проектируется такое количество тестов, которое позволяет покрыть все возможные комбинации условий. Как правило, количество этих тестов совпадает с числом столбцов в ТР
Метод позволяет эффективно проверить соответствие разработанной программы ее внешним спецификациям, но не всегда позволяет выявить случаи, когда программа делает то, что спецификацией не предусмотрено. Кроме того, спецификация может содержать ошибки, которые при таком тестировании выявлены не будут, особенно если результаты тестирования являются правдоподобными. Предварительное построение сначала функциональных диаграмм, а затем ТР позволяет осуществлять логический контроль спецификации сначала на уровне функциональных диаграмм, а затем уже на уровне ТР, что значительно снижает вероятность ошибок в спецификации.
6.2Тестирование функции ‘проверка на корректность файлаF1’
Тест 1
Цель теста: проверить функционирование программы при наличии недопустимых символов в поле «Код CD».
Содержание теста: файл F1er1.txt
Предусмотренная ошибка в файле:
Код CD |
Название CD |
Исполнитель |
23r1 |
"TheBest" |
Avril |
232 |
"Фолк" |
Various |
238 |
"Холод" |
Провода |
Ожидаемый результат: сообщение: «Код СD<23r1> не должен содержать буквы».
Фактический результат совпадает с ожидаемым.
Результат тестирования: неуспешный.
Тест 2
Цель теста: проверить функционирование программы при наличии недопустимых символов в поле «Название CD».
Содержание теста: файл F1er2.txt
Предусмотренная ошибка в файле:
Код CD |
Название CD |
Исполнитель |
231 |
"TheBest" |
Avril |
232 |
"Фолк" |
Various |
238 |
"Хол4од" |
Провода |
Ожидаемый результат: сообщение: «Название СD< Хол4од > не должен содержать цифры».
Фактический результат совпадает с ожидаемым.
Результат тестирования: неуспешный.
Тест 3
Цель теста: проверить функционирование программы при наличии недопустимых символов в поле «Исполнитель».
Содержание теста: файл F1er3.txt
Предусмотренная ошибка в файле:
Код CD |
Название CD |
Исполнитель |
231 |
"TheBest" |
Avril |
232 |
"Фолк" |
Vari3ous |
238 |
"Холод" |
Провода |
Ожидаемый результат: сообщение: «Название исполнителя < Vari3ous > не должен содержать цифры».
Фактический результат совпадает с ожидаемым.
Результат тестирования: неуспешный.
Тест 4
Цель теста: проверить функционирование программы при наличии совпадаемых кодов
Содержание теста: файл F1er4.txt
Предусмотренная ошибка в файле:
Код CD |
Название CD |
Исполнитель |
232 |
"TheBest" |
Avril |
232 |
"Фолк" |
Vari3ous |
238 |
"Холод" |
Провода |
Ожидаемый результат: сообщение: «Код < 232 > должен быть уникальным!».
Фактический результат совпадает с ожидаемым.
Результат тестирования: неуспешный.
Тест 5
Цель теста: проверить функционирование программы при наличии совпадаемых кодов у одного альбома
Содержание теста: файл F1er5.txt
Предусмотренная ошибка в файле:
Код CD |
Название CD |
Исполнитель |
232 |
"TheBest" |
Avril |
240 |
" TheBest " |
Avril |
238 |
"Холод" |
Провода |
Ожидаемый результат: сообщение: «У одного альбома < Название CD> не больше одного кода!».
Фактический результат совпадает с ожидаемым.
Результат тестирования: неуспешный.
Тест 6
Цель теста: проверить функционирование программы при наличии лишних данных в файле.
Содержание теста: файл f1er6.txt
Предусмотренная ошибка в файле: поле “ thdth” в конце записи
Код CD |
Название CD |
Исполнитель |
232 |
"TheBest" |
Avril thdth |
233 |
"Фолк" |
Vari3ous |
238 |
"Холод" |
Провода |
Ожидаемый результат: сообщение: « лишние данные».
Фактический результат совпадает с ожидаемым.
Результат тестирования: неуспешный.
Тест 7
Цель теста: проверить функционирование программы при отсутствии необходимых данных в файле.
Содержание теста: файл f1er7.txt
Предусмотренная ошибка в файле: отсутствие цены в записи
Код CD |
Название CD |
Исполнитель |
232 |
"TheBest" |
|
233 |
"Фолк" |
Vari3ous |
238 |
"Холод" |
Провода |
Ожидаемый результат: сообщение: «не хватает данных».
Фактический результат совпадает с ожидаемым.
Результат тестирования: неуспешный.
Тест 8
Цель теста: проверить функционирование программы при отсутствии файла с заданным именем
Содержание теста: введём имя файла: f1.txt
Ожидаемый результат: сообщение: «файла с таким именем не существует».
Фактический результат совпадает с ожидаемым.
Результат тестирования: неуспешный.
6.3Тестирование функции ‘Формирование выходного файлаF3’
Тест 1
Цель теста: проверить функционирование программы при наличии корректных входных данных.
Содержание теста: файлы f1.txtиf2.txt
Ожидаемый результат:
сообщение: «Файл создан».
создан файл с указанным с клавиатуры именем
Фактический результат
сообщение: «Файл создан».
сокращённое содержимое файла F3:
211407 "TheBest" Music 5
211407 "Берега" Music 2
211407 "Shark" Lika 1
Общая сумма продаж по дате: 8 дисков
010507 "Фолк" Lika7
010507 "Гении" Music4
Общая сумма продаж по дате: 11 дисков
240407 "Believe"RX1
240407 "Душ" Lika3
Общая сумма продаж по дате: 4 дисков
240507 "Двое" Music8
Общая сумма продаж по дате: 8 дисков
140807 "Under"RX6
140807 "Under"RX3
Общая сумма продаж по дате: 9 дисков
260906 "Shark"Music1
Общая сумма продаж по дате: 1 дисков
240607 "Three" Lika 6
240607 "Skull" Lika 1
240607 "Skull" Music 1
Общая сумма продаж по дате: 8 дисков
310406 "Smile"Music3
Общая сумма продаж по дате: 3 дисков
270607 "Intro"RX2
270607 "Believe"RX3
Общая сумма продаж по дате: 5 дисков
280607 "Гении" RX1
280607 "Рег" RX3
Общая сумма продаж по дате: 4 дисков
Общаяя сумма продаж по всем датам: 61 дисков
Тест 2
Цель теста: проверить функционирование программы при наличии некорректных входных данных.
Содержание теста: файлы f1er4.txtиf2.txt
F2.txt– файл с верными данными
F1er4.txt– файл с изменённым коломCD:
Предусмотренная ошибка в файле:
Код CD |
Название CD |
Исполнитель |
232 |
"TheBest" |
Avril |
232 |
"Фолк" |
Vari3ous |
238 |
"Холод" |
Провода |
211407 "Берега" Music2
211407 "Shark"Lika1
Общая сумма продаж по дате: 3 дисков
010507 "Гении" Music4
Общая сумма продаж по дате: 4 дисков
240407 "Believe"RX1
240407 "Душ" Lika3
Общая сумма продаж по дате: 4 дисков
240507 "Двое" Music8
Общая сумма продаж по дате: 8 дисков
140807 "Under"RX6
140807 "Under"RX3
Общая сумма продаж по дате: 9 дисков
260906 "Shark"Music1
Общая сумма продаж по дате: 1 дисков
240607 "Three" Lika 6
240607 "Skull" Lika 1
240607 "Skull" Music 1
Общая сумма продаж по дате: 8 дисков
310406 "Smile"Music3
Общая сумма продаж по дате: 3 дисков
270607 "Intro"RX2
270607 "Believe"RX3
Общая сумма продаж по дате: 5 дисков
280607 "Гении" RX1
280607 "Рег" RX3
Общая сумма продаж по дате: 4 дисков
Общаяя сумма продаж по всем датам: 49 дисков
Фактический результат совпал с ожидаемым
Результат тестирования: неуспешный.