Advice on how to test multiple methods for multiple kinds of user?

Hi @kite, sorry for the late reply :frowning:
I would really recommend to find out what the distribution between the 2 roles is… and between the three actions … in particular, I would examine with the idea that there are really 6 actions and they are with the following distribution (for the purposes of the example :wink: )

A - 10%
B - 20%
C - 30%
D - 20%
E - 5%
F - 15%

As proposed in How to distribute VU's across different scenarios with k6 and particular this comment you can do

export default function() {
	let userDistro = Math.floor(Math.random() * 100);

	switch (true) {
		case (userDistro <= 10):
			// action A
			break;
		case (userDistro > 10 && userDistro <= 30):
			// action B
			break;
		case (userDistro > 30 && userDistro <= 60):
			// action C
			break;
		case (userDistro > 60 && userDistro <= 80):
			// action D
			break;
		case (userDistro > 80 && userDistro <= 85):
			// action E
			break;
		case (userDistro > 85 && userDistro <= 100):
			// action F
			break;
		default:
			// This really shouldn't be happing
	}
        sleep(1);
};

And with 10000 iterations over 100 vus I get:

   A....................: 1063  1874.221718/s
    B....................: 1993  3513.945327/s
    C....................: 2949  5199.510673/s
    D....................: 2037  3591.523649/s
    E....................: 510   899.20327/s
    F....................: 1448  2553.032029/s

which seems pretty close to what we want :slight_smile:

If you run the above script with the actual actions and enough VUs (more than 6 for example :wink: ) you will get different VUs running a different action in parallel :wink:
You can read more about how VUs work in k6 here