speclogo

IMS 평가 문항 상호운용성 - 활용 사례 및 실행 가이드

발행일 2008년 00월 00일
최신 버전 IMS 평가 문항 상호운용성 - 활용 사례 및 실행 가이드 버전 2.1
이전 버전

1)IMS 지적재산권 웹 페이지 : http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf
심의부회 :
성 명 근 무 처 직 위
원안작성 협력기관 : 한국교육학술정보원(IMS Korea 표준화 포럼)
성 명 근 무 처 직 위
(위 원 장) 황대준
성균관대학교
교수
(실무위원) 김성윤
(주)포씨소프트
이사
(실무위원) 김 현
(주)씨티유니온
과장
(실무위원) 유욱종
(주)다울소프트
부장
(실무위원) 조성현
테크빌닷컴(주)
부사장
(실무위원) 조용상
한국교육학술정보원
팀장
(실무위원) 장근원
(주)크레듀
과장
(실무위원) 차남주
(주)디유넷
부사장
(실무위원) 최성기
SK C&C
과장
(자문위원) 권희춘
수원여대
교수
(자문위원) 김종현
계원예술대학
교수
(자문위원) 김현진
한국교원대학교
교수
(자문위원) 손진곤
한국방송통신대학교
교수
(자문위원) 정광식
한국방송통신대학교
교수
(자문위원) 한태인
(주)메디오피아
부사장
(간 사) 신성욱
한국교육학술정보원
연구원

머 리 말

이 표준은 한국의 온라인 평가문항의 공유 및 유통 체제 확립을 위해 IMS Global Learning Consortium(이하 GLC)의 Question & Test Interoperability 표준을 기초로 작성한 IMS Korea 단체표준이다. 이 표준은 한국의 문화적, 교육적, 언어적 특수성 등을 감안하여 현지화 등 확장을 고려하여 작성되었다. 또한 이 표준을 실제 구현할 때, 부분적으로 선택하여 적용할 수 있도록 필수와 선택 영역이 구분되어 있으므로 목적에 따라 선별적인 적용이 가능하다. 이 표준은 이러닝 분야 온라인 평가문항 및 시험 표현 방법을 체계적으로 바인딩할 수 있도록 정의된 모델로서, 평가시스템에서 응시자에게 문항 또는 시험을 전달하는 시점부터 응시, 피드백 제공, 결과 제출 단계까지의 프로세스를 생명주기 관점에서 표현할 수 있도록 설계되었다. 평가문항 및 시험은 IMS 콘텐츠 패키징 표준을 이용해서 구조화 될 수 있으며, IMS 콘텐츠 패키징 표준 포맷은 실제 유통되는 포맷으로서, 이러닝 플랫폼에 탑재(import) 또는 추출(export)되는 표준화된 메커니즘을 제공한다. 이 표준은 멀티파트로 구성되며, 다음과 같은 세가지 표준 문서로 구성된다.
  • Part 1 : 정보모델 (Information Model)
  • Part 2 : XML 바인딩(Binding)
  • Part 3 : 활용 사례 및 실행 가이드(Best practice & Implementation Guide)
이 표준은 저작권법에서 보호 대상이 되는 저작물이다. 이 표준 문서의 표지에 있는 지적재산권 공지 사항을 숙지할 것을 다시한번 강조한다. 참고로 이 표준은 현재 기술표준원의 표준개발협력기관 지원사업(2007년 ~2009년)의 일환으로 국가 표준(KS) (안) 개발에도 활용되고 있으며, 교육과학기술부의 사이버가정학습 및 디지털 교과서 등과 같은 정책사업에 우선 적용 가능한 표준이다. 뿐만 아니라, 온라인 테스트를 서비스하고 있는 고등교육기관 및 직업훈력기관에서도 적용 가능한 표준이다.

1 적용범위

이 표준의 주된 목적은 평가 문항을 표현 및 교환하기 위해 사용될 수 있는 문항, 섹션, 테스트 전체에 대한 정보 모델과 연결 바인딩을 정의한다.

2 인용 표준

2.1 참조 표준

  • SMITH : Development of an implementation of QTI Version 2.0, Dr. Graham Smith, with support from CETIS and UCLES
  • XHTML : XHTML 1.1: The Extensible HyperText Markup Language
  • XML : Extensible Markup Language (XML), Version 1.0 (second edition), Published: 2000-10
  • XML_ERRATA : XML 1.0 Specification Errata, http://www.w3.org/XML/xml-19980210-errata

3 문항(Items)

QTI 표준의 주된 목적은 평가 문항을 표현 및 교환하기 위해 사용될 수 있는 정보 모델과 연결 바인딩을 정의하는 것이다. QTI의 경우, 문항은 상호작용(비어 있을 수도 있지만)의 집합이며 보조자료와 함께 사용될 수 있다. 또한, 문항은 응시자의 응답을 평가 결과로 전환하는데 필요한 선택적 규칙 집합(optional set of rules)이기도 하다.

3.1 문항의 크기

문항에 대한 정의는 여러 가지로 해석이 가능하다. 문항은 답을 써 넣는 응답상자가 있는 단 한 줄짜리 문제일 수도 있고, 지시문, 보조자료, 다수의 연결 문항으로 이루어진 테스트 전체일 수도 있다. 전자의 경우 QTI는 정보 표현에 있어 적합한 표준이 되지만, 후자에서는 그렇지 못하다. 여러 상호작용으로 구성된 평가 콘텐츠를 하나의 assessmentItem (QTI에서는 종합문항으로 알려져 있는)로 표현해야 하는 가의 여부를 결정하기 위해, 상호작용의 관계가 지니는 효과성이 검증될 필요가 있다. 만약, 문항이 독자적으로 유지될 수 있다면, 가장 좋은 방법은 객체로서 포함되는 사진이나 지문 등과 같은 보조자료를 공유하면서 이들이 개별 문항으로 실행되는 것이다. 만약 여러 상호작용이 긴밀하게 연관되어 있다면 이들 상호작용은 하나의 종합 문항에 속하지만, 문제는 여러 상호작용이 포함되어 있는 경우 응시자가 얼마나 쉽게 문항의 단계를 따라갈 수 있는가이다. 만약 문제가, 응시자가 모든 상호작용을 단지 보기만 하려 해도 컴퓨터 화면의 윈도우 창을 스크롤 해야 하도록 만들어 졌다면 이 문제는 보다 작은 단위의 연관된 문항으로 다시 작성하는 것이 바람직할 것이다. 화면 읽기(screen reader)를 활용하여 문제를 풀어야 하는 사용자의 어려움을 또한 고려해 본다면, 상호작용 포인트가 다수인 문항은 이와 같은 인터페이스에서는 무리일 수 있다.

3.2 단순 문항(Simple Items)

단순 문항은 하나의 상호작용 포인트 만을 포함하는데, 예를 들면 단순한 다중 선택형 또는 다중 응답형 질문 등이다. 이 섹션은 단순 문항을 나타내는 예시를 설명하고 있으며, 본 표준이 지원하는 상호응답 유형 각각에 예시를 하나씩 실었다. 무주 수하물 (Unattended Luggage) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/choice.xml
IMS KR 1002-3_3.1

그림 3.1 무주 수하물 (일러스트레이션)

