Non-functional Requirements • Performance • Stability • Operability • These requirements are usually applied to complex distributed server applications – Supports many interactive users – Processing high volume of data coming from and disseminated to several sources • Example: Web Sites or Web Services • Our world – Trading Systems, Exchanges, SOR, DMS, Brokerage, Trading Desks
load – Measure KPIs (Latency, Throughput, Capacity) – Determine the load, under which the KPIs become worse than required • Stress Test – Emulate extreme load – Monitor system behaviour – Ensure that we sustain it • Soak Test (Long Running Test) – Emulate load for a long time – Check whether we have any deterioration
These are some of the most essential pieces of any NFT project: – Correctly emulate the connections, implement protocol, use API – Make sure that KPI measurements are valid and accurate – Make sure that a tool does not experience performance issues itself and doesn’t influence KPI measurements – Developers whose application you are testing will blame your tools! You will require a proof of your figures based on valid sources (as the developers think)
hardware results • Be ready to advocate test results • Perform in-depth analysis • Make sure results are repeatable – unicorns are non-existent – Most of your odd results are probably invalid test runs