Simply put, grey box testing is a combination of black box and white box testing. Grey box testing will cover both front end and back-end testing of a software application. For the front end testing, no programming knowledge is required whereas with the back-end it is required.
Grey box testing is a technique for testing a software application for those who have some understanding of the internal workings of the application.
To test something is to evaluate the functionality of it against some criteria. The process of software application testing is an exercise with the purpose of checking whether or not a system meets both the user and system requirements that were set out in the earlier stages of the system development life-cycle. The process of software application testing involves running and analyzing a system in various ways in a bid to identifying bugs and errors and to check for requirements that might have been missed in the development stage.