szelongq / pe

0 stars 0 forks source link

The short answer question answer allows for overlap #2

Open szelongq opened 2 years ago

szelongq commented 2 years ago

Description of the bug: For the short answer question, if one were to have two keywords, with one being a subset of the other, then there is no way of ensuring that both are in the answer separately.

I think this would be a small feature flaw as while may not be common, this would prevent users from making questions with such answers.

Steps to reproduce:

  1. Add the question: saq qn/Example question? ans/k/ant k/anteater i/2
  2. Start the quiz with quiz
  3. On the example question, enter ans/anteater

The answer will be marked correct as per the UG description since both keywords are within the answer, even though 'ant' may not be an intended answer from the user. Screenshot 2021-11-12 at 4.46.14 PM.png

nus-pe-bot commented 2 years ago

Team's Response

Firstly, thank you for the report. Our team is rejecting it for the following reasons:

This is indeed a factor that our team has considered. The most obvious way to check that both words exist, separately, is to check for full word matches for both words (such that answering 'anteater' does not match 'ant'). However, we do not want such a strict keyword-matching/checking as users' answers may have typos or plural forms ('ant' vs 'ants') or answer in a different tense (e.g. 'add' vs 'adds' vs 'added'). Taking this into consideration, we have designed the feature as it currently behaves, checking for substrings. If 'ant' is not an intended answer, the keywords are listed in the screenshot above and the user can edit these keywords.

image.png We also believe that this behaviour does not prevent the application from being reasonably useful in normal usage.

Therefore, given the above considerations and the scope of our project, we believe that the current implementation of the feature is the most ideal and the behaviour cannot be considered a flaw.

Items for the Tester to Verify

:question: Issue response

Team chose [response.Rejected]

Reason for disagreement: [replace this with your explanation]