ОБ АКТУАЛЬНОСТИ УЧЕБНОЙ ДИСЦИПЛИНЫ «ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ» ДЛЯ СТУДЕНТОВ IT-НАПРАВЛЕНИЙ - Студенческий научный форум

X Международная студенческая научная конференция Студенческий научный форум - 2018

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

Кириченко А.А. 1
1Саратовский национальный исследовательский государственный университет имени Н.Г. Чернышевского, Саратов, Россия
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Тестирование — важный этап в процессе разработки программного обеспечения (ПО). Области применения, цели и задачи тестирования ПО разнообразны.

С одной стороны, тестирование ПО — это процесс анализа программного средства и сопутствующей документации с целью выявления дефектов и повышения качества продукта. Это проверка соответствия программы требованиям, осуществляемая путем наблюдения за ее работой в специальных, искусственно созданных ситуациях, выбранных определенным образом [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-специалистов.

Для выявления уровня осведомленности студентов в вопросах тестирования ПО, их заинтересованности в освоении профессии «тестировщик» была разработана анкета с обязательными и необязательными вопросами, а также с различными формами анкетных вопросов, доступная по ссылке https://course.sgu.ru/course/view.php?id=1189.

В таблице 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 группы. Методику тестирования знают единицы. Это свидетельствует о низком уровне осведомленности студентов в вопросах тестирования ПО.

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

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

Список литературы
  1. Что такое тестирование программного обеспечения [Электронный ресурс]. — URL: http://qalight.com.ua/baza-znaniy/chto-takoe-testirovanie-programmnogo-obespecheniya/ (Дата обращения 14.12.2017). Загл. с экр. Яз. рус.

  2. International Software Testing Qualifications Board Glossary [Электронный ресурс]. — URL: http://www.istqb.org/downloads/glossary.html (Дата обращения 19.11.2017). Загл. с экр. Яз. англ.

  3. Куликов, С. Тестирование программного обеспечения. Базовый курс / С. Куликов. — Минск: Epam Systems, 2016.

  4. Жизненный цикл программного обеспечения [Электронный ресурс]. — URL: http://www.tehprog.ru/index.php_page=lecture15.html (Дата обращения 25.11.2017). Загл. с экр. Яз. рус.

  5. Бесплатная электронная книга по гибким методологиям разработки [Электронный ресурс]. — URL: http://agilerussia.ru/methodologies/ borisvolfson_ebook/ (Дата обращения 05.11.2017). Загл. с экр. Яз. рус.

  6. Методологии разработки программного обеспечения [Электронный ресурс]. — URL: http://compress.ru/article.aspx?id=11321&iid=447 (Дата обращения 05.11.2017). Загл. с экр. Яз. рус.

  7. Профессиональные стандарты [Электронный ресурс]. — URL: http:// fgosvo.ru/docs/101/69/2/6 (Дата обращения 09.12.2017). Загл. с экр. Яз. рус.

 

 

Просмотров работы: 670