AutorÃa | Ultima modificación | Ver Log |
@qbank @qbank_statistics
Feature: Show statistics in question bank
Background:
Given the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And the following "users" exist:
| username | firstname | lastname | email |
| student1 | user1 | Student1 | student1@example.com |
| student2 | user2 | Student2 | student2@example.com |
| student3 | user3 | Student3 | student3@example.com |
| student4 | user4 | Student4 | student4@example.com |
| student5 | user5 | student5 | student5@example.com |
And the following "course enrolments" exist:
| user | course | role |
| student1 | C1 | student |
| student2 | C1 | student |
And the following "question categories" exist:
| contextlevel | reference | name |
| Course | C1 | Test questions |
And the following "questions" exist:
| questioncategory | qtype | name | questiontext |
| Test questions | truefalse | TF1 | First question |
| Test questions | truefalse | TF2 | Second question |
| Test questions | truefalse | TF3 | Third question |
| Test questions | truefalse | TF4 | Fourth question |
And the following "activities" exist:
| activity | name | intro | course | idnumber |
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
| quiz | Quiz 2 | Quiz 2 description | C1 | quiz2 |
And quiz "Quiz 1" contains the following questions:
| question | page | maxmark |
| TF1 | 1 | 1.0 |
| TF2 | 1 | 1.0 |
| TF3 | 1 | 1.0 |
| TF4 | 1 | 1.0 |
And quiz "Quiz 2" contains the following questions:
| question | page | maxmark |
| TF2 | 1 | 1.0 |
| TF3 | 1 | 1.0 |
And user "student1" has attempted "Quiz 1" with responses:
| slot | response |
| 1 | False |
| 2 | False |
| 3 | False |
| 4 | False |
And user "student2" has attempted "Quiz 1" with responses:
| slot | response |
| 1 | True |
| 2 | True |
| 3 | True |
| 4 | True |
And user "student3" has attempted "Quiz 1" with responses:
| slot | response |
| 1 | True |
| 2 | False |
| 3 | False |
| 4 | True |
And user "student4" has attempted "Quiz 1" with responses:
| slot | response |
| 1 | False |
| 2 | True |
| 3 | True |
| 4 | False |
Scenario: View facility index in question bank
Given user "student1" has attempted "Quiz 2" with responses:
| slot | response |
| 1 | True |
| 2 | True |
And user "student2" has attempted "Quiz 2" with responses:
| slot | response |
| 1 | True |
| 2 | True |
And I run pending statistics recalculation tasks
When I am on the "Course 1" "core_question > course question bank" page logged in as "admin"
Then I should see "50.00%" in the "TF1" "table_row"
And I should see "75.00%" in the "TF2" "table_row"
And I should see "75.00%" in the "TF3" "table_row"
And I should see "50.00%" in the "TF4" "table_row"
Scenario: View discriminative efficiency in question bank
Given user "student1" has attempted "Quiz 2" with responses:
| slot | response |
| 1 | False |
| 2 | False |
And user "student2" has attempted "Quiz 2" with responses:
| slot | response |
| 1 | True |
| 2 | True |
And I run pending statistics recalculation tasks
When I am on the "Course 1" "core_question > course question bank" page logged in as "admin"
Then I should see "50.00%" in the "TF1" "table_row"
And I should see "75.00%" in the "TF2" "table_row"
And I should see "75.00%" in the "TF3" "table_row"
And I should see "50.00%" in the "TF4" "table_row"
Scenario: View discrimination index in question bank, good questions
Given user "student1" has attempted "Quiz 2" with responses:
| slot | response |
| 1 | False |
| 2 | False |
And user "student2" has attempted "Quiz 2" with responses:
| slot | response |
| 1 | True |
| 2 | True |
And I run pending statistics recalculation tasks
When I am on the "Course 1" "core_question > course question bank" page logged in as "admin"
Then I should see "Likely" in the "TF1" "table_row"
And I should see "Unlikely" in the "TF2" "table_row"
And I should see "Unlikely" in the "TF3" "table_row"
And I should see "Likely" in the "TF4" "table_row"
And I should see "Likely" in the ".alert-warning" "css_element"
And I should see "Unlikely" in the ".alert-success" "css_element"
Scenario: View discrimination index in question bank, bad questions
Given user "student1" has attempted "Quiz 2" with responses:
| slot | response |
| 1 | True |
| 2 | True |
And user "student2" has attempted "Quiz 2" with responses:
| slot | response |
| 1 | False |
| 2 | True |
And user "student3" has attempted "Quiz 2" with responses:
| slot | response |
| 1 | True |
| 2 | False |
And I run pending statistics recalculation tasks
When I am on the "Course 1" "core_question > course question bank" page logged in as "admin"
Then I should see "Likely" in the "TF1" "table_row"
And I should see "Very likely" in the "TF2" "table_row"
And I should see "Very likely" in the "TF3" "table_row"
And I should see "Likely" in the "TF4" "table_row"
And I should see "Very likely" in the ".alert-danger" "css_element"
And I should see "Likely" in the ".alert-warning" "css_element"
Scenario: View discrimination index in question bank for bad multichoice questions
Given the following "courses" exist:
| fullname | shortname | category |
| Course 2 | C2 | 0 |
And the following "course enrolments" exist:
| user | course | role |
| student1 | C2 | student |
| student2 | C2 | student |
| student3 | C2 | student |
| student4 | C2 | student |
| student5 | C2 | student |
And the following "activities" exist:
| activity | name | course | idnumber |
| quiz | Quiz 3 | C2 | quiz3 |
And the following "question categories" exist:
| contextlevel | reference | name |
| Course | C2 | Quiz questions |
And the following "questions" exist:
| questioncategory | qtype | template | name |
| Quiz questions | multichoice | one_of_four | MCA |
| Quiz questions | multichoice | one_of_four | MCB |
| Quiz questions | multichoice | one_of_four | MCC |
| Quiz questions | multichoice | one_of_four | MCD |
| Quiz questions | multichoice | one_of_four | MCE |
And quiz "Quiz 3" contains the following questions:
| question | page | maxmark |
| MCA | 1 | 1.0 |
| MCB | 1 | 1.0 |
| MCC | 1 | 1.0 |
| MCD | 1 | 1.0 |
| MCE | 1 | 1.0 |
# student1 answers all correctly
And user "student1" has attempted "Quiz 3" with responses:
| slot | response |
| 1 | One |
| 2 | One |
| 3 | One |
| 4 | One |
| 5 | One |
# student2 answers A and B correctly, C, D and E incorrectly
And user "student2" has attempted "Quiz 3" with responses:
| slot | response |
| 1 | One |
| 2 | One |
| 3 | Two |
| 4 | Two |
| 5 | Two |
# student3 answers A, D and E correctly, B and C incorrectly
And user "student3" has attempted "Quiz 3" with responses:
| slot | response |
| 1 | One |
| 2 | Two |
| 3 | Two |
| 4 | One |
| 5 | One |
# student4 answers A and D correctly, B, C and E incorrectly
And user "student4" has attempted "Quiz 3" with responses:
| slot | response |
| 1 | One |
| 2 | Two |
| 3 | Two |
| 4 | One |
| 5 | Two |
# student5 answers E correctly, B, C, D and A incorrectly
And user "student5" has attempted "Quiz 3" with responses:
| slot | response |
| 1 | Two |
| 2 | Two |
| 3 | Two |
| 4 | Two |
| 5 | One |
And I run pending statistics recalculation tasks
# Confirm the "Needs checking?" column matches the expected values based on students' answers
When I am on the "Quiz 3" "mod_quiz > question bank" page logged in as "admin"
Then "Likely" "text" should exist in the "MCA" "table_row"
And "Very likely" "text" should exist in the "MCB" "table_row"
And "Unlikely" "text" should exist in the "MCC" "table_row"
And "Likely" "text" should exist in the "MCD" "table_row"
And "Very likely" "text" should exist in the "MCE" "table_row"