이 예시는 응시자로부터 하나의 응답을 도출하기 위해 사용되는 choiceInteraction을 보여준다. 문항의 최상위에서 응시자의 응답이 단일 식별자로 선언되며, 그리고 이 식별자가 취할 수 있는 값은 개별 simpleChoices에 대한 해당 식별자 속성 값이라는 점에 유의한다. 정답은 문항의 선언(declaration)에 포함된다. 이와 같은 단순 예시에서는 응답 변수와 상호작용이 모두 하나씩이지만, 상호작용은 분명 choiceInteraction 클래스의 responseIdentifier 속성을 사용하는 응답 선언(response declaration)에 여전히 바인딩(binding)되어 있어야 한다. 응답은 표준 응답처리 템플릿의 하나인 Match Correct를 사용하여 채점된다. 무주 수하물 (고정된 보기를 가짐) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/choice_fixed.xml 이 예시는 이전 예시의 변형으로, fixed 속성을 사용하여 문항 옵션 중 하나의 위치가 고정되는 것을 보여준다. 무주 수하물(DTD) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/choice_doctype.xml 이 예시는 위의 무주 수하물과 동일하나, 단 XSD 대신 DTD 바인딩 사용을 보여준다는 점이 다르다. XSD 양식이 선호되며 DTD를 사용하는 대체 바인딩 방식은 이번 예시에서만 보여진다. 물의 구성 (Composition Of Water) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/choice_multiple.xml
IMS KR 1002-3_3.2

그림 3.2 물의 구성 (일러스트레이션)

이 예시는 응시자로부터 다중 응답을 도출하기 위해 사용되는 choiceInteraction을 보여준다. 다중 중복성(multiple cardinality)을 갖는 응답이 선언되며, 옳은 값은 따라서 하나 이상의 값으로 구성된다는 점에 유의한다. 이 예시는 앞의 것과 동일한 방식으로 채점될 수도 있었다. 즉, 2개의 옳은 요소 (오직 2개의 옳은 요소만)를 찾아낸 경우에 1점을 주고, 그렇지 못한 경우에는 0점을 주는 것이다. 하지만 표준 응답 처리 템플릿 Map Response를 사용하는 대신, 부분 크레딧을 주는 방법이 채택되었다. 이 템플릿은 RESPONSE의 mapping을 사용하여 각각의 보기에 지정된 값의 합계를 산출한다. 그 결과, 옳은 보기 2개 (만)를 찾는데 2포인트가 주어졌다. 세 번째 (틀린) 보기를 고르면 점수를 2 포인트 (염소(Chlorine)은 예외) 차감하여 0이라는 결과를 얻는데, 이는 매핑되지 않은 키들이 기본값으로 변경(map)되기 때문이다. 전체적으로 마이너스 점수가 되는 것을 방지하기 위해, 범위 또한 지정되었다. 염소를 선택한 것에 대한 벌점은 작은데, 이는 공통 물 첨가제로서의 염소 역할을 반영하기 위해서이다. 또한 SCORE가 플로트(float)로 설정될 필요가 있다. 그 이유는 플로트(float)로 되돌아오는 map_response 템플릿을 사용하기 때문이다. 쵸코렛 우유 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/choice_multiple_chocolade.xml 이 예시는 두 개의 옳은 응답 세트를 갖는 응시자로부터 다중 응답을 도출하기 위해 사용되는 choiceInteraction을 보여준다. 바레인 그랑프리 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/order.xml
IMS KR 1002-3_3.3

그림 3.3 바레인 그랑프리 (일러스트레이션)

이 예시는 orderInteraction을 보여 준다. 순차적 응답이 선언되며, 옳은 값은 따라서 순차적 값 목록으로 구성된다. shuffle 속성은 전송 엔진에게 지시하여 보기가 응시자에게 보여지기 전에 순서를 섞는다. fixed 속성은 처음 제시된 순서가 정답이 되지 않도록 분명히 하기 위해 사용된다. 질문은 표준 응답 처리 템플릿 Match Correct를 사용하여 전부 맞은 답에 1점, 그렇지 않은 답에 0점을 준다. 셰익스피어의 라이벌 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/associate.xml
IMS KR 1002-3_3.4

그림 3.4 셰익스피어의 라이벌 (일러스트레이션)

이 예시는 associateInteraction를 보여 준다. 과제가 보기를 묶는 것이기 때문에 쌍(pair)을 갖는 응답이 선언된다. associateInteraction에 대한 maxAssociations 속성은, 응시자가 전반에 걸쳐 만들 수 있는 묶음의 최대치를 통제한다. 개별적으로 각각의 보기는 matchMax 속성을 가지며, 이는 얼마나 많은 수의 쌍(pairing)에 각 보기가 포함될 수 있는 가를 통제한다. associateInteraction에서 만들어 질 수 있는 연결 관계(association)의 갯수는 따라서 두 가지 방법에 의해 제한된다—이 경우 두 방법 모두 전반적으로 동일한 효과를 갖지만, 반드시 그래야 할 필요는 없다. 응시자가 생성한 연결 관계는 방향이 정해지지 않은 것으로, 쌍(pair) 기본형은 무방향성이고, 따라서 응답을 비교할 때, ‘A P’는 ‘P A’로 처리될 것이다—이들간의 구별은, 비록 응시자가 사용하는 물리적 프로세스가 방향성을 갖는, 예를 들어 보기들 간의 줄긋기라고 하더라도 상호작용에는 아무 의미가 없다. 등장 인물과 희극 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/match.xml
IMS KR 1002-3_3.5

그림 3.5 등장 인물과 희극 (일러스트레이션)

이 예시는 matchInteraction을 보여 준다. 이번에는 응시자의 응답이 방향 쌍(directedPair)로 선언되는데, 이는 소스 세트(source set)의 보기를 타겟 세트(target se)로 묶어야 하기 때문이다. 이 경우는, 희극에 나오는 등장 인물들과 그들이 나온 희극의 이름을 묶는 것이다. 유의해야 할 점은, 등장인물에 대한 matchMax는 1이고, 이는 각각의 등장인물은 단 하나의 희극에만 등장할 수 있기 때문이다 (주제에서 벗어난 얘기지만, 사실 셰익스피어는 등장 인물의 이름을 자주 다시 사용했다). 하지만 희극에 대한 matchMax는 4인데, 이는 각각의 희극이 등장 인물 모두를 포함할 수 있기 때문이다. 예를 들어, 드미트리우스와 라이샌더는 둘 다 A. 한여름 밤의 꿈에 등장했고, 따라서 이 희극이 갖는 옳은 응답은 두 개, 즉 연결 관계가 두 가지인 것이다. 응답 처리 매핑에서는, 이들 두 연결 관계 각각에 점수의 반 만을 부여한다. 리처드 3세 (Take 1) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/gap_match.xml
IMS KR 1002-3_3.6

그림 3.6 리처드 3세III (일러스트레이션 1)

이 예시는 gapMatchInteraction을 보여 준다. 이 상호작용은 matchInteraction과 유사하나, 다만 두 번째 세트의 보기들이 주어진 텍스트에서 빈칸으로 제시된다는 점과, 과제가 첫 번째 세트의 보기 중에서 골라 이를 채운다는 점이 예외이다. 연관된 보기가 단 하나라는 이유 때문에 빈칸에 맞는 matchMax가 없기는 하지만, 어느 쌍(pairing)이 얼마나 많이 허용될 것인가를 통제하는 작업에도 이와 동일한 속성이 사용된다. 채점작업은 다시 매핑으로 진행된다. 리처드 3 (Take 2) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/inline_choice.xml
IMS KR 1002-3_3.7

그림 3.7 리처드 3세 (일러스트레이션 2)

