LF-3272 Test Plan

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

Catch type errors before being able to merge PRs

 

Area / scope to test

Front end

Back end

Model

Notes

Area / scope to test

Front end

Back end

Model

Notes

Requirement specific constraints

Ensure type errors are caught during precommit

 

N/A

 

Role based constraints

N/A

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?

Locale based constraints

 

 

 

Things like date format, and number format for phone numbers and currency inputs

User preferences constraints

 

N/A

N/A

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

Farm-level defaults / preferences

N/A

N/A

N/A

 

Numerical input constraints

N/A

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

N/A

N/A

N/A

Is the UI transitioning appropriately? Is the API providing da

Flow based constraints

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 constrains

N/A

N/A

N/A

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

Data transformation correctness

N/A

 

Is the data persisted as expected post-transformation?

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

Outcome correctness

Is it clear whether the outcome was a success of failure? Does it have the “right” visual treatment?

 

 

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

Switching farms

 

 

 

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

Notification constraints

 

 

 

Should a notification be marshalled based on this action?

Cascading effects

 

 

 

Are there logical places

Integration constrains

 

 

 

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

 

 

 

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?