The error message is very clear:

Test method marked with the [TestMethod] attribute must be non-static, public, does not return a value and should not take any parameter. for example: public void Test.Class1.Test().
It's telling you that any method marked with the [TestMethod] attribute must be a public static void method.

Your method of "public static Stream Serialize( ... )" that you've marked with the [TestMethod] attribute isn't a public static void method. If you need this method signature, remove the [TestMethod] attribute (but don't expect the method to be run as part of the test suite).