CSC/ECE 517 Spring 2024 - E2413. Testing - Answer Tagging

From Expertiza_Wiki
Jump to navigation Jump to search

E2413. Testing - Answer Tagging

This wiki page is for the description of changes made in Spring 2024, CSC/ECE 517 for the E2413 Testing - Answer Tagging assignment.



Expertiza

In accordance with the Ruby on Rails framework, Expertiza is an open source software project (OSS) led by Dr. Edward Gehringer. Expertiza gives the instructor the ability to create new and edit already existing assignments. Also, the instructor can filter a list of subjects for students to choose. In Expertiza, students can organize into different teams to work on different assignments and projects. Also, students have the capability to peer review as a way for students to evaluate each other's work. Expertiza allows submissions from a variety of document types, such as PDFs, wiki pages and URLs.

Objective

Answer tagging helps determine a few metrics on a student’s responses to a questionnaire. Students can tag these metrics for other students for tone and solutions. The specs mentioned need to be further developed to cover missing methods/lines. Our objective is to add to current tests and write extra tests to cover any edge cases. Also, we had to add detailed explanations for all the tests.

Controller and Spec Files

Answer Tags

Tag Prompt Deployment


Un-Tested Methods

Testing Implementation

Answer Tags Controller

This controller (answer_tags_controller.rb)

Methods
  1. x

Use Cases:

Edge Cases:

  1. x

Use Cases Edge Cases

  1. x

Use Cases Edge Cases

Tag Prompt Deployment Controller

This controller (tag_prompt_deployment.rb)

Methods
    1. Use Cases
    2. Edge Cases
    1. Use Cases
    2. Edge Cases
    1. Use Cases
    2. Edge Cases


Testing Details

Using RSpec

How to See Test Coverage
  1. Run RSpec for answer_tags_controller_spec.rb, yum install lynx, then lynx ./coverage/index.html
  1. Run RSpec for tag_prompt_deployment_spec.rb, yum install lynx, then lynx ./coverage/index.html

Results

answer_tags_controller.rb coverage = 100%

tag_prompt_deployment.rb coverage = 100%

Future Work

References

  1. Expertiza GitHub
  2. Project Repository
  3. Github Project Board
  4. [Demo Video]
  5. RSpec