위의 리처드3세 (Take 1) 예시는 공유 보기 묶음(shared stock of choices)에서 빈칸 채우기 사용을 보여 준다. 빈칸이 하나이거나, 또는 보기목록 각각에 독립적으로 채울 빈칸이 여럿인 경우, inlineChoice 상호작용을 사용한다. 리처드 3세 (Take 3) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/text_entry.xml
IMS KR 1002-3_3.8

그림 3.8 리처드 3세 (일러스트레이션3)

빈칸 채우기 방법의 세 번째, 즉 최종은 응시자가 응답을 직접 작성하도록 하는, 대개의 경우 겝에 입력하는 방법인 textEntryInteraction을 사용하는 것이다. 입력할 텍스트의 분량에 대한 안내는 expectedLength 속성에 주어져 있다—다만 원하는 경우에 응시자는 보다 많은 분량을 입력할 수 있어야 한다. 이 문항에 대한 채점은 옳은 응답과 일치해야 하지만, 실제로는 매핑을 사용하여 "york" (소문자로 입력된)에 대하여 부분 크레딧을 인정한다. 문자열을 바꿀 때, 매핑은 항상 대소문자를 구별한다. 이 예시는 또한 응답이 오직 단일 다중성(single cardinality)를 가질 때의 매핑 사용도 보여 준다. 엽서 쓰기 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/extended_text.xml
IMS KR 1002-3_3.9

그림 3.9 엽서 쓰기 (일러스트레이션)

응시자에게 확장된 응답을 요구하는 경우에는 extendedTextInteraction이 적절하다. 이 예시는 responseProcessing 섹션을 포함하지 않는데, 이는 확장 텍스트 응답에 대한 채점은 본 표준의 범위를 벗어나는 것이기 때문이다. 올림픽 경기 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/hottext.xml
IMS KR 1002-3_3.10

그림 3.10 올림픽 경기 (일러스트레이션)

이 예시는 hottextInteraction을 보여 준다. 이 상호작용은, 강조표시가 된 그리고 응시자에 의해 선택 가능한 핵심단어/구(hot words/phrases)로 구성된 텍스트 절을 제시한다. 이것은 보기가 주변 텍스트의 맥락에서 제시되어야 한다는 점에서 choiceInteraction와 차이가 있다. 영국의 공항들 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/hotspot.xml
IMS KR 1002-3_3.11

그림 3.11 답안이 작성되지 않은 상태의 영국 공항들 (일러스트레이션)

IMS KR 1002-3_3.12

그림 3.12 답안이 작성된 상태의 영국 공항들 (일러스트레이션)

이 예시는 hotspotInteraction을 보여 준다. 이는 hottextInteraction와 대단히 유사하지만, 응시자는 텍스트 절에 삽입되어 있는 hot areas 대신 그래픽 이미지에서 hotspot을 선택해야 한다는 점이 다르다. 응답은 식별자 유형으로, 각각의 hotspotChoice는 식별자를 이미지의 한 영역에 연결시킨다는 점에 유의한다. 에딘버러의 위치는? http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/select_point.xml
IMS KR 1002-3_3.13

그림 3.13 에딘버러의 위치는? (일러스트레이션)

이 예시는 selectPointInteraction을 보여 준다. RESPONSE가 단일 포인트로 선언되며, 이 단일 포인트는 응시자가 표시한 지도 상 포인트의 좌표를 기록한다. 이 선언에서 correctResponse도 주어지지만, 이러한 유형의 문제에서는 응시자가 정확한 위치 포인트를 클릭할 것을 기대하는 것은 무리이고, 변수가 대단히 많기 때문에 가동할 만한 매핑을 만들 수 없을 것이다. 이러한 문제를 극복하기 위해서 areaMapping이 대신 사용되는데, 이것은 좌표 상에 하나 이상의 영역이 숫자 값으로 바뀌는 (채점을 위해)것을 허용한다. 이 예시에서는 하나의 영역만 정의된다: 옳은 (최적의) 응답을 중심으로 반경 8픽셀의 원이 강조된다. areaMapping을 사용해 점수를 설정하는데 표준 응답 처리 템플릿인 Map Response Point이 사용되었다. 항공편으로 집에 가기 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/graphic_order.xml
IMS KR 1002-3_3.14

그림 3.14 항공편으로 집에 가기 (일러스트레이션)

이 예시는 graphicOrderInteraction을 보여 준다. 이 과제는 Grand Prix of Bahrain와 유사하지만, 보기가 그래픽 이미지 상의 hotspot으로 제시된다는 점에서 차이가 난다. 저가 항공편 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/graphic_associate.xml
IMS KR 1002-3_3.15

그림 3.15 답안이 작성되지 않은 상태의 저가 항공편 (일러스트레이션)

IMS KR 1002-3_3.16

그림 3.16 답안이 작성된 상태의 저가 항공편 (일러스트레이션)

이 예시는 graphicAssociateInteraction을 보여 준다. 과제는 셰익스피어의 라이벌과 유사하지만, 보기가 그래픽 이미지 상의 hotspot으로 제시 된다는 점에서 다르다. matchMax이 hotspot 각각에 3으로 설정되며, 응시자가 각각의 hotspot을 세 번까지 연결할 수 있도록 허용된다 (다시 말해, 원하는 경우 다른 모든 핫스팟에 연결된다). 공항 태그 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/graphic_gap_match.xml
IMS KR 1002-3_3.17

그림 3.17 공항 태그 (일러스트레이션)

이 예시는 graphicGapMatchInteraction을 보여 준다. 과제는 리처드 3세(Take 1)와 유사하지만, 보기의 첫 번째 세트가 이미지, 두 번째 세트가 보다 큰 배경이미지 내의 빈 공간이라는 점에서 다르다. 잡아끌기(dragging) 기능을 지원하는 그래픽 시스템에서, 이 작업은 대체적으로 드래그 앤 드롭 기능을 사용해 실행된다. 공항 위치 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/position_object.xml
IMS KR 1002-3_3.18

그림 3.18 공항 위치 (일러스트레이션)

이 예시는 positionObjectInteraction을 보여 준다. 에딘버러의 위치는? 과 공통점이 많지만, 이미지 (스테이지) 상에 주어진 객체를 위치시킴으로써 ‘포인트’가 선택된다는 점에서 차이가 난다. 다만 이 스테이지는 상호작용 밖에서 지정된다는 점에 유의한다. 이를 통해, 여러 포지션 객체 상호작용들이 하나의 스테이지를 공유할 수 있다. 제다이 기사 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/slider.xml
IMS KR 1002-3_3.19

그림 3.19 제다이 기사 (일러스트레이션)

이 예시는 sliderInteraction을 보여 준다. 여기서 비율(percentage) 추정치를 얻기 위해 사용된다. 상호작용은 이때 표준 Map Response 응답 처리기를 사용해 채점될 수 있는 정수 응답에 묶여 있다.   카사 지오바니 (La casa di Giovann) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/drawing.xml 이 예시는 drawingInteraction을 보여 준다. RESPONSE가 파일 유형으로 선언된다는 점에 유의한다. 이 그림은 미리 제공되도록 요청된 캔버스 위에 그려지며, 기존 이미지 유형을 갖는다. 이 캔버스는 또한 응시자 응답의 적절한 크기, 해상도, 이미지 유형에 대한 결정에 사용된다. 쵸코렛 공장(Take 1) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/upload.xml 이 예시는 uploadInteraction을 보여 준다. RESPONSE가 파일 유형으로 다시 다시 선언된다. 응시자에게는 과제에 대한 응답으로 본인의 스프레드시트를 업로드할 수 있는 메커니즘이 제공된다. 파일 기반 문제를 위한 응답 처리는 본 표준의 범위를 벗어난다.

