Creating a good test suite can be a work of art. However, there are some established principles we can follow to ensure we have created a good test suite.
A good test should have the following properties:
A test should be repeatable. The best way to do this is to ensure that you reset the app before starting the test again.
A test should be concise. If a test is testing multiple functionalities, it should be divided into multiple tests each of which tests a single functionality. Then you can rearrange these tests to create a longer test.
A test should be specific. A test should test functionalities that are measurable. For example, if your app orders a list it is hard to check that the order is "correct". It is easier to write a test that checks the first few items in the list and checks for specific values.