CSC/ECE 517 Fall 2016/E1681.Refactor and test the quizzing feature
Introduction
Expertiza is an online system that is used by students to view/submit assignments and review others' work. Expertiza also provides tools to visualize the scores and gauge the improvements made during the course semester. It also facilitates and monitors team projects. It is targeted at educational and non-profit organizations. The project is funded by the National Software Foundation (NSF), NCSU Learning in a Technology-Rich Environment (LITRE) program, the NCSU Faculty Center for Teaching and Learning, the NCSU STEM Initiative, and the Center for Advanced Computing and Communication. Expertiza is an open-source project with the source code available as a public repository on GitHub. It is developed using Ruby on Rails and is increasingly becoming robust thanks to the innumerable bugs being fixed by the community. The project has a micro-blog on SourceForge where the developer community report bugs and document updates.
Task description
Student-generated quizzes is the feature that students use for writing quizzes for the Wikipedia contribution assignment. In this project, we need to do refactoring and create functional tests for this feature. We need to refactor questionnaires_controller.rb and write the Rspec tests file in /specs/ folder.
Methodology
Refactoring:
There is some problems in valid_quiz method which is in questionnaires_controller. For now, this method checks the questions one by one. We will refactor it to make it able to create the quiz_question objects and quiz_choice objects. Then we need to call “quiz_question.valid?” to check whether the question is valid.
Testing:
We will test the following functionalities:
- The instructor can set up an assignment which supports quizzing feature by
- Checking the “has quiz” box
- Setting the # of question for each set of quiz
- Setting in which deadline can student reviewers take the quizzes
- Student authors can create quizzes and edit them:
- They can create quizzes on the “Your work” page
- They can edit the quiz questions.
- They can view the quiz questions.
- If the quiz question has something missing, the system will flash an error message, either:
- The name of quiz is missing.
- The question text is missing for one or more questions.
- The choices are missing for one or more questions.
- The correct answer(s) have not been provided.
- Student reviewers can take the quizzes on the work they have reviewed/they need to review
- They need to request the artifact to review first. If this artifact has a quiz associated, they can take the quiz in the round which quiz-taking is allowed.
- They can click “take quiz” then request quizzes to take.
- They can fill in their choices on the quizzes.
- After taking the quizzes, and submitting, they will see their grade on the “Take quizzes” page
- On the “take quizzes” page, they can see their question-by-question scores for finished quizzes by clicking “view”
- Instructor can view the quiz questions and quiz scores on the tree display by clicking “view quiz questions” icon.