3.3 종합 문항

하나 이상의 상호작용 포인트를 포함하는 문항을 말한다. 종합문항은 동일한 유형의 상호작용 인스턴스를 여럿 포함하거나, 또는 여러 유형을 혼합하여 가질 수 있다. 쵸코렛 공장(Take 2) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/upload_composite.xml 이 예시는 쵸코렛 공장(Take 1)을 확장하여 객관적인 채점이 가능한 텍스트 응답 필드를 추가한 것이다.

3.4 응답 처리

지금까지 모든 예시는 표준 응답 처리 템플릿 중 하나를 사용하여 채점되거나 객관적 채점에 부합하는 것들이었다. 단순한 시나리오에서는 응답 처리 템플릿 사용이 권장되는데, 이를 통해 제한된 수의 고정된 채점 방법에만 활용되는 시스템 간 의 상호운용성이 증진되기 때문이다. 많은 문항, 특히 피드백과 관련된 문항에는 본 표준에서 정의되는 보다 일반적인 응답 처리 모델이 사용되어야 할 것이다. 표준 템플릿들은 그 자체가 보다 일반적인 응답 처리 언어를 사용해 정의된 것이다. 바레인 그랑프리 (부분 점수 주기) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/order_partial_scoring.xml 이 예시는 바레인 그랑프리를 확장한 것으로 부분 점수 기능이 포함된 것이다. 연단에 올라갈 세 명의 카레이서를 놓고, 응시자가 택할 수 있는 응답은 여섯 가지, 정답은 단 하나뿐이다. 앞에서 정답에는 1점, 다른 답에는 0점이 매겨졌다. 이번에는 정답에 2점이 주어진다. 마이클 슈마허(Michael Schumacher)를 1위 자리에 올바르게 위치시키고 다른 사람의 자리는 틀렸다면 1점이 주어진다. 바리켈로(Barichello) 또는 버튼(Button)을 1위 자리에 두면 0점이 주어진다 (그 밖의 다른 점수의 조합이 제공된다). 응답 처리는, 응답처리기에 따라 순서대로 진행되어야 할 규칙의 순서로 구성된다. responseCondition 규칙은 responseIf, responseElseIf, responseElse 섹션으로 나뉘는 하위 규칙 시퀀스를 포함하는 특수 유형이다. 응답 처리기는 responseIf 과 responseElseIf 요소 내부의 표현식을 평가하여 어떤 하위 시퀀스를 따라야 할 지를 결정한다. 이 예시에서 responseIf 섹션은, 식별자 RESPONSE를 갖는 변수와 선언된 정답이 일치하는 경우에만 이어서 가동된다. responseElseIf 섹션은, RESPONSE이 명확히 주어진 응답 (1위만 맞추고 다른 순위는 틀린)과 일치하는 경우에만 이어서 가동된다. 마지막으로, 이전 두 경우가 모두 적용되지 않을 때는, responseElse 섹션이 따라온다. responseElse 섹션은 물론 그에 상응하는 표현식을 갖지 않는다. setOutcomeValue 요소는 단지 하나의 responseRule로서, 처리기에게 지정된 결과 변수 값을 그 변수가 포함하는 표현식 값에 설정하도록 지시한다. variable, correct, baseValue 요소들은 단순 표현식의 예이다. 다시 말해, 나눌 수 없는 표현식이다. 이와 반대로, match와 순차적 요소들은 오퍼레이터의 예이다. 이 오퍼레이터는 다른 표현식들과 결합하여 새로운 값을 만들어 내는 표현식이다. 예를 들어, match는 두 표현식이 일치하는 값을 갖는 가의 여부에 따라 불리언(boolean)을 형성하기 위해 사용된다.

3.5 피드백

피드백은 responseProcessing 결과를 기초로 응시자에게 조건적으로 제시되는 자료들로 이루어져 있다. 다시 말해, 피드백은 결과 변수 값에 의해 통제 되는 것이다. 피드백 자료에는 형식적인 피드백과 통합적인 피드백 두 가지 유형이 있다. 형식적인 피드백이 응시자에게 제시되는 시점은 응답 처리가 시작된 이후이면서, 문항에 대한 다른 어떤 시도 또는 검토가 가동되기 전이다. 통합적인 피드백은 itemBody에 삽입되어 있으며 이후의 시도 또는 검토의 진행 중에만 보여진다. 멕시코 대통령 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/feedback.xml 이 예시에서는 직접적인 다중 선택형 질문이 ‘피드백(FEEDBACK)’으로 불리우는 추가 결과 변수를 선언하는데, 이 피드백은 통합적인 피드백(feedbackInline 요소)과 형식적인 피드백 두 가지 모두의 가시성을 통제하기 위해 사용된다. 피드백의 가시성 여부는 이 경우 응시자의 응답에 따라 바로 달라지므로, FEEDBACK 은 단순히 RESPONSE 값에 직접 설정되어 있는 것이다.
IMS KR 1002-3_3.20

그림 3.20 응답제출 전 멕시코 대통령 (일러스트레이션)

IMS KR 1002-3_3.21

그림 3.21 응답제출 후 멕시코 대통령 (일러스트레이션)

3.6 적응형 문항

적응형 문항은 버전2의 새로운 기능으로, 문항에 대한 채점이 응시자의 시도 시퀀스 전반에 걸쳐 적응형으로 이루어 진다. 이 기능은 응시자가 피드백 이후에 답을 수정할 수 있게 하며, 또는 현재의 답을 기초로 추가 질문이 제시될 수 있다. 응답 처리는 적응형 문항에 대해서는 다르게 작동한다. 일반적으로 (비적응형 문항에 대해), 각각의 시도는 독립적이며, 결과 변수는 responseProcessing이 실행될 때마다 본래의 기본값으로 설정된다. 적응형 문항에 있어서, 결과변수는 자체의 값을 여러 번에 걸쳐 계속 유지되며, 이후 따라오는 응답처리에 의해서만 업데이트 된다. 이러한 차이는 assessmentItem의 adaptive 속성 값에 의해 표시된다. 적응형 문항도 물론 응시자에게 피드백을 제공해서 응시자가 응답을 수정할 수 있도록 한다. 적응형 피드백을 갖는 멕시코 대통령 질문 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/feedback_adaptive.xml 이 적응형 예시에서는 응시자가 각각의 시도에서 전부 다른 멕시코 대통령 질문을 받게 된다. 이 문항은 정답이 제공되기 전까지 네 번의 오답시도가 허용된다. 몬티 홀(Take 1) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/adaptive.xml 이 예시는 유명한 수학 문제에 대한 것으로 사용자에게 게임으로 제시된다. feedbackBlock 요소가, 수 많은 결과 변수와 연계하여, 프리 프로세싱을 수행하는 갬빗(Gambit)에서부터 상을 탈 것인가의 여부가 결정되는 마지막까지 이야기 흐름을 통제 하기 위해 사용된다. 이야기가 결론을 맺으면, 사용자는 자신이 택한 전략에 대한 질문을 받게 된다. 이 질문에 대한 채점은 본인이 선택한 실제 전략 (1점)과 마지막 질문에 대한 대답 (2점)을 기초로 계산된다는 점에 유의한다. 만약 처음에 전략을 잘못 선택하게 되면 게임에서 계속 지게 될 것이다. 이 게임이 속임수처럼 느껴진다면, 동일한 질문 (몬티 홀(Take 2))에 적응성과 문항 템플릿의 강력한 기능을 첨가하여 보다 현실적인 버전을 개발한다.
IMS KR 1002-3_3.22

