Объясните пожалуйста как выводится результат?
В функцию вы передаете не переменную, а ее значение.
И внутри функции вы изменяете локальную переменную. Значение переменой test остается неизменным.
У вас пробелы в знаниях об областях видимости переменных. Нужно покурить теорию :)
А с чего вы взяли, что 2?