Типовые задания при изучении студентами тестирования программного обеспечения по принципу «белого ящика» | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 4 мая, печатный экземпляр отправим 8 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №3 (107) февраль-1 2016 г.

Дата публикации: 02.02.2016

Статья просмотрена: 1038 раз

Библиографическое описание:

Полевщиков, И. С. Типовые задания при изучении студентами тестирования программного обеспечения по принципу «белого ящика» / И. С. Полевщиков. — Текст : непосредственный // Молодой ученый. — 2016. — № 3 (107). — С. 52-54. — URL: https://moluch.ru/archive/107/25813/ (дата обращения: 24.04.2024).

 

Одной из дисциплин, изучаемых студентами бакалавриата, обучающимися по направлению «Программная инженерия», является «Тестирование программного обеспечения». Актуальность этой дисциплины обусловлена тем, что тестирование представляет собой важнейшую составляющую поддержки качества программного обеспечения [1, 2].

В ходе выполнения ряда лабораторных работ студент должен научиться производить тестирование программного обеспечения различными способами, основанными на принципе «белого ящика». Следует отметить, что при использовании «белого ящика» как одного из принципов тестирования, известна внутренняя структура программы, а исследуются внутренние элементы программы и связи между ними [1].

Приведем типовые задачи этих лабораторных работ, составленные на основе [1, 3].

В ходе выполнения лабораторной работы на тему «Тестирование базового пути» студент должен сначала написать два консольных приложения (по вариантам) на любом языке программирования (Pascal, Delphi, C++, C#, Java и т. п.) в соответствии с постановкой задач. Далее необходимо провести тестирование каждого консольного приложения способом тестирования базового пути согласно следующим шагам [1, 4]:

1)     На основе текста программы формируется потоковый граф.

2)     Определяется цикломатическая сложность потокового графа.

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

4)     Подготавливаются тестовые варианты, инициирующие выполнение каждого пути.

5)     Реальные результаты каждого тестового варианта сравниваются с ожидаемыми результатами.

Примеры задач:

1)                 Даны две точки и . Определить, какая из них находится ближе к началу координат. Учесть случай, что точки могут находиться одинаково близко к началу координат.

2)                 Даны два угла треугольника (в градусах). Определить, существует ли такой треугольник. Если да, то будет ли он прямоугольным.

3)                 Даны действительные числа и . Меньшее из этих двух чисел заменить их полусуммой, а большее — их удвоенным произведением. В случае, если числа равны, то производить замену не требуется.

4)                 Определить, делителем каких из чисел , , является число .

5)                 Даны три числа , , . Проверить, будут ли они сторонами треугольника. Если да, то вычислить площадь этого треугольника.

6)                 Вычислить значение функции:

7)                 Дано действительное число и целое число . Вычислить (учесть случай деления на 0, а также случай, когда введено ):

8)        Составить программу вычисления значений функции на отрезке с шагом . Результат представить в виде таблицы, первый столбец которой — значения аргумента, второй — соответствующие значения функции. При вводе значения проверить, чтобы данное значение было положительным (иначе вычисления не производить и выдать соответствующее сообщение). Учесть случай деления на 0.

9)        Дана строка. Подсчитать в ней количество вхождений букв 'r', 'k' и 't'.

В ходе выполнения лабораторной работы на тему «Тестирование условий» студент должен сначала написать консольное приложение (в соответствии с вариантом) на любом языке программирования (Pascal, Delphi, C++, C#, Java и т. п.) согласно постановке задачи. Далее необходимо провести тестирование консольного приложения способом тестирования ветвей и операций отношений согласно следующим шагам [1, 5, 6]:

1)        Строится ограничение для каждого условия.

2)        Выявляются ограничения результата по каждому простому условию.

3)        Строится ограничивающее множество для каждого условия (с применением константных формул).

4)        Для каждого элемента ограничивающих множеств разрабатывается тестовый вариант.

5)        Реальные результаты каждого тестового варианта сравниваются с ожидаемыми результатами.

Примеры задач:

1)     Пользователь вводит два числа, и . Необходимо вычислить и вывести на экран значение по следующему принципу:

а) Если одновременно и , тогда вычисляется как .

