1. Melt butter in a 22cm (base) heavy-based, ovenproof non-stick frying pan over low heat. Add onion. Cook, stirring occasionally, for 15 to 20 minutes or until golden.
2. Meanwhile, preheat grill on medium-high. Place pancetta on a baking tray lined with foil. Grill for 1 to 2 minutes each side or until crisp. Drain on a plate lined with paper towel. Break into small pieces. Place in a bowl. Add basil and parsley. Toss to combine.
3. Whisk eggs and cheese together in a jug. Season with salt and pepper.
4. Increase pan heat to medium-high. Add zucchini and mushrooms.Cook, stirring, for 2 to 3 minutes or until tender. Arrange tomato and pancetta mixture over zucchini mixture.
5. Pour egg mixture over tomato mixture. Lift and tilt pan to distribute egg mixture. Reduce heat to low. Cook for 7 to 8 minutes or until frittata is almost set (surface should still be slightly runny).
6. Place pan under grill. Grill frittata for 5 minutes or until just set and light golden (not browned). Set aside for 2 minutes. Loosen with a spatula. Slide onto a plate. Cut into wedges. Serve.