그림 3.22 몬티 홀 최종 시도 (일러스트레이션)

IMS KR 1002-3_3.23
그림 3.23 몬티 홀 두 번째 시도 (일러스트레이션)
IMS KR 1002-3_3.24

그림 3.24 몬티 홀 세 번째 시도 (일러스트레이션)

IMS KR 1002-3_3.25

그림 3.25 몬티 홀 최종 피드백 (일러스트레이션)

앞의 예시에서는, 기본적인 시도 종료 방법이 문항 전반에 걸쳐 사용되었다. 하지만 때때로 응시자가 시도를 종료할 수 있는 다른 대안적 방법, 즉 옵션을 제공하는 것이 바람직하다. 가장 흔한 것은 최종 답안을 제출하는 옵션 대신, 힌트를 요구하는 옵션이다. QTI는 특수 목적 endAttemptInteraction을 통해 이들 대안적 경로를 수용하는 유연한 방식을 제공하고 있다. 힌트가 있는 멕시코 대통령 질문 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/hint.xml 이 예시는 멕시코 대통령을 확장한 것으로 피드백 그리고 힌트 요청 옵션을 둘 다 제공하도록 만든 것이다. endAttemptInteraction은 응답 변수 HINTREQUEST의 값을 통제하는데, 이 변수는 응시자가 힌트를 요청하며 시도를 끝낸 경우에는 참(true)으로, 그렇지 않은 경우에는 불허(false)로 설정된다.

3.7 문항 템플릿

문항 템플릿은 버전 2의 새로운 기능으로 다수의 동일 문항이 같은 assessmentItem을 사용해 정의된다. 구멍 파기(Digging a Hole) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/template.xml 이 예시는 단순 textEntryInteraction을 포함하지만, 질문과 정답은 각각의 문항 세션마다 다르다. 일반적인 RESPONSE와 SCORE 변수들에 추가로 다수의 템플릿 변수가 선언된다. 이들의 값은 templateProcessing 규칙 세트에 의해 설정된다. 템플릿 처리는 응답처리와 대단히 유사하다. 동일한 조건 모델과 표현식 언어가 사용된다. 차이점은 templateRules가 템플릿 변수 값을 설정하며 결과 변수 값은 설정하지 않는다는 것이다. 유의할 점은 A 와 B에 어떤 값이 선택되었는가에 따라 답이 달라지기 때문에 RESPONSE 선언은 correctResponse에 대한 값을 선언하지 않는다는 것이다. 대신, 템플릿 처리 섹션의 setCorrectResponse 이라는 특수한 규칙이 사용된다. randomInteger 요소는 지정된 범위에서 무작위 정수를 골라내는 단순 표현식을 나타낸다. random 요소는 콘테이너에서 무작위 값을 골라내는 오퍼레이터를 나타낸다. itemBody는 printedVariable 요소를 사용해 템플릿 변수 값을 보여 준다. 믹(Mick)여행 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/template_image.xml 때로는, 템플릿 변수 값이 직접적인 표현할 수 없는 문항의 모습들 일부를 다양화 시키는 것이 바람직하다. 예를 들어, ‘믹(Mick)의 여행’ 에서, itemBody에는 템플릿 변수에 선택된 값에 따라 달라질 필요가 있는 일러스트레이션이 들어 있다. 이 일러스트레이션을 얻기 위해, 세 개의 templateInline 요소가 사용되는데, 이들 각각은 다른 img 요소를 포함한다. 이 요소(유사한 templateBlock과 함께)는, 템플릿 변수로 자신의 가시성을 통제하는 속성을 갖고 있는데, 이 통제 방법은 결과변수가 피드백의 가시성을 통제하기 위해 사용될 때의 방법과 동일하다. 문항 템플릿은 적응형 문항과도 결합될 수 있다. 몬티 홀(Take 2) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/adaptive_template.xml 몬티 홀(Take 1)에서는, 게임을 고정시킴으로써 속임수가 사용되었고, 그 결과 잘못된 전략으로 응시자는 항상 상(과 첫 번째 점수)을 놓쳤다. 이번 버전에서는, 문항 템플릿을 사용하여 보다 실제적인 게임 버전을 제공한다. 동일한 결과 변수들이 정의되어 주어진 스토리와 피드백을 통제하였지만, 이번에는 templateDeclaration을 사용하여 변수 PRIZEDOOR을 선언한다. 이때 templateProcessing 규칙이 이기는 문을 무작위로 미리 고르기 위해 사용되면서, 게임이 보다 실제적이 된다. responseProcessing 규칙은 다소 복잡한데, PRIZEDOOR 값을 반드시 확인하여 (a) 응시자의 첫 번째 선택 만으로 몬티가 이기는 문을 열지 않도록 하고, (b)응시자가 실제로 ‘멋진 상’을 탔는지를 확인한다. 이 예시에서, 옮은 전략을 사용해도 응시자는 1/3 확률로 상을 놓치게 될 것이다 (그래도 점수는 항상 얻을 수 있다). 여러분은 게임의 결과가 최종 전략 질문에 영향을 줄 것이라고 생각하는가?

3.8 기타 기술

3.8.1 공유 자료 객체

모든 질문을 그래픽 또는 지문과 같은 몇몇의 공통 보조자료와 관련시키는 것이 바람직할 때가 흔히 있다. 그래픽 파일은 항상 따로 보관되며, img 또는 object 요소를 사용해 그 마크업 내에서 참조된다. 지문 외의 여러 문항에서 그래픽 파일을 가져다 쉽게 참조할 수 있도록 만드는 일도 이런 식으로 처리할 수 있다. object 요소는 외부에서 정의된 지문 (단순 텍스트 파일 또는 HTML 마크업 중의 하나로)이 itemBody에 포함되는 것을 허용한다. 다음의 두 예시는 공유 자료 객체의 사용을 시연해 놓은 것이다. 오크니 섬Q1 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/orkney1.xml 오크니 섬Q2 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/orkney2.xml

3.8.2 스타일 시트

스타일시트를 문항에 연결하는 일은 단순히 assessmentItem. 내에서 stylesheet 요소를 사용하는 것이다. 위의 오크니 섬 예시는 이 요소를 사용하여, CSS2 언어로 작성된 스타일 시트를 연계하고 있다. 유의해서 볼 점은 class 속성을 사용하여 문항의 본문이 서로 다른 스타일로 지정된 두 부분으로 나뉘었으며, 공유 자료는 오른 쪽 판에 나타나고 지시문 및 질문은 왼쪽 판에 보여진다는 것이다. 오크니 스타일시트 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/shared/orkney.css 이 스타일시트는 또한 QTI 버전 2에서 절대값 위치 제공에 대해 가능한 접근법을 보여주는데, 문항 정보 모델은 더 이상 이를 직접적으로 지원하지 않는다. 버전 1에서는 자료요소가 자신의 좌표를 명확하게 설정시킬 수 있었다 (이 기능을 사용한 콘텐츠의 이동에 관한 추가 정보는 Migration Guide 참조).

3.8.3 대체 미디어