б) Иначе, если , то вычисляется как произведение и .

в) Иначе вычисляется как .

2)     Пользователь вводит два числа, и . Необходимо вычислить и вывести на экран значение по следующему принципу:

а) Если одновременно и , тогда вычисляется как среднее геометрическое модулей и .

б) Иначе, если , то вычисляется как сумма и .

в) Иначе вычисляется как .

В ходе выполнения лабораторной работы на тему «Тестирование циклов» требуется написать для каждой из двух задач консольное приложение (в соответствии с вариантом) на любом языке программирования (Pascal, Delphi, C++, C#, Java и т. п.) согласно постановке задачи. Далее необходимо провести тестирование каждого консольного приложения способом тестирования циклов [1]:

1)           Проанализировать конструкцию циклов и определиться с методикой тестирования.

2)           Разработать тестовые варианты.

3)           Реальные результаты каждого тестового варианта необходимо сравнить с ожидаемыми результатами.

Массив в каждой задаче должен быть организован как псевдодинамический, т. е. реализуемый следующим образом:

1)     объявляется массив, состоящий из 5 элементов;

2)     пользователь вводит реальное количество элементов массива;

3)     дальнейшая работа с массивом ограничивается заданной пользователем размерностью (элементы массива генерируются случайным образом).

Примеры задач:

1)     Вычислить и вывести на экран сумму и число положительных элементов прямоугольной матрицы, у которых индекс строки больше или равен индексу столбца.

2)     Упорядочить по возрастанию элементы каждой строки прямоугольной матрицы. Измененную матрицу вывести на экран.

3)     Дана прямоугольная матрица. Определить и вывести на экран количество элементов данной матрицы, которые больше суммы остальных элементов в своем столбце.

4)     Найти наибольший и наименьший элементы прямоугольной матрицы и поменять их местами. Измененную матрицу вывести на экран.

5)     Дана прямоугольная матрица. Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их с первым и последним элементом строки соответственно. Измененную матрицу вывести на экран.

Решение студентом задач, аналогичных рассмотренным выше, помогает освоить алгоритмы тестирования программного обеспечения, основанные на принципе «белого ящика».

 

Литература:

 

  1.      Орлов С. А., Цилькер Б. Я. Технологии разработки программного обеспечения: Учебник для вузов. 4-е изд. Стандарт третьего поколения. СПб.: Питер, 2012. 608 с.
  2.      Темичев А. А., Файзрахманов Р. А. Аналитический обзор средств автоматизации тестирования производительности применительно к системам мониторинга // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. 2015. № 3 (15). С. 117–133.
  3.      Семакин И. Г., Шестаков А. П. Лекции по программированию: Учебное пособие. Изд. 2-е, доп. Пермь: Изд-во Перм. ун-та, 1998. 279 с.
  4.      Полевщиков И. С. Разработка методического пособия на тему «Тестирование базового пути» (для студентов бакалавриата направления «Программная инженерия») // Педагогика и современность. 2013. № 4. С. 83–85.
  5.      Полевщиков И. С., Байков В. С., Швецов М. Д. Разработка методического пособия на тему «Тестирование условий» (для студентов и магистрантов направления «Информатика и вычислительная техника») // Педагогика и современность. 2012. № 2. С. 84–90.
  6.      Селуков Д. А., Полевщиков И. С. Автоматизация процесса тестирования программного обеспечения при использовании тестирования условий // Молодой ученый. 2015. № 23(103). С. 63–67.
Основные термины (генерируются автоматически): консольное приложение, прямоугольная матрица, программное обеспечение, тестовый вариант, измененная матрица, лабораторная работа, ходя выполнения, число, язык программирования, базовый путь.


Похожие статьи

Особенности изучения способа тестирования базового пути...

В ходе одной из лабораторных работ студент должен научиться производить тестирование программного обеспечения способом тестирования базового пути [1, 3]. Рассмотрим некоторые особенности разработанного методического пособия по данной теме.

Типовые задачи по тестированию программного обеспечения...

В ходе одной из лабораторных работ студент должен научиться производить тестирование программного обеспечения методом

4) преобразовать столбцы таблицы решений в тестовые варианты; 5) сравнить реальные результаты тестовых вариантов с ожидаемыми.

Оптимизация алгоритма выравнивания биологических...

Более доступным вариантом является использование параллелизма на уровне GPU.

3) число строк новой матрицы равно ; 4) число столбцов в матрицах совпадает.

В работе рассмотрен метод переупорядочивания элементов матрицы динамического программирования для...

Матричный способ представления алгоритма | Статья в журнале...

В работе рассмотрен вопрос представления алгоритма в матрично-предикатном виде в

 условия, определяющие порядок выполнения алгоритма, часто задаются несколькими

Например, квадратная матрица (рис. 5) содержит 324 элемента, а значащих (ненулевых) всего...

Особенности тестирования программного обеспечения...

В ходе одной из лабораторных работ в рамках этой дисциплины студент должен научиться производить тестирование программного обеспечения методом

На четвертом шаге данного способа тестирования столбцы таблицы решений преобразуются в тестовые варианты.

Использование свободного программного обеспечения...

Помимо основных математических возможностей, каждая система аналитических вычислений имеет встроенный язык программирования.

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

Решение многокритериальных задач линейного...

— 504 с. — (Теория, вычисления и приложения). Основные термины (генерируются автоматически): критерий, задача, учет уступок, полученное решение, поиск решения, матрица коэффициентов, важность критерия, допустимая уступка, линейное программирование.

Предварительная оценка инновационных проектов на основе...

Матрица реагирования на перемены. Предварительный анализ и отбор инновационных проектов предполагает рассмотрение наиболее широкого числа альтернатив на основе наиболее общей системы требований к ним.

Метод согласованной идентификации в задаче ректификации...

В работе рассматривается задача ректификации изображений, заключающаяся в формировании строк соответственных точек на изображениях с использованием фундаментальной матрицы, формируемой по небольшому числу заданных соответственных точек.

Похожие статьи

Особенности изучения способа тестирования базового пути...

В ходе одной из лабораторных работ студент должен научиться производить тестирование программного обеспечения способом тестирования базового пути [1, 3]. Рассмотрим некоторые особенности разработанного методического пособия по данной теме.

Типовые задачи по тестированию программного обеспечения...

В ходе одной из лабораторных работ студент должен научиться производить тестирование программного обеспечения методом

4) преобразовать столбцы таблицы решений в тестовые варианты; 5) сравнить реальные результаты тестовых вариантов с ожидаемыми.

Оптимизация алгоритма выравнивания биологических...

Более доступным вариантом является использование параллелизма на уровне GPU.

3) число строк новой матрицы равно ; 4) число столбцов в матрицах совпадает.

В работе рассмотрен метод переупорядочивания элементов матрицы динамического программирования для...

Матричный способ представления алгоритма | Статья в журнале...

В работе рассмотрен вопрос представления алгоритма в матрично-предикатном виде в

 условия, определяющие порядок выполнения алгоритма, часто задаются несколькими

Например, квадратная матрица (рис. 5) содержит 324 элемента, а значащих (ненулевых) всего...

Особенности тестирования программного обеспечения...

В ходе одной из лабораторных работ в рамках этой дисциплины студент должен научиться производить тестирование программного обеспечения методом

На четвертом шаге данного способа тестирования столбцы таблицы решений преобразуются в тестовые варианты.

Использование свободного программного обеспечения...

Помимо основных математических возможностей, каждая система аналитических вычислений имеет встроенный язык программирования.

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

Решение многокритериальных задач линейного...

— 504 с. — (Теория, вычисления и приложения). Основные термины (генерируются автоматически): критерий, задача, учет уступок, полученное решение, поиск решения, матрица коэффициентов, важность критерия, допустимая уступка, линейное программирование.

Предварительная оценка инновационных проектов на основе...

Матрица реагирования на перемены. Предварительный анализ и отбор инновационных проектов предполагает рассмотрение наиболее широкого числа альтернатив на основе наиболее общей системы требований к ним.

Метод согласованной идентификации в задаче ректификации...

В работе рассматривается задача ректификации изображений, заключающаяся в формировании строк соответственных точек на изображениях с использованием фундаментальной матрицы, формируемой по небольшому числу заданных соответственных точек.

Задать вопрос