6.7. Экспериментальная процедура
Перед экспериментом мы попросили испытуемых заполнить анкету профилирования. Субъекты также прошли подготовку с лекциями по тестированию и отладке для обеспечения минимального уровня использования знания в качестве отправной точки. Кроме того, испытуемые участвовали в оценочном тесте, где им было предложено справиться с небольшой задачей разработки и отладки, очень похожей на задачи эксперимента. Мы хотели убедиться, что испытуемые тратят достаточно времени. После процесса рандомизации начался эксперимент.
В каждом занятии испытуемые пользовались персональным компьютером со средой разработки Eclipse IDE, оснащенный стандартным отладчиком Java. Субъектам были предоставлены следующие материалы:
- исходный код приложения в виде сжатого проекта;
- тестовый кейс с обнаружением ошибок, используемый для выполнения отладочной задачи;
- набор слайдов с описанием экспериментальной процедуры, описанием системы и теста требования к корпусу.
Каждый сеанс был проведен в соответствии со следующей процедурой:
- Импорт кода приложения в Eclipse.
- Отметьте время запуска.
- Запустите тестовый кейс и используйте его для отладки приложения и устранения неисправности.
- Отметьте время остановки.
- Используйте DTE/EJD для создания подписанного архива, содержащего измененный исходный код, DTE/EJD записывает в журнал и посылает его экспериментатору, используя URL на каждый объект Google drive.
- Заполните опросный лист после сессии.
Во время проведения эксперимента в лаборатории присутствовали преподаватели-ассистенты для предотвращения сотрудничества между испытуемыми и проверки соблюдения экспериментальной процедуры (в частности, что время было правильно отмечено). После эксперимента всем испытуемым было предложено заполнить формулу пост-экспериментальный опросник, посвященный получению представления о поведении испытуемых во время эксперимента и нахождению обоснования для количественных наблюдений. Опрос состоит из из пяти вопросов, выраженных по шкале Лайкерта:
-Q1: Было ли выделено достаточно времени для выполнения задачи?
-Q2: Считаете ли вы, что руководство по окружению помогло найти ошибку?
-Q3: Четко ли сформулирована задача?
-Q4: Является ли тестовый случай понятным?
-Q5: Понятен ли исходный код системы?
Каждый вопрос состоит из пяти вариантов ответа (категорически не согласен, не согласен, согласен, и согласен и нет, полное одобрение).
7. Результаты.
В этом разделе представлены результаты экспериментов. Все данные разработаны и последующая статистика анализов была выполнена с использованием R проекта.2.
7.1 Тестирование гипотез отладки после обучения (H01 и H01).
Описательная статистика, относящаяся к Марку 1 и Марку 2 (представленная в таблице 2), показывает, что точность отладки, полученной студентами, которые использовали DTE-среду во время обучения, было выше, чем в другом случае (EJD).
На рисунке 6 показаны результаты, полученные GroupDTE и GroupEJD . Эти босспоты показывают успеваемость студентов по количеству правильных исправлений и среднему времени, затраченному на выполнение отладочных заданий. В обоих случаях (баллы и время выполнения), сравнивая Марка 2 с Марком 1 наблюдается явное улучшение успеваемости учащихся. Однако, как бы то ни было наблюдаемое улучшение является гораздо более последовательным (и значительным) для группы E.
В частности, в первых четырех строках таблицы 4 приведены результаты t-теста, выполненного для Марка 1 и отметка 2 (сравнение точности и эффективности отладки) для групп GroupDT E и GroupEJD . В дополнение к статистическому сопоставлению, в таблице мы также добавили третью и пятую колонки, размер эффекта от разницы с использованием дельта-непараметрического размера эффекта Клиффамера [19]. Она определяется как вероятность того, что случайно отобранный член одной выборки имеет более высокий отклик, чем случайно выбранный член второй выборки, за вычетом обратной вероятности. Дельта Клиффа считается незначительной для |d| < 0,147, малой для 0,148 ≤ |d| < 0,33, средней для 0,33 ≤ |d| < 0,474 и большая для |d| ≥ 0,474. Мы сравнили две группы по разным маркам (т.е. DTE на Марке 2 в отношении DTE на Марке 1 и EJD на Марке 2 в отношении EJD на Марке 1). Это чтобы отвергнуть нулевую гипотезу, которая гласит, что курс не повлиял на отладку выступления (вторая и третья строки в таблице). Мы также сравнили две группы по-одному (первая и четвертая строки таблицы), чтобы:
- заботиться о том, чтобы предметы были правильно сбалансированы и не начинались со значительной разницы в выступлениях (Марк 1);
- проверить, было ли использование DTE более эффективным в отношении тренировок EJD (Марк 2).
Как видно из таблицы, уровень значимости теста, как для DTE, так и для EJD при Марке 2 по сравнению с DTE и EJD на всех отметках, более 95%. И наоборот, уровень значимости ниже 95% для:
- DTE на Mark 1 и EJD на Mark 1 - это означает, что нет разницы в выступлениях обеих групп (DTE и EJD) на Mark 1 (т.е. до начала курса);
- EJD группы по Mark 2 и Mark 1 - это означает, что использование классического отладчика в течение курса не оказалывает существенного влияния на эффективность.
Как следствие, можно сделать следующие выводы:
- Две нулевые гипотезы H01, которые гласят, что студенты, использующие среду DTE, будут не получать различные преимущества по отношению к студентам, которые использовали классическую среду EJD, может быть отвергнут (уровень значимости ниже порога альфа, который мы установили на уровне 0,05);
- Значение p ниже для групп DTE (третья и четвертая строки) по отношению к группам EJD (второй ряд), что означает более убедительные доказательства против нулевой гипотезы;
- Курс оказал значительное влияние на точность отладки, повысив баллы испытуемых, но не оказал существенного влияния на эффективность. Как видно из таблицы 4, р-значение среди EJD на две отметки ниже порога альфа (α = 0,05) только для точности отладки, не являющейся существенной для эффективности отладки.
Повторное использование ошибочного исходного кода для поддержки начинающих программистов в задачах отладки. 7.2