http://habrahabr.ru/post/223833/
Учил студентов предмету «Тестирование и отладка программного обеспечения» в ИжГТУ. Структуру курса обучения построил на основе классификации видов тестирования.
Карту можно скачать
тут.
Карта с видами тестирования на каждое занятие
Повторение — мать учения.
Пословица разных народов мира.
Виды тестирования сгруппированы на mind-карте по:
- целям;
- хронологии выполнения;
- формальности;
- позитивности;
- ...
Каждое занятие выбирали:
- Тестируемое приложение или сервис: почтовый клиент, видео-хостинг, ...
- Опорный вид тестирования, например, основное функциональное ручное позитивное … тестирование
- Несколько видов тестирования для сравнения с опорным: повторное, автоматическое, негативное
Начинали выполнять тестовые работы в рамках выбранного опорного вида тестирования.
Состав тестовых работ выбирался из опорного списка:
- Планирование.
- Подготовка сценариев.
- Подготовка тестового окружения.
- Выполнение тестов.
- Анализ результатов тестирования.
- Отчёты.
- Отслеживание дефектов.
Каждый раз для выбора вида тестирования использовалась карта. Каждый раз использовался опорный список видов работ.
Попарное сравнение
Всё познаётся только в правильно выполненном сравнении.
Автор мне неизвестен, возможно, Фридрих Ницше или Рене Декарт.
На конкретных примерах рассматривали, какая техника тест-дизайна при подготовке сценариев более применима к
функциональному тестированию, а какая к
конфигурационному. Разбирали в чём отличия выполнения тестов для основного функционального
исследовательского тестирования, от основного функционального тестирования
по тестам. Чем будут отличаться планы тестирования. Как при этом, выглядят проекты тестов (чеклист или mind-карта, против инструкций с порядком действий и ожидаемым результатом). Что является общим — процесс отслеживания дефектов.
Рассматривали, чем отличаются отчёты по
конфигурационному тестированию и тестрованию
масшабируемости, или отчёты по
нагрузочному и
объёмному.
Приносил примеры отчётов, несекретных и старых, сокращал их до 3-х страниц, удалив конфиденциальную информацию. Разбирали, что в отчётах общего (структура: цели, основа, краткие результаты, детали). В чём отличия. Как их читать. Как составлять. Как формировать автоматически.
Так, перебирая попарно виды тестирования формировал представление о выборе инструментов, подходов, целей и задач изучаемой деятельности.
Список работ по тестированию взял из SWEBOK (v3), глава 4 «Software Testing», раздел «Test Process», подраздел «Test Activities».
Эти виды работ выполняют инженеры по тестированию постоянно. Каждый вид работ важен. Для каждого есть хорошие и плохие рекомендации, инструменты, техники. Целью лекционных занятий было донесение до студентов видов тестирования и видов работ по тестированию. Относительно небольшой перечень знаний, и этих знаний достаточно, чтобы начать улучшать качество программного обеспечения.
Зачем карта
Нам не дано предугадать, как слово наше отзовется ...
Фёдор Иванович Тютчев, 27 февраля 1869.
Карта является опорным конспектом для преподавателя. Напоминает о чём, надо успеть сказать. Помогает не сказать лишнего. Ведь времени так мало, а рассказать надо так много.
Ранее преподавал в учебном классе, где были только парты доска и мел. На занятия приходил точно к началу, доску не готовил. Стоять спиной и рисовать изучаемую предметную область во время занятий не хотел. Объяснить взаимосвязи на схемах удобно. Поэтому для каждой темы делал mind-карту. Распечатывал в нескольких экземплярах, раздавал студентам на занятии. Доску и мел использовал для изображения примеров. Рисовали как байтики движутся по схеме системы и приводят к SQL-инъекции, или как работает горизонтальное масшабирование. Так сформировалась привычка готовить mind-карты.
Карта позволяет:
- запоминать материал быстрее;
- экономить время при начале занятия;
- использовать официально разрешенную шпаргалку как для преподавателя так и для студента.
Ведя занятие, читаешь по бумаге, но чтение между строк допустимо.
Студенты, имея перед глазами карту, имеют больший выбор:
- просто слушать;
- коспектировать;
- рисовать.
Больше думают, легче находят аналогии, увереннее отвечают на вопросы. Готовишь карту к каждому занятию, студенты начинают ждать очередной материал. И если, вдруг, не подготовить схему, то занятие начнётся с вопроса: «А что, принтер сломался?», — смеются, уже хорошо.
Особенность этой карты с видами тестирования — наличие определений для каждого узла. Если сохранить карту в формате html, получится объёмное чтиво.
Есть ограничения использования mind-карт в подготовке темы занятия. При большом количестве узлов, карта плохо читается на формате альбомного листа. И тогда лучше использовать доску и мел — дублировать части схемы на доске.
О доске и меле
Нужно тренировать красивый почерк и стараться рисовать схемы как произведения искусства. Первое время рисовал быстро, писал неровно. Думаю, выглядел, как сумашедший учёный с взъерошенными волосами.
Потом стал стараться писать и рисовать, как в начальных классах. Ровно, красиво, чётко («как слоги в пионерской речёвке»). Студенты стали задавать больше вопросов. Стало понятнее, что занятия стали понятнее.
О преподавании
Готовился основательно. Случались технические сбои и заминки, не всё удавалось показать и объяснить. О каждом случае можно отдельную историю рассказать. Так подготовка лабораторных работ по тестированию — дорога на Эверест, уложенная граблями. Отладить работу автоматического теста в идеальном окружении, бывает, непросто. А если окружение неидеальное, на каждом учебном компьютере оно своё, и тест написан студентом на скорую руку, то лишь телепатия и «эффект разработчика», в которого ты перевоплощаешься, могут помочь.
Преподавание позволяет научиться лучше рассказывать, писать, видеть. Выбирать основное и простое. И будет, что вспомнить, с улыбкой.
Стоит попробовать.
Титры
|
Классификацию видов тестирования составила Юлия Григорьева, на сколько мне известно (если авторов было несколько, сообщите пожалуйста). Получился набор статей на wiki-узле отдела тестирования. |
|
|
При составлении статей использовались различные источники:
- Стандартный глоссарий терминов, используемых в тестировании программного обеспечения
- Книга «Гибкое тестирование...» (Криспин и др.)
- Книга «Тестирование программного обеспечения» (Канер и др.)
- Книга «Верификация программного обеспечения» (Синицын и др.)
- Книга «Usability Engineering» (Nielsen)
- Глоссарий NIAG
- Сайт «Про Тестинг»
- Глоссарий НПО Компьютер
|
|
|
Полувшийся набор статей оформил в виде карты. Термины могут быть уточнены, поэтому разместил файл на github, для поддержки версионности. Картинки пока размещены в Яндекс.Фото, надо бы положить их вместе с картой и зафиксировать в разделе releases. |
TypesOfTesting |
|
Для составления карты использовал FreeMind 0.9.0. Также можно использовать xMind и другие инструменты, поддерживающие формат с расширением «mm». |
FreeMind — free mind mapping software |
|
SWEBOK 3 изначально был каркасом курса обучения. В описании специальности было написано, что студенты обучаются программной инженерии. Когда спросил опытного преподавателя, что взять за основу курса, он сказал, что программная инженерия — это SWEBOK. |
Software Engineering Body of Knowledge (SWEBOK) Home |
|
Учебный курс «Тестировние и отладка программного обеспечения» тестировался в 2014 году на студентах кафедры «Програмное обеспечение»: Надежда, Олег, Рамиль, Дмитрий, Анатолий, Артур, Юрий. |
|
|
Аудиторию и оборудование предоставил Ижевский государственный технический университет имени М. Т. Калашникова. |
www.istu.ru |
|
В статье использован кадр из фильма Назад в будующее 2, где Док объясняет, как Биф создал версию будующего, в котором сейчас находятся герои. |
Photos with Christopher Lloyd |
|
В статье использованы пословицы, стихи и фразы, которые стараниями разных людей засели в голове. И иконки из темы Faenza. |
Faenza |