What are good practices when it comes to software testing regarding file input and output? Is there any effective way to go in the market? Is it good to come with some prior knowledge, or is it better to take the test in the role of the user, not knowing how the system will react?