XHTML 객체 요소는 미디어 객체의 단계적 기능축소를 지원하기 위해 설계된 것이다. HTML 4.01 표준([XHTML]의 기반이 되는)에 따르면 ‘약 사용자 에이전트가 어떠한 이유 (환경 설정에서 금지되거나, 리소스가 부족해서, 설계가 잘못되어, 등)로든 객체를 변경할 수 없다면, 콘텐츠 변경을 시도해야 한다.’ 엽서 쓰기(Take 2) http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/nested_object.xml 이 예시는 엽서 쓰기와 동일하나, 단 엽서의 그림이 두 가지 포맷으로 제공된다는 점이 다르다. 우선은 캡슐화한 PostScript 파일(EPS)이고, 다른 대안으로는 PNG 비트맵 이미지이다. 마지막에서, 전송 엔진이 이 두 이미지 유형을 다룰 수 없는 경우, 엽서의 텍스트가 바로 보여질 수 있다. 문항 저작자들은 종이, 고해상도 디스플레이, 저화질 디스플레이 등의 각기 다른 여러 출력 미디어에서 적절한 이미지를 유지할 수 있는 이 기술의 사용을 고려해야 한다.

3.8.4 상호작용 대체 렌더링

오크니 섬 스타일시트는 스타일이 문항 본문의 구조를 정의하는 XHTML 요소에 적용될 수 있는 방법을 보여 준다. 클래스 속성은 또한 상호작용에도 적용될 수 있으며 많은 수의 공통 포맷팅 개념이 여전히 사용된다 (글자 크기, 색상, 등). 전송 엔진은 또한 이 속성을 사용하여 응시자에게 상호작용을 제시하는 방법을 여럿 중에서 고를 수도 있다—상호작용에 대한 클래스 속성과 관련된 어휘는 본 표준의 범위를 벗어난다. QTI 설문지 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/likert.xml 이 예시가 보여주는 문항은 리커드 척도(likert scale)라고 공통적으로 알려진 보기 세트를 제시하는 데 사용되는 것으로, 이 척도는 태도 기반 질문에 대한 응답을 얻고자 할 때 사용된다. 질문은 일반적인 choiceInteraction에 의해 제시되지만, itemBody의 클래스 속성은 리커트로 설정되며, 전송엔진에게 지시하여 질문을 위한 적절한 레이아웃을 사용하게 한다. 다시 말해, 각각의 보기를 fixed tab stop으로 하고, 프롬프트와 보기에 한 줄짜리 텍스트만 사용하는 것이다. 이 스타일 클래스를 문항 본문 전체에 적용함으로써 다수의 리커트 문항을 함께 변경하는 전송 엔진이 보다 간결한 렌더링을 선택할 수 있는 것이다. 이 예시에는 responseProcessing이 없으며, 따라서 정답도 없음에 유의한다.

3.8.5 MathML 사용하기

상대성 http://www.imsglobal.org/question/qtiv2p1pd2/examples/items/math.xml 이 단순 예시는 MathML로 생성한 수학적 표현식을 문항에 포함시키는 것을 보여 준다.

3.8.6 숫자 포맷팅

printedVariable의 format 속성은 C 표준에서 설명되는 포맷 규칙을 대략적으로 보여 준다. 아래 표는 주요 기능을 설명한 것이다. 스페이스(space)는 읽기 쉽도록 '_'(밑줄)로 표시한다.
포맷 표준 입력 형식화된 출력
%i -987 -987 기호가 있는 10진수 형식
%.4i -987 -0987 정밀도는 i, o, x, X 형식 숫자의 최소 자릿수이며, 최소치 없음이 기본값이다.
%.0i 0 정밀도 0으로 제로를 포맷할 때, 숫자값은 출력되지 않는다 (i, o, x, X 포맷의 경우만).
%8i 987 _____987 필드 폭을 8로 수동 설정하면 앞에 5자리 공간이 생성된다.
%2i 987 987 2로 수동 설정된 필드 폭은 충분하지 않으므로 무시된다.
%-8f 987 987_____ 하이픈 플래그는 강제로 왼쪽 필드로 정렬시켜 뒤 에5자리가 생성된다.
%08i 987 00000987 제로 플래그는 앞 5자리에 0이 강제로 삽입되도록 한다.
%+i 987 +987 + 플래그는 앞에 ‘+’기호를 명시하는 양수를 표기한다 (o, x, X 포맷 제외).
%_i 987 _987 Space 플래그는 양수 앞에space를 둔다(o, x, X 포맷 제외).
%o 987 1733 8진법. 숫자는 반드시 양수
%#o 987 01733 # 플래그는 o 형식에서 적어도 하나의 0을 앞에 표기하도록 한다.
%x 987 3db 16진법 (소문자), 숫자는 반드시 양수
%#x 987 0x3db # 플래그는 x 형식에서 0x를 항상 앞에 표기하도록 한다.
%X 987 3DB 16진법 (대문자), 숫자는 반드시 양수
%#X 987 0X3DB # 플래그는 X 형식에서 0X를 항상 앞에 표기하도록 한다.
%f 987.654 987.654000 f 형식에서 정밀도는 소수점 이하 자릿수를 지정하며 기본값은 6이다.
%.2f 987.654 987.65 2로 수동 설정된 정밀도
%#.0f 987 987. # 플래그는 f, e, E, g, G, r, R 형식에서 마지막에 따라오는 소수점을 반드시 표기하도록 한다.
%e 987.654 9.876540e+02 실수의 지수 표기법 사용을 강제한다. e 와 E 형식에서 정밀도는 소수점 오른 쪽의 자릿수를 지정한다. 기본값은 6
%.2e 987.654 9.88e+02 2로 수동 설정된 정밀도
%E 987.654 9.876540E+02 실수의 지수 표기법 사용을 강제한다 (대문자).
%g 987654.321 987654 정밀도가 소수점 왼쪽 숫자의 갯수보다 크거나 또는 동일할 때, 유효 숫자 정밀도로 반올림되며 (기본값 6) 보통 형식으로 표기한다.
%g 987 987 소수점 오른 쪽에서, 앞에 오는 제로는 제거된다.
%g 987654321 9.87654e+08 요청될 때 사용되는 과학적 양식이다.
%g 0.0000987654321 9.87654e-05 소수점 오른 쪽에서, 앞에 넷 이상의 제로 값이 요청될 때 사용되는 과학적 양식이다.
%#g 987 987.000 # 플래그는 또한 g 와G 형식에서 뒤따르는 제로 (유효숫자 정밀도까지)를 표기하도록 한다.
%G 0.0000987654321 9.87654E-05 g 에 해당. 다만 대문자 양식을 사용한다.
%r 0.0000987654321 0.0000987654 g 와 동일하나, 단 소수점 오른쪽에서 앞에 오는 제로에 제한이 없다.
%R 0.0000987654321 0.0000987654 G와 동일하나, 단 소수점 오른쪽에서 앞에 오는 제로에 제한이 없다.

4 테스트 (평가)

