View source | Discuss this page | Page history | Printable version   

Retail:PerformanceTesting

Contents

Introduction

The Web POS is a complex and powerful web application. This means that its performance requirements are a bit higher than other, simpler web sites. Features such as the taxes and discounts computation engine, which are necessary for offline operation, require a significant amount of processing power in the device which acts as Point of Sale terminal.

However, in previous versions of the Web POS this was not explained at all when using the application, and therefore it could be confusing for users, and could lead to frustration.

Our goal with the Performance Test which has just been added to the application is twofold:

The performance test

We have decided to embed the Sunspider benchmark inside the Openbravo mobile platform. This benchmark is quite known industry wide, and quite frequently used by sites to analyze Javascript performance.

This benchmark is executed automatically when a device opens the Web POS for the first time, and when it finishes it generates a score. If the score is above the minimum we have established for an appropriate experience when using the Web POS, the user will simply see a green success message on the top of the screen.

However, if the score is below this minimum, the user will see a popup with information about this.

If you are familiar with the Sunspider test, you will notice that it normally produces a final value which is the number of milliseconds that it took to execute the test. We have decided to transform this number of milliseconds into a score which is greater the more performing your device is, just for clarity.

How to analyze the results

As we just mentioned, the test produces a score. If the score is good enough, you will see it briefly in the top of the screen. If it's not enough, you will see it in the results popup which is open after the test is finished. You can also find this score in both cases by looking at the "Log client" window in the backend, as a message is always generated with the score, for debugging purposes.

We have created the following table, which contains rough guidelines of the experience you are expected to get depending on the score you got in your device:


Score Example devices Experience
Greater than 4000 Modern personal computers Very good. Performance should be fine in all situations.
2000-4000 High-end phones/tablets, low-end/outdated PCs Quite good. Performance should be ok except in very unfrequent cases.
1000-2000 Mid-range phones, very low end/outdated personal computers Adequate. Performance should be ok except in cases of long tickets, or big amounts of masterdata
500-1000 Low end phones and tablets, Chrome browser in non-optimized devices Inadequate. Frequent stalls, particularly with big tickets.
Less than 500 Very low end phones and tablets, with Cortex A9/A53 processors Very inadequate. Very frequent stalls expected, particularly when computing the ticket with discounts, or performing other complex operations. In worst cases, the application itself may misbehave, and errors due to excessive freezing may occur.

What happens if the score is not high enough

If the score you got is low, it most likely means that the performance when using the Web POS will not be enough. If the score is very low, you could even encounter errors when using the application, such as data being corrupted, and the frequent need to clear the browser cache in order to use the application again.

It's important to take this into account when picking the devices which will be used as terminals, because as was previously mentioned, the Web POS is quite demanding in terms of performance. The hardware requirements page is a useful guide to understand what the Web POS requires in terms of hardware.

There are several factors which may contribute to a terminal having less performance than what it should have, such as:

It's important to check these factors when looking at the performance of a device, as they may have a significant impact in the user experience when running the Web POS.

Is it possible to run the test again

In some cases, particularly system administrators may be interested in running the test several times in a row, to check different configurations, or try to find the root cause of some system slowness. This can be done from the Web POS menu, by selecting the option "Start Performance Test".

This option is by default not available for users, and needs to be enabled by using the system preference "Mobile Activate Performance Test menu"

Retrieved from "http://wiki.openbravo.com/wiki/Retail:PerformanceTesting"

This page has been accessed 10,348 times. This page was last modified on 16 February 2017, at 11:38. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.