how to prepare for aptitude test for software companies