선행 자료를 갖는 문항 세트 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest01.xml 이 예시에서 보여 주는 테스트는 세 개의 문항(rtest01-set01.xml, rtest01-set02.xml, rtest01-set02.xml)으로 구성된 것으로, 선행 자료의 단일 구성요소(rtest01-fragment.xml)를 공유한다. 이 구성요소는 XInclude 메커니즘을 사용하여 세트의 assessmentItems 각각에 포함되어 있다. 제출모드는 개별모드로 설정되며 응시자에게 문항별로 응답을 제출할 것을 요청한다. 검색 모드는 선형모드로 설정되며, 응시자가 차례대로 각 문항을 시도하도록 제한한다. 응시자는 일단 이동하고 나면 다시 돌아올 수 없다. 문항 결과의 임의 수집 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest02.xml 이 예시는 두 개의 assessmentSections (sectionA 과sectionB)과 하나의 subsection (sectionB1) 사용을 보여준다. sectionA 과sectionB 둘 다 응시자가 식별할 수 있다. 반대로 sectionB1은 섹션으로 식별되지 않는다. 제출 모드가 동시 모드로 설정된다. 응시자의 모든 응답이 testPart의 종료 시점 (이 경우, assessmentTest 의 종료 시점이라는 의미가 효과적)에 함께 제출된다. 검색 모드는 비선형 모드로 설정되며 응시자가 언제든지 테스트의 다른 어떤 문항으로든 이동할 수 있다. 이 테스트는 weights를 사용하여 개별 문항 점수가 전체 테스트 점수에 기여하는 정도를 결정한다. 이 예시에서, item160에 대한 weight의 값이 0이라는 것은 이 문항의 점수가 전체 테스트 점수를 계산할 때 고려되지 않는다는 의미이다. item034에 대한 weight의 값2는 전체 테스트 점수 계산시에 item034의 점수에 2를 곱한다는 뜻이다. weight 값이 주어지지 않은 assessmentItems의 경우는 1.0 값의 weight가 있다고 가정한다. 문항 카테고리 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest03.xml 이 예시는 assessmentTest 안의 assessmentItems 카테고리 사용을 보여 준다. 제출 모드가 동시 모드로 설정된다. 응시자의 모든 응답이 testPart의 종료 시점 (이 경우, assessmentTest 의 종료 시점이라는 의미가 효과적)에 함께 제출된다. 검색 모드는 비선형 모드로 설정되며 응시자는 언제든지 테스트의 다른 어떤 문항으로든 이동할 수 있다. 이 테스트는 category를 사용해 문항을 하나 이상의 카테고리에 지정한다. 예시의 outcomeprocessing 파트는 카테고리가 어떻게 사용되어 선정한 질문의 점수에 대한 합계를 산출하는가를 보여 준다. 문항 결과의 임의 가중치 계산하기 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest04.xml 시도의 허용 횟수 정하기 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest06.xml 이 예시는 itemSessionControl을 사용해 시도의 허용 횟수를 설정하는 것을 보여 준다. 이 예시는 두 개의 testParts를 포함하는데, 첫 번째 testPart에서 허용되는 시도의 최대치는 무한대(maxAttempts = 0)로 설정되며 두 번째 testPart에서 허용되는 시도의 최대치는 1이다. 두 testParts 모두에 대한 제출 모드는 개별 모드로 설정되며 응시자가 문항별로 응답을 제출할 것을 요구한다. 두 testParts 모두에 대한 검색 모드는 선형 모드로 설정되며, 응시자가 차례대로 각 문항을 시도하도록 제한한다. 응시자는 일단 이동하고 나면 다시 돌아올 수 없다. 테스트에 연결된 문항 피드백 통제하기 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest08.xml 이 예시는 itemSessionControl을 사용해 테스트와 연결된 문항 피드백을 설정하는 것을 보여 준다. 두 번째 testPart의 제출 모드가 동시로 설정된다. 응시자의 모든 응답이 testPart의 종료 시점에 함께 제출된다. 두 번째 testPart의 검색 모드는 비선형 모드로 설정되며 응시자는 언제든지 테스트의 다른 어떤 문항으로든 이동할 수 있다. itemSessionControl의 showFeedback 속성이 true로 설정되며, 마지막 시도의 종료 이후에 피드백의 가시성에 영향을 준다. 동시 모드에서 검토와 피드백을 허용한다는 것은 이 테스트가 제출 이후에는 검색이 가능하다는 뜻이다 (이 경우에는 비선형 스타일을 활용한다). itemSessionControl의 showSolution 속성이 false로 설정되며, 이는 시스템이 응시자에게 솔루션 단계로 들어가는 방법을 제공하지 않을 수 있다는 의미이다. showFeedback 속성은 테스트 레벨에서 assessmentItem feedback을 통제 한다는 것을 기억하도록 한다. 문항 내부에 설정된 피드백 보이기도 예외가 아니다. 스티브의 시험 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest09.xml 이 예시는 특정 테스트의 맥락에서 문항 시도의 지속시간 (최대치 및 최소치 모두)을 통제 하는 것을 보여 준다. 이 테스트는 timeLimits 요소를 사용해, 테스트에 전체에, assessmentSection 하나에, assessmentItem 하나에 대한, maxTime 제한을 설정하는 것을 보여 준다. 이 예시는 assessmentItemRef (item034) 하나를 포함하는데, 이 문항에는 minTime이 3분, maxTime는 10분으로 설정되어 있다. 이는 테스트에서 상호작용 시간 3분이 모두 소요되기 전에는 응시자가 다음 문항으로 진행할 수 없다는 뜻이다. 테스트 각각의 문항에 주어진 시도 횟수 최대치가 1로 제한되어 있다는 점에서, 이는 효과적으로 말하자면 응시자가 3분이 지날 때 까지는 응답 제출을 할 수 없다는 의미이다. 하지만, 응시자는 10분이 지나기 전에 반드시 응답을 제출해야 한다. 제한 시간이 끝나면, 일반적으로는 현재 응답이 자동으로 제출될 것이다. 평가의 모든 maxTime 요소의 총합이 assessmentTest의 maxTime 보다 작거나 또는 동일하게, 그리고 평가의 모든 minTime 요소의 총합이 assessmentTest의 maxTime 보다 작거나 또는 동일하게 되도록 보장하는 것은 평가 생성자에게 달려있다. 스티브의 시험 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest10.xml 이 예시는 누적된 문항 결과를 바탕으로 테스트 조기종료를 지원하는 방법을 보여 준다. 테스트의 outcomeProcessing은 각각의 시도 이후에 가동되며, SCORE가 3보다 큰 값인 가를 확인한다. 만약 그렇다면, exitTest이 테스트를 종료한다. 황금 (필수) 문항 섹션 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest12.xml 이 예시는 누적된 문항 결과를 바탕으로 테스트 조기종료를 지원하는 방법을 보여 준다. assessmentSection B에서, 우리는 selection 요소를 이용해 2개의 자식 클래스를 선정한다. 하지만 assessmentSection B1이 필수인 (required="true" 속성 때문에)관계로, 효과적으로 B1을 고르고, 다른 하나는 다른 세 문항 중 하나로 정한다. B1은 보이지 않는 섹션이며, 이 섹션이 포함하는 세 문항은 선정된 다른 문항들과 셔플링 시에 섞이게 될 것이다. 그 결과 네 문항을 포함하는 assessmentSection이 생성된다. 스티브의 시험 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest13.xml 이 예시는 assessmentItem에 대한 응답을 기초로 분지(branching)를 지원하는 것을 보여 준다. preCondition 요소는 assessmentItem 또는 assessmentSection가 표시되도록 만족시켜야 하는 조건들을 설정한다. 비선형 모드에서는 전조건은 무시된다. branchRule 요소는 대체 타겟을 다음 문항 또는 섹션으로 설정하기 위해 테스트 중에 평가되는 규칙을 포함한다. 전조건처럼, 분지(branch)규칙들은 비선형 모드에서 무시된다. 두 번째 branchRule 요소는 특수한 targetItem "exitSection"을 포함하는데, 이는 테스트의 이번 섹션을 나간다는 의미이다. 테스트 내에서 섹션들로 정리된 문항들 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest22.xml 이 예시는 섹션을 사용하여 개별 문항을 그룹화 하는 것을 보여 준다. 문항과 섹션의 순서를 무작위로 변경하기 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest24.xml 이 예시는 ordering 요소를 사용하여 문항과 섹션의 순서를 무작위로 변경하는 것을 보여 준다. 결과로서의 기초 통계 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest25.xml 이 예시는 테스트에 대한 기초 통계가 결과에 어떻게 지정되는 가를 보여 준다. 통계에서 사용되는 많은 빌드(numberCorrect, numberIncorrect, numberPresented, numberSelected, numberResponded)는 결과 변수에 지정된다. 추가적으로, 결과 변수 ‘PERCENT_CORRECT’이 이들 기초 통계 중 두 가지를 기초로 계산된다. 스티브의 시험 http://www.imsglobal.org/question/qtiv2p1pd2/examples/tests/rtest26.xml 이 예시는 문항 결과들이 모두 합해지기 전에 어떻게 변경 되는 지를 보여 준다. variableMapping 요소는 item034.NOTA를 변수 SCORE로 변경시킨다.

