What is grey , black and white box testing?
How are they all different from each others?
White box testing is nothing but testing the internals in the code base of software.Writing Unit Testing for code base is a perfect example and usually it will be done by developer.It is very cheap to write and we have good amount of chances to uncover the defects as much early as possible.
Black box testing is a technique which is used to test the system whole,without having any knowledge about the code,technologies,architecture and any other details.Usually we will mimic the actions/activity of an End user here.Doing system testing or writing automated tests using selenium for mimic the end user actions on a browser will be perfect example for this black box testing technique.This is very expensive to write and the defects identified at this testing are also bit expensive.
Grey box testing is a mix of both black and white box testings.Here we will be exposed to little/more details of the internal code base,architecture,technology of the software and the other half might be hidden.So we may have to create a mocks or stubs to replicate the hidden behaviour of the internals and then test it or write automated test for that.Writing Integration tests with the help of mocks and stubs are perfect example for grey box testing.
As @Aswini Variganji mentioned, these are the types of testing implemented in software QA processes. Each one has a different application.
Grey Box testing is typically implemented by the software developers who have knowledge of the internal working of the software and can understand the underlying code.
Black Box Testing is the most common form of testing where the software tester is not exposed to the code or underlying language and is expected to find out the bugs in the software from end-user's perspective.
White Box Testing is implemented by software developers in order to ship the code to the software QA teams with minimum amount of bugs. It typically comprises of small chunks of tests that address specific functionality in the final software.
thx for the answers.