Об актуальности учебной дисциплины "Тестирование программного обеспечения" для студентов 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