CSC/ECE 517 Spring 2024 - E2413. Testing - Answer Tagging: Difference between revisions
Line 7: | Line 7: | ||
==Expertiza== | |||
In accordance with the [http://rubyonrails.org/ Ruby on Rails] framework, [http://expertiza.ncsu.edu/ Expertiza] is an open source software project (OSS) led by [https://www.csc.ncsu.edu/people/efg 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. | In accordance with the [http://rubyonrails.org/ Ruby on Rails] framework, [http://expertiza.ncsu.edu/ Expertiza] is an open source software project (OSS) led by [https://www.csc.ncsu.edu/people/efg 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. | 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 | Answer Tags | ||
* [https://github.com/CSC517-Project3/expertiza/blob/dev/app/controllers/answer_tags_controller.rb answer_tags_controller.rb] with initial coverage of 0% | * [https://github.com/CSC517-Project3/expertiza/blob/dev/app/controllers/answer_tags_controller.rb answer_tags_controller.rb] with initial coverage of 0% | ||
Line 22: | Line 22: | ||
* [https://github.com/CSC517-Project3/expertiza/blob/dev/spec/models/tag_prompt_deployment_spec.rb tag_prompt_deployment_spec.rb] | * [https://github.com/CSC517-Project3/expertiza/blob/dev/spec/models/tag_prompt_deployment_spec.rb tag_prompt_deployment_spec.rb] | ||
===== | ==Un-Tested Methods== | ||
==Testing Implementation== | |||
===Answer Tags Controller=== | |||
This controller (answer_tags_controller.rb) | |||
=====Methods===== | |||
# | |||
## Use Cases | |||
## Edge Cases | |||
# | |||
## Use Cases | |||
## Edge Cases | |||
# | |||
## Use Cases | |||
## Edge Cases | |||
===Tag Prompt Deployment Controller=== | |||
This controller (tag_prompt_deployment.rb) | |||
=====Methods===== | |||
# | |||
## Use Cases | |||
## Edge Cases | |||
# | |||
## Use Cases | |||
## Edge Cases | |||
# | |||
## Use Cases | |||
## Edge Cases | |||
===Testing Details=== | ===Testing Details=== | ||
Line 40: | Line 63: | ||
# Run RSpec for [https://github.com/CSC517-Project3/expertiza/blob/dev/spec/models/tag_prompt_deployment_spec.rb tag_prompt_deployment_spec.rb], <code>yum install lynx</code>, then <code>lynx ./coverage/index.html</code> | # Run RSpec for [https://github.com/CSC517-Project3/expertiza/blob/dev/spec/models/tag_prompt_deployment_spec.rb tag_prompt_deployment_spec.rb], <code>yum install lynx</code>, then <code>lynx ./coverage/index.html</code> | ||
===Results=== | |||
answer_tags_controller.rb coverage = 100% | |||
tag_prompt_deployment.rb coverage = 100% | |||
===Future Work=== | ===Future Work=== | ||
Line 47: | Line 76: | ||
# [https://github.com/CSC517-Project3/expertiza Project Repository] | # [https://github.com/CSC517-Project3/expertiza Project Repository] | ||
# [https://github.com/orgs/CSC517-Project3/projects/1/views/1 Github Project Board] | # [https://github.com/orgs/CSC517-Project3/projects/1/views/1 Github Project Board] | ||
# [Demo] | # [Demo Video] | ||
# [https://www.theodinproject.com/lessons/ruby-introduction-to-rspec RSpec] | # [https://www.theodinproject.com/lessons/ruby-introduction-to-rspec RSpec] |
Revision as of 20:29, 24 March 2024
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
- answer_tags_controller.rb with initial coverage of 0%
- answer_tags_controller_spec.rb
Tag Prompt Deployment
- tag_prompt_deployment.rb with initial coverage of 17.65%
- tag_prompt_deployment_spec.rb
Un-Tested Methods
Testing Implementation
Answer Tags Controller
This controller (answer_tags_controller.rb)
Methods
-
- Use Cases
- Edge Cases
-
- Use Cases
- Edge Cases
-
- Use Cases
- Edge Cases
Tag Prompt Deployment Controller
This controller (tag_prompt_deployment.rb)
Methods
-
- Use Cases
- Edge Cases
-
- Use Cases
- Edge Cases
-
- Use Cases
- Edge Cases
Testing Details
Using RSpec
How to See Test Coverage
- Run RSpec for answer_tags_controller_spec.rb,
yum install lynx
, thenlynx ./coverage/index.html
- Run RSpec for tag_prompt_deployment_spec.rb,
yum install lynx
, thenlynx ./coverage/index.html
Results
answer_tags_controller.rb coverage = 100%
tag_prompt_deployment.rb coverage = 100%
Future Work
References
- Expertiza GitHub
- Project Repository
- Github Project Board
- [Demo Video]
- RSpec