Preheat the oven broiler with the rack about 6 inches from the heat source. Cut the tips from the asparagus and set them aside. Cut the remaining part of the spear into 2-inch chunks and set aside. Mix the eggs, milk and parsley together in a bowl and set aside. Heat the olive oil and butter in a large sauté pan over medium heat. When the butter has melted and looks foamy, add the onion and cut asparagus spears and cook for about 2 minutes or until softened. Add the asparagus tips and cook for another minute or until the vegetables are crisp-tender. Scatter the cheeses over the vegetables. Pour in the egg mixture and turn the heat to low. Stir once or twice, then cook undisturbed for about 8 minutes or until the bottom has set. Place the pan under the broiler for up to a minute or until the frittata is puffed and golden. Season to taste with freshly ground black pepper.