5 이용 데이터 (문항 통계)

문항 통계 예시 http://www.imsglobal.org/question/qtiv2p1pd2/examples/usagedata/example.xml 이 예시는 이용 데이터 파일의 생성 모습을 보여 준다. 이용 데이터를 콘텐츠 묶음 내에서 배포할 때는, 이를 패키지 내의 개별 파일에 따로 저장해야 하며, 적절한 cp:resource 요소를 사용해 매니페스트 파일에 참조되어야 한다. 이용 데이터 파일 자체 내부의 평가 문항 및 다른 객체를 참조하는 것은 리소스의 종속으로 간주하지 않는다. 이용 데이터 파일의 리소스 유형은 imsqti_usagedata_xmlv2p1 이다.

6 문항, 테스트, 메타 데이터 패키지

단순 패키지 예시 http://www.imsglobal.org/question/qtiv2p1pd2/examples/package/imsmanifest.xml 이 예시는 하나의 문항이 Integration Guide에서 설명된 기술을 사용하여 어떻게 패키지가 되는 가를 보여 준다. 매니페스트 파일이 보여 주는 것은 리소스 요소를 사용해 메타 데이터(LOM 과 QTI 모두)를 문항 및 파일 요소에 연결하여 assessmentItem XML 파일과 연결 이미지 파일을 참조하게 만드는 것이다. 공유 이미지 예시 http://www.imsglobal.org/question/qtiv2p1pd2/examples/package_shared/imsmanifest.xml 이 예시는 여러 문항들이 어떻게 패키지 되는가를 보여 준다. 두 개의 문항이 미디어 객체 (이미지 같은)를 공유하는 경우, 의존 객체를 사용해 이 객체가 매니페스트 파일 내에서 자체 리소스 요소에 의해 표현될 수 있다는 점에 유의한다. 응답 처리 템플릿을 갖는 패키지 http://www.imsglobal.org/question/qtiv2p1pd2/examples/package_maxfiles/imsmanifest.xml QTI 응답 처리 템플릿의 기능은 응답 처리 규칙 공통 세트가 개별 XML에서 문서화 되고, 이들을 활용하는 문항을 간단하게 참조만 하게 한다. 사용할 템플릿을 식별하는 메커니즘이 바로 responseProcessing 요소에 대한 template 속성이다. 이 속성은 URI이지만, 반드시 적합한 XML 문서로 직접 도달하는 URI 일 필요는 없다. 일반적인 응답 처리과정을 지원하는 시스템을 도와 새 템플릿 지원에 필요한 규칙 정의들을 찾기 위해, templateLocation 속성이 추가로 제공되며, 이것이 템플릿의 XML 문서에 도달하는 URI를 제공하는데 사용될 수 있을 지 모른다. 만약 문항의 위치에 대한 이 URI가 주어진다면, 이 템플릿은 동일한 콘텐츠 패키지에 안에 포함되어 있어야 하며, 이를 참조하는 문항 각각에 대한 종속 객체로 올라 있어야 한다. 이 예시 패키지가 보여 주는 것은, 상대 URL을 사용하여 앞 설명처럼 패키지 내에서 개별 리소스로 만들어진 응답 처리 템플릿을 참조하는 것이다. 유의할 점은, 사용된 기술이 URIs에서 XML 스키마의 위치를 찾기 위해 쓰이는 기술과 유사하다는 점이며, 이 URIs 네임스페이스를 참조하기 위해 사용되었던 것이다. 하지만 유의할 점은 유효성을 지원을 위해서 콘텐츠 패키지에 포함된 XML 스키마는, 매니페스트 파일에서 개별 리소스 (또는 파일 종속객체들)로 표현되어서는 안 된다는 것이다. 외부에서 정의된 응답 처리 템플릿을 갖는 패키지 http://www.imsglobal.org/question/qtiv2p1pd2/examples/package_minfiles/imsmanifest.xml 이 예시는 위의 응답 처리 템플릿을 갖는 패키지와 동일하지만, 단 응답 처리 템플릿이 포함되지 않는 다는 점이 다르다. templateLocation 속성이 템플릿 절대 URLs와 함께 사용된다. 테스트와 문항을 갖는 패키지 http://www.imsglobal.org/question/qtiv2p1pd2/examples/test_package_minfiles/imsmanifest.xml 이 예시는 assessmentTest를 테스트가 참조하는 assessmentItems과 패키지 하는 방법을 보여 준다. assesmentTest 과 assessmentItems는 모두 매니페스트 파일 내에서 리소스 요소로 표현된다. assesmentTest 과 개별 assessmentItems 간의 관계를 나타내기 위해 종속 객체가 사용된다.

7 유효성

QTI 스키마 파일은 외부에서 정의된 두 개의 보조 스키마, 빌트인 XML 네임 스페이스와 MathML를, 절대URLs를 사용해 웹 상에서 이들이 출판된 위치를 찾아 가져온다. 일부 XML 유효성 도구는 오프라인 작업 시에는 QTI 문서를 유효화 시키지 못할 수 있다. 또한, 빌트인 XML 네임스페이스 (QTI가 사용하는 xml:lang 속성 등)의 요소를 참조하는 XML 스키마가 연결 네임스페이스 접두사 선언을 제공 해야만 (또는 아마도) 하는가를 두고도 일부 혼동이 있었다. XML 표준의 첫 번째 편에서는 이에 대한 논지가 불분명한 부분이 있었고, 추가분에 대한 정오표, [XML_ERRATA]이 출판될 때까지 이 혼동이 계속되었다. 이 정오표는 그 자체가 현재 두 번째 편 [XML]로 대체되었으며, 여기에서는 그 선언이 정해진 접두사 xml 에 묶여 있다면 아마도 포함될 수 있으나, 이는 필수가 아니라는 점을 분명히 했다. IMS 콘텐츠 패키징 표준의 최신판에 맞춰, QTI 스키마는 그 선언을 스키마 루트에 포함시켰다. 분명한 점은 일부 도구는 여전히 이 접두사를 포함하는 스키마에 대해 문서를 유효화하지 않을 것이며, 대신 스키마 요소에서 아래 속성을 제거한 QTI 스키마의 사본(local copy)이 필요할 수 있다. xmlns:xml="http://www.w3.org/XML/1998/namespace" QTI 스키마의 네임스페이스 식별자는 본 표준의 버전 2.1에서 http://www.imsglobal.org/xsd/imsqti_v2p1로 변경되었다. 이 버전이 정의한 새로운 요소를 사용할 시에는 이 네임스페이스를 이용해야 한다. http://www.imsglobal.org/xsd/imsqti_v2p0 의 네임 스페이스를 갖는 문서도 여전히 지원된다. 본 표준의 버전 2.0이 정의한 보다 제한된 모델에 적합한 콘텐츠를 만드는 경우에는, 호환성 때문에 시스템이 2p0 네임스페이스 식별자를 사용할 수도 있다.