Steam the asparagus until just tender. Drain it into a serving bowl and let it cool for about 10 minutes. Cut it into bite-size pieces.
Meanwhile, chop the tomatoes and onion. Place the dressing ingredients in a medium bowl and whisk them until they emulsify into a velvety dressing.
Add the tomatoes, onions, olives, and asparagus to the serving bowl and gently mix. Pour the dressing on top and mix again. Be gentle so that the delicate asparagus heads remain intact.
Serve the salad immediately, or cover and keep it in the fridge for up to four hours until ready to serve. Remove it from the fridge 15 minutes before serving and gently toss again.
Video
Notes
It's important to avoid overcooking the asparagus. Steam it until it's tender-crisp, not limp and stringy.
Be gentle when mixing the asparagus with the remaining ingredients. The spears' heads are fragile and can easily disintegrate if you're not careful.
These are big portions - you can easily serve this salad to three or even four people.
While you can make this salad ahead of time, I wouldn't try to store the leftovers for longer than a couple of days. Keep them in an airtight container in the fridge, and gently toss the salad again before serving it.