public void levelOrder(Node root){
        if(root == null){
            System.out.println("Please enter a valid tree!");
            return;
        }
        Queue<Node> queue = new LinkedList<Node>();
        queue.offer(root);
        System.out.println();
        while(queue.size() > 0){
            root = queue.poll();
            System.out.print(root.data + " ");
            if(root.left != null){
                queue.add(root.left);
            }
            if(root.right != null){
                queue.add(root.right);
            }
        }
    }
Youtube link - https://youtu.be/9PHkM0Jri_4

http://www.geeksforgeeks.org/level-order-tree-traversal/ 
Test cases
Empty tree
Tree with only left side
Tree with only right side
Mixed size tree
Full tree
complete tree
src/com/interview/tree/LevelOrderTraversal.java