Mastery learning (or, as it was initially called, "learning for mastery") is an instructional strategy and educational philosophy, first formally proposed by Benjamin Bloom in 1968. Mastery learning maintains that students must achieve a level of mastery (e.g., 90% on a knowledge test) in prerequisite knowledge before moving forward to learn subsequent information. If a student does not achieve mastery on the test, they are given additional support in learning and reviewing the information and then tested again. This cycle continues until the learner accomplishes mastery, and they may then move on to the next stage - wikipedia
Mastery learning methods suggest that the focus of instruction should be the time required for different students to learn the same material and achieve the same level of mastery. This is very much in contrast with classic models of teaching, which focus more on differences in students' ability and where all students are given approximately the same amount of time to learn and the same set of instructions.
In mastery learning, there is a shift in responsibilities, so that student's failure is more due to the instruction and not necessarily lack of ability on his or her part. Therefore, in a mastery learning environment, the challenge becomes providing enough time and employing instructional strategies so that all students can achieve the same level of learning.