LF-3371 Test Plan

https://lite-farm.atlassian.net/browse/LF-3371

As a busy farmer managing several crops at a time I want an easy way to see which crops I’m repeating in a sequence in order to know where I am in the season

Area / scope to test

Front end

Back end

Model

Notes

Area / scope to test

Front end

Back end

Model

Notes

Requirement specific constraints

  • Ensure that all UI elements are visible as per Jira Ticket

  • Ensure that the modal would be generated by clicking on the hyperlink

N/A

  • Ensure that in the database all the information is stored correctly

 

Role based constraints

Impact of Role:

None

N/A

N/A

Does role determine what a user can see or do? Is this enforced uniformly across the front end and back end?

User preferences constraints

  • Ensure that the modal is visible on the user preference language or the “Missing” tag should exist

N/A

N/A

Is this impacted by user or farm preferences such as language, system of measure, certification status?

Numerical input constraints

N/A

N/A

 

Do we appropriately handle negative, very small, very large, or 0 as inputs?

Text input constraints

N/A

N/A

N/A

Do we appropriately handle blank, very small, and very large inputs? Is there a strict format (such as email) that must be followed?

Date based constraints

N/A

N/A

N/A

Are there logical restrictions on what dates can be input? Should a use be able to complete something in the future for example.

Date based assumptions

N/A

N/A

N/A

Are we making valid assumptions about what dates should be allowed?

Timezone driven interactions

N/A

N/A

N/A

If timezones play a role in the data, are they being displayed or converted appropriately?

Interaction / transitioning UI based constraints

Per UI, user must…

… see the following :

  • Modal showing the following:

    • Opaque background

    • Title: “<Crop_plan_name>”

    • Sub-title: “Deleted crop plans that were part of this repetition won’t be shown”

      • Only displayed if there’s a crop plan in the sequence that has been soft deleted

    • Body:

      • Ordered crop plan cards for all crop plans in this repetition

        • Except those with deleted = true (this will be implemented later)

    • If the number of crop plan tiles exceeds the vertical height of the modal, a scroll bar should be included

The user should be able to see the following transitions:

  • Scroll up and down the body as needed

The user should be able to perform the following actions:

  • Click a crop plan card to navigate to (tasks tab) for that plan

  • Click outside the modal to dismiss the modal

N/A

N/A

Is the UI transitioning appropriately? Is the API providing da

Flow based constraints

N/A

N/A

N/A

Is state being preserved appropriately in a flow? If I go back and then forth, is it maintained? Is state invalidated when it should be?

Synchronous / asynchronous constraints

N/A

N/A

N/A

Is the interaction synchronous, asynchronous, or does it support both? Can you simulate both if so?

Time-out / low bandwidth constraints

N/A

N/A

N/A

Does the feature fail gracefully under no bandwidth / low bandwidth environments?

Data transformation correctness

N/A

N/A

N/A

Are values appropriately updated when units change? Is it WYSIWYG?

Outcome correctness

N/A

N/A

N/A

When inputting known inputs with expected outputs - do you get the results you expect? Have you tested several “cases” of this?

Switching farms

N/A

N/A

N/A

Does this feature respond well to switching farms (and returning)?

Notification constraints

N/A

N/A

N/A

Should a notification be marshalled based on this action?

Cascading effects

  • Ensure that the user is still able to open one of the repeated crop plans

  • Ensure that the user can still re assign the assignee to the task in the repeated crop plan

  • Ensure that the user can still complete / abandon the crop plan

  • Ensure that the user can still create / abandon / complete / delete tasks in the crop plans

N/A

N/A

Are there logical places

Integration constrains

N/A

N/A

N/A

Do we need to ensure state is consistent between LiteFarm and the external service? What failure cases do we need to handle? How do we report back the outcome to the user or external service?

Concurrency

N/A

N/A

N/A

How do changes made to records affect other users on the farm? e.g. What happens when a record is soft deleted while another user is viewing said record?