Define gray box testing. A combination of Black Box and White Box testing methodologies: testing a piece of software against its specification but using some knowledge of its internal workings.