non-functional system testing