Hi Marcel,
I'm not entirely sure what you mean by
"does not give me a proper output", but I'll try to guess.
First of all, this loop will evaluate for omega=0, 1, and 2, because that's how you specified your iterator. Take a look at the Documentation article for Do to see all the different ways for iterator, it's really quite flexible, so you should be able to find a syntax that suits you. If you want omega=0 and 1, you will need {omega,0,1} at the end of the loop.
If you're missing something like a printed output, well, you're not asking Mathematica to print anything: each of your assignments to the si ends with a semicolon, which means that they're all part of a CompoundExpression. It also means that you're suppressing output. This is the best way to write a Do loop with several statements inside it, so you did this correctly. Mathematica will now assign values to the si, but since they have the same name in each cycle of the loop, they will be overwritten, and I'm guessing that you don't that to happen. You could try the following:
Do[
s1[omega] = Boole[Table[test1[omega, s[i], t[i], u[i]], {i, 1, imax}, {k, 0, 2 Pi,di}]];
s2[omega] = Boole[Table[test2[omega, s[i], t[i], u[i]], {i, 1, imax}, {k, 0, 2 Pi,di}]];
s3[omega] = Boole[Table[test3[omega, s[i], t[i], u[i]], {i, 1, imax}, {k, 0, 2 Pi,di}]];
s4[omega] = Boole[Table[test4[omega, s[i], t[i], u[i]], {i, 1, imax}, {k, 0, 2 Pi,di}]];
, {omega, 0, 2}]
And now you can ask Mathematica for any of these values:
s1[0]
s3[1]
...and so on.
Also, I'm just assuming that all the symbols in your code (testi, s, t, u, k, di, imax, and so forth) have sensible values assigned to them before the loop is evaluated.
I hope that was at least somewhat helpful to you.
~ Bianca