dedsecrattle / pe

0 stars 0 forks source link

No Error on trying to remove an invalid Tag #10

Open dedsecrattle opened 2 months ago

dedsecrattle commented 2 months ago

image.png

image.png

Trying to remove an invalid tag i.e. tag which is not present for a student using removetag executes successfully. in the above example the student at index 1 doesn't have a tag testTag however, the command executes successfully

expected - Error specifying that the tag is not present for that particular person

Command Executed - removetag 1 /t testTag

nus-pe-bot commented 2 months ago

Team's Response

image.png

This behaviour is the intended behaviour, which is documented in the UG.

However, we do acknowledge such a silent failing behaviour can be improved to provide the user with a message, informing them there is no tag with specified name found.

Items for the Tester to Verify

:question: Issue response

Team chose [response.NotInScope]

Reason for disagreement: image.png

The above-mentioned behaviour only specifies that no changes will be done for invalid tags but doesn't specifies whether or not the user will get an error message,

Consider a scenario where the user wants to remove a valid tag e.g example but he accidentally writes examplle , as the entered tag is invalid but since the application fails silently without providing any error message to the user, it can cause issues as per the user point of view his / her given command has executed without error as the UG also doesn't specify such silent failure behaviour.

In the context of a contact book application, if a user attempts to remove a tag from a contact's record, but the specified tag does not exist for that contact, and the application executes the operation successfully without reporting an error, it is considered a silent failure bug.

This silent failure behavior can lead to several issues:

  1. Data inconsistency: If the application silently ignores the non-existent tag and proceeds without any error handling, it can lead to data inconsistency. The user might assume that the tag has been removed, while in reality, nothing has changed in the contact's record.

  2. User confusion: Users expect feedback or error messages when they perform an operation that cannot be completed successfully. Without any error or warning, users may be left confused about the state of the application and the data they are working with.

  3. Potential data corruption: In some cases, silent failures can lead to data corruption or unexpected behavior, especially if the application continues to execute subsequent operations based on the assumption that the previous operation was successful.