Об актуальности учебной дисциплины "Тестирование программного обеспечения" для студентов IT-направлений

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 24.02.2019
Размер файла 24,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

1

1

Саратовский национальный исследовательский государственный университет имени Н.Г. Чернышевского

ОБ АКТУАЛЬНОСТИ УЧЕБНОЙ ДИСЦИПЛИНЫ «ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ» ДЛЯ СТУДЕНТОВ IT-НАПРАВЛЕНИЙ

Кириченко А.А.

Тестирование -- важный этап в процессе разработки программного обеспечения (ПО). Области применения, цели и задачи тестирования ПО разнообразны.

С одной стороны, тестирование ПО -- это процесс анализа программного средства и сопутствующей документации с целью выявления дефектов и повышения качества продукта. Это проверка соответствия программы требованиям, осуществляемая путем наблюдения за ее работой в специальных, искусственно созданных ситуациях, выбранных определенным образом [1].

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

Важность этапа тестирования программного продукта колоссальна:

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

-- Во-вторых, предотвратить значительные временные затраты на исправление несоответствий с предъявленными требованиями к проекту.

-- В-третьих, что немаловажно, предотвратить денежные затраты, ведь, чем раньше выявлено несоответствие, тем дешевле обходится его исправление.

-- В-четвертых -- обеспечить безупречную репутацию перед заказчиком и сохранить или даже поднять место компании на рынке разработок ПО.

Если говорить о современном этапе развития тестирования, то можно отметить вкратце его основные характеристики [3]: гибкие методологии и гибкое тестирование, глубокая интеграция с процессом разработки, широкое использование автоматизации, колоссальный набор технологий и инструментальных средств, кросс-функциональность команды (когда тестировщик и программист во многом могут выполнять работу друг друга).

Анализ стоимости каждого из этапов жизненного цикла ПО [4, 5], в соответствии с различными источниками, дает распределение, представленное в таблице 1.

Таблица 1 - Стоимость этапов жизненного цикла ПО

Этапы

Затраты, %

Анализ требований и определение спецификаций

6

Проектирование

5

Разработка

40

Тестирование

30

Поддержка

19

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

Качественное тестирование ПО позволяет значительно снизить количество обоснованных претензий к его качеству на этапе внедрения, сократить ресурсы, задействованные на доработке, исправлении и сопровождении системы [6]. Как следствие этого затраты на обслуживание ПО уменьшаются на 15-20%, а репутация компании, разрабатывающей системы, растет. И, наоборот, если грамотного тестирования ПО не проводится, то затраты на сопровождение могут увеличиться до 80-85% от общих затрат на разработку и внедрение, а потенциальное количество заказчиков у производителя ПО уменьшиться.

Во многих современных IT-компаниях существуют центры качества, отвечающие за тестирование ПО. Требования к таким сотрудникам данных центров очень высокое. Существует специальный профессиональный стандарт (ПС) 06.004 «Специалист по тестированию в области информационных технологий» (утвержден приказом Министерства труда и социальной защиты Российской Федерации от 11 апреля 2014 г. N 225н) [7]. В данном ПС четко прописаны трудовые функции специалиста по тестированию ПО.

Выпускники вузов IT-направлений должны быть готовы к осуществлению профессиональной деятельности, связанной с тестирование ПО. Поэтому мы считаем актуальным включение дисциплины «Тестирование программного обеспечения» в основные образовательные программы подготовки IT-специалистов.

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

В таблице 2 приведены вопросы и предоставленные варианты ответов разработанной анкеты.

Таблица 2 - Анкета для студентов

Вопрос

Возможный вариант ответа

Обязательный / необязательный вопрос

1

Выберите курс

Переключатель 1-4 и поле для ввода текста «Другое»

Обязательный

2

Выберите пол

Выпадающий список: жен, муж

Обязательный

3

Выберите направление

Переключатель: ПИ, МОАИС, ИВТ, ФИиИТ, Системный анализ и поле для ввода текста «Другое»

Обязательный

4

Собираетесь ли вы работать в IT-сфере?

Переключатель:

-- Да, точно

-- Скорее всего да

-- Скорее всего нет

-- Точно нет

Обязательный

5

Выберите наиболее близкие вам профессии

риант --

--

--

--

--

--

Поле

Чекбокс с несколькими возможными ваами ответа:

Разработчик

DEVops

Тестировщик

Бизнес-аналитик

Архитектор (IT)

Инженер по качеству для ввода текста «Другое»

Обязательный

6

Выберите наиболее интересные для вас виды тестирования

Чекбокс с несколькими возможными вариантами ответа:

-- Функциональное ручное тестиро-

вание

-- Автоматизированное тестирование

-- написание кода

-- Тестирование производительности

-- Нагрузочное тестирование

-- Юнит-тесты -- тестирование в коде

-- Тестирование документации к проекту

-- Тестирование веб-приложений -- Тестирование мобильных приложений

-- Тестирование настольных

приложений

-- Регрессионное тестирование

-- Тестирование совместимости

Обязательный

-- Нефункциональное тестирование

7

«Тестирование методом черного ящика» предполагает (своими словами)

Текстовое поле для ввода ответа

Обязательный

8

Понятие «Бета тестирование» предполагает (своими словами)

Текстовое поле для ввода ответа

Обязательный

9

Проведение «Smoke

test» предполагает (своими словами)

Текстовое поле для ввода ответа

Обязательный

10

«Тест-кейс» -- это

Переключатель:

-- Шаги по воспроизведению сценария для проверки заданной функциональности

-- Набор нужных тестовых данных

(пароли, логины, окружения и др.) -- Функциональность, которую нужно проверить в рамках поставленной задачи

-- Не знаю

Обязательный

11

Укажите понятия, относящиеся к методике тестирования

риант --

--

--

--

--

--

--

--

Чекбокс с несколькими возможными ваами ответа:

Функциональное

Автоматизированное

Системное тестирование

Тестирование локализации

Smoke Test

Интеграционное тестирование

Приемочные испытания

Critical Test

Обязательный

12

Изучали ли курс по Тестированию ПО?

Переключатель: Да, Нет

Обязательный

13

Если был курс по Тестированию ПО, то вели его:

Перек

--

--

--

--

--

Поле

лючатель:

Сотрудник(и) университета СГУ

Сотрудники EPAM

Сотрудники Mirantis

Сотрудники Grid Dynamics

Нет ответа для ввода текста «Другое»

Необязательный

14

Полезен ли предмет по «Тестированию программного обеспечения» с актуальными, востребованными на реальных проектах знаниями?

Перек

--

--

--

--

--

лючатель:

Да, точно

Скорее всего да

Скорее всего нет

Точно нет

Нет ответа

Необязательный

15

Если был курс по Те-

Выпадающий список: 3, 4, 5

Необязательный

стированию ПО, укажите вашу оценку

16

Если был курс по Тестированию ПО, укажите оценку, на которую вы оцениваете свои знания по данной дисциплине

Выпадающий список: 3, 4, 5

Необязательный

17

Хотели бы вы улучшить курс по дисциплине «Тестирование программного обеспечения» (для тех, у кого уже он был)?

Переключатель:

-- Да

-- Нет

-- Не знаю

-- Нет ответа

Необязательный

18

Нужно ли приглашать на факультет представителей IT-компаний для обучения тестированию ПО

Переключатель:

-- Да

-- Нет

-- Не знаю

-- Нет ответа

Необязательный

19

Считаете ли вы, что дисциплину «Тестирование программного обеспечения» нужно сделать обязательной (с экзаменом / зачетом), дисциплиной по выбору (с экзаменом / зачетом) или факультативной диспиплиной

Переключатель:

-- Обязательной диспиплиной

-- Дисциплиной по выбору

-- Факультативной диспиплиной

Обязательный

Результаты анкетирования приведены в таблице 3.

Таблица 3 - Результаты анкетирования

Вопрос

Выбранный вариант

Количество вы-

бранного варианта

1

Выберите курс

2

22

2

Выберите пол

жен муж

8

14

3

Выберите направление

МОАИС

22

4

Собираетесь ли вы работать в IT-сфере?

Да, точно

Скорее всего да

Скорее всего нет

Точно нет

14

7

1

0

5

Выберите наиболее близкие вам профессии

Разработчик

DEVops

Тестировщик

Бизнес аналитик

Архитектор (IT)

Инженер по качеству

Другое: Гейм-дизайнер

18

8

5

9

5

1

1

6

Выберите наиболее интересные для вас виды тестирования

Функциональное ручное тестирование Автоматизированное

тестирование -- написание кода Тестирование производительности

Нагрузочное тестирование

Юнит-тесты -- тестирование в коде

Тестирование документации к проекту

Тестирование веб-приложений Тестирование мобильных

приложений

Тестирование настольных приложений

Регрессионное тестирование

Тестирование совместимости

2

10

6

2

4

2

12

14

3

2

6

7

«Тестирование методом черного ящика» предполагает (своими словами)

Не знаю

Неправильный ответ

Правильный ответ

14

5

3

8

Понятие «Бета тестирование» предполагает (своими словами)

Не знаю

Неправильный ответ

Правильный ответ

7

7

8

9

Проведение «Smoke test» предполагает (своими словами)

Не знаю

Неправильный ответ

Правильный ответ

14

1

4

10

«Тест-кейс» -- это

Шаги по воспроизведению сценария для проверки заданной функциональности

Набор нужных тестовых данных (пароли, логины, окружения и др.)

Функциональность, которую нужно проверить в рамках поставленной задачи Не знаю

8

8

5

1

11

Укажите понятия, относящиеся к методике тестирования

Функциональное

Автоматизированное

Системное тестирование

Тестирование локализации

Smoke Test

Интеграционное тестирование

Приемочные испытания

Critical Test

18

20

9

2

14

3

1

3

12

Изучали ли курс по Тестированию ПО?

Да

Нет

0

22

13

Если был курс по Тестированию ПО, то вели его:

Сотрудник(и) университета СГУ

Сотрудники EPAM

Сотрудники Mirantis

Сотрудники Grid Dynamics

Нет ответа

Поле для ввода текста «Другое»

3

1

0

0

0

0

14

Полезен ли предмет по «Тестированию программного обеспечения»

Да, точно

Скорее всего да

Скорее всего нет

6

5

1

с актуальными, востребованными на реальных проектах знаниями?

Точно нет

Нет ответа

0

0

15

Если был курс по Тестированию ПО, укажите вашу оценку

3

4

5

3

0

16

Если был курс по Тестированию ПО, укажите оценку, на которую вы оцениваете свои знания по данной дисциплине

3

4

5

2

0

0

17

Хотели бы вы улучшить курс по дисциплине «Тестирование программного обеспече-

ния» (для тех, у кого уже он был)?

Да

Нет

Не знаю

Нет ответа

1

0

0

21

18

Нужно ли приглашать на факультет представителей IT-компаний для обучения тестированию

ПО

Да

Нет

Не знаю

Нет ответа

16

1

0

5

19

Считаете ли вы, что дисциплину «Тестирование про-

граммного обеспечения» нужно сделать обязательной (с экзаменом / зачетом), дисциплиной по выбору (с экзаменом

/ зачетом)

или факультативной дисциплиной

Обязательной дисциплиной

Дисциплиной по выбору

Факультативной дисциплиной

7

13

2

По результатам анкетирования, приведенным в таблице 3 можно сделать следующие выводы:

1. Опрошена была одна группа второго курса направления МОАИС факультета КНиИТ, состоящая из 22 человек, среди которых 8 представителей женского пола и 14 -- мужского. Все студенты еще не изучали курс «Тестирование программного обеспечения».

2. Большинство студентов считают, что: данная дисциплина должна быть дисциплиной по выбору; знания, полученные в рамках данной дисциплины, будут полезны при работе над реальными проектами; для реализации данной дисциплины нужно привлекать представителей IT-компаний.

3. Более, чем половина студентов (14 человек) -- собираются точно работать в IT-сфере, планируют работать 7 человек и, вероятно, не планирует работать только 1 человек. Значит можно считать группу заинтересованной в изучении современных ITтехнологий.

4. Самой популярной профессией была выбрана «Разработчик» (18 человек). В профессии «Тестировщик»/«Инженер по качеству» заинтересовано 6 человек. При этом для студентов «Тестировщик» и «Инженер по качеству» - это разные специальности.

5. Самыми интересными видами тестирования оказались тестирование веб-приложений и тестирование мобильных приложений, на втором месте по популярности идут автоматизированное тестирование и тестирование совместимости. Остальные виды тестирования также были выбраны, кроме нефункционального тестирования (возможно, потому что студенты не знают, что такое нефункциональное тестирование).

6. На вопрос о тестировании методом черного ящика дали правильный ответ всего лишь 3 студента. На вопрос о бета тестировании только 8 человек дали правильный ответ. Что означает понятие «Smoke test» знают 4 человека. Про «Тест-кейс» знает 1/3 группы. Методику тестирования знают единицы. Это свидетельствует о низком уровне осведомленности студентов в вопросах тестирования ПО.

В заключение анализа результатов анкетирования студентов можно сделать вывод, что дисциплина «Тестирование программного обеспечения» является востребованной и студенты заинтересованы, чтобы на данной дисциплине они могли получить актуальные знания.

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

Размещено на Allbest.ru


Подобные документы

  • Сравнительный анализ программ-аналогов, характеристика инструментальных средств разработки. Анализ требований и определение спецификаций программного обеспечения, отладка и тестирование программы. Изучение руководства по использованию программы.

    курсовая работа [2,1 M], добавлен 10.04.2023

  • Понятие и специфика автоматизированных систем. Описание методики разработки программы для автоматизации. Ее тестирование и отладка. Внедрение АС в работу предприятия. Расчет экономического эффекта от разработки и реализации программного продукта.

    дипломная работа [1,4 M], добавлен 23.06.2015

  • Сравнительный анализ технологий тестирования. Разработка программного модуля "Интеллектуальная обучающая система для широкого перечня курсов". Обоснование необходимости и важности этапа отладки в процессе разработки данного программного обеспечения.

    дипломная работа [101,2 K], добавлен 17.06.2011

  • Тестирование и отладка программного обеспечения: понятие, принципы, этапы, цели и задачи. Тестирование методом сандвича как компромисс между восходящим и нисходящим подходами. Сущность метода "белого и черного ящика", отладки программного обеспечения.

    курсовая работа [36,9 K], добавлен 21.07.2012

  • История возникновения тестирования программного обеспечения, основные цели и особенности его проведения. Виды и типы тестирования, уровни его автоматизации. Использование и исследование необходимых технологий. Полный цикл прогона всей системы мониторинга.

    дипломная работа [1,7 M], добавлен 03.05.2018

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

    курсовая работа [1,6 M], добавлен 20.12.2012

  • Неразрешимость проблемы тестирования программного обеспечения. Виды и уровни тестирования. Стратегии восходящего и нисходящего тестирования. Методы "белого" и "черного" ящика. Автоматизированное и ручное тестирование. Разработка через тестирование.

    курсовая работа [112,2 K], добавлен 22.03.2015

  • Требования к технологии проектирования программного обеспечения (ПО). Состав и описание стадий полного жизненного цикла ПО. Классификация моделей жизненного цикла ПО, их особенности. Методологии разработки ПО, приёмы экстремальный программирование.

    презентация [874,4 K], добавлен 19.09.2016

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

    курсовая работа [319,5 K], добавлен 25.05.2009

  • Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.

    презентация [114,7 K], добавлен 14.08.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.