In one of my recent interviews, there was a question:
Write the functional and non-functional test cases for a weather app / widget. Note: Test coverage is important than numbers.
I wrote the below list of test cases. But I was given only 2 out of 5 marks. My questions are:
- What are test cases that I'm missing?
- I've not performed non-functional testing. What are the non-functional test cases for this application?
- How do I improve on non-functional testing?
My answer to the interview question:
- Happy path: verify that weather forecast is correctly shown for the given city
- Temperature should be switchable between Fahrenheit and Celsius.
- User should be able to choose multiple cities
- All the settings and configurations should be correctly stored and read
- Correct images should be shown for each weather type. (e.g: thunderstorm, sunny, rain)
- Forecast is broken down to time slices (e.g: 12 PM, 1 PM, 2 PM and so on)
- Temperature graph is correct and smooth
- Forecast should be shown for N number of future date (e.g: for the next 1 week)
- All the images should be bundled with the application
- When there is a network failure and unable to reach server, appropriate message should be shown
- There should not be unnecessary error messages shown
- Widget layout should automatically resize based on user selection / screen resolution