If we test an application by having two or three users perform some actions (login simultaneously or order the same item simultaneously) and we are not interested via this test in the system resources utilization, but we are only interested on does the application crashes or not? Does it displays unwanted messages or not, and so on
Is this kind of testing consider to be functional or performance?
By the way, we used to call this type of testing as multiuser testing; to ensure that, application is able to handle multiple users properly or not. Wheather there is a data loss or duplicate records are getting created in masters etc. This is definitely under functional testing.
Since you are using the term "simultaneously" I would have to classify this as a functional test, designed to test some specific engineered component for access under rarely or never encountered conditions.
The reason why I suggest this is a functional test is the following:
Client-server environments are based upon the premise of chaotic arrival, departure, and use of resources under load. Simultaneous use of resources (in the exact same fashion) is an excedingly rare occurance. Also the low load level is a big clue as to whether this is a functional test of some component versus a performance-style test which would generally involve some discussion of volume usage over some time interval.
I would suggest that depending on where you are looking for "unwanted" messages may have an impact on what kind of test it is. If you were delving into IIS, MQ, DB2 etc. error logs it may be beyond the remit (or ability) of the functional test team to recover and interpret these messages.
I like Rolands "Contention Testing" which is broad enough to allow it to be done in both Function & System testing.