Usability and performance - Angelaader/l6vi GitHub Wiki

SMART usability

Should be easy enough to learn with 3 hours

Testing. Use five people to test each user role (waiter, head waiter, restaurant manager, company administrator, total 20 people). Present them with new system and ask them to try to become fully familiar with given user role functionality. When person claims he became familiar with the system, ask him to perform standard set of actions which uses full system functionality to see if he can do it. If he can't, ask him to continue learning. Repeat until person can perform given set of actions. Measure time spent by this individual to master the system. If more than one person fails to learn functionality of given user role in less than 3 hours, the test for that particular user role is failed.

The system should run on iPhone, iPad and Android devices

Testing. Use five people to test each device (iPhone, iPad, Android device, total 15 people). Present them with new system and ask them to try to get familiar with basic functionality of randomly picked user role. Guide them to perform different sets of actions available. Record any bugs and errors discovered by users. Record user feedback after using the system on given device. If more than one person experiences serious bugs and problems that do not allow him to perform required actions and/or gives negative feedback on his user experience, the test for that particular device is failed.

In case of system update system should not freeze for more than 5 minutes

Testing. Perform load testing with a load testing tool. Purpose: demonstrate that the system meets performance criteria. Test data: installed system, system update. Measuring server response time: set server response time goals. In scope: user interface, system processes. Check if freezing depends on number of concurrent users logged in (1, average, maximum allowed). Execute tests repeatedly, analyze the results.

System should take maximum 5 seconds to update stock numbers in the database

Testing. Perform load testing with a load testing tool. Purpose: demonstrate that the system meets performance criteria. Test data: stock database. Measuring server response time: set server response time goals. In scope: stock database, processes manipulating stock database. Execute tests repeatedly, analyze the results.