Testing of large and complex technology based ict systems manual and automated test processes requirements methodology and purpose of software testing