Big Data is reforming many industrial domains by providing decision support through analyzing large volumes of data. Big Data testing aims to ensure that Big Data systems run smoothly and error-free while maintaining the performance and quality of data. However, because of the diversity and complexity of data, testing Big Data is challenging. Though numerous researches deal with Big Data testing, a comprehensive review to address testing techniques and challenges is not conflate yet. Therefore, we have conducted a systematic review of the Big Data testing techniques period (2010 - 2021). This paper discusses the processing of testing data by highlighting the techniques used in every processing phase. Furthermore, we discuss the challenges and future directions. Our finding shows that diverse functional, non-functional and combined (functional and non-functional) testing techniques have been used to solve specific problems related to Big Data. At the same time, most of the testing challenges have been faced during the MapReduce validation phase. In addition, the combinatorial testing technique is one of the most applied techniques in combination with other techniques (i.e., random testing, mutation testing, input space partitioning and equivalence testing) to solve various functional faults challenges faced during Big Data testing.