Install 2 different OS X versions on the same machine/hdd
This is entirely possible. I use either of both of the following variants depending on what I'm trying to test:
Virtual machines
You can run OS X 10.7 and newer inside recent versions of Parallels and VMWare Fusion. You can also run the server variants of older OS X versions this way; these older server variants also work on VirtualBox, which is free for personal use.
Advantages:
- Run multiple versions of OSX at the same time
- Should be easier to automate (script) testing
- Snapshots for easy rollback to previous OS states (e.g. different patch levels, etc.)
- No need to repartition your disk
Disadvantages:
- Noticeably slower than natively installed OSX.
- If the software you want to test uses 3D acceleration or other non-USB hardware features, you will likely run into problems. Even USB devices may or may not work properly.
- Parallels and VMWare Fusion cost money (but realistically, it isn't much)
- Requires lots of RAM. It's just about doable with 4GiB, but I'd recommend 6-8 or more. RAM is pretty cheap, but some Macs are limited to 4GiB or non-upgradeable.
I don't have Parallels, but when I tried it, installation was pretty straightforward. VMWare Fusion just requires the Lion Installer.app (or Mountain Lion Installer.app) from the App Store for setting up a VM. When it asks for a disk or disk image, just drag the installer .app from Finder into the assistant window.
Multi-boot
You can install additional instances of OSX on your computers, and easily switch between them, either via Startup Disk in System Preferences or by holding the Alt/Option key when you hear the boot chime.
You can either repartition your existing disk - shrink it via Disk Utility and add an extra partition during setup - or install onto an extra hard drive or SSD. This can be an external USB or Firewire drive. Some Thunderbolt drives are also bootable.
The Installer.app
It's a good thing you've already purchased Lion, as you can no longer buy it from the App Store. The easiest will be to download it on your Mac running Snow Leopard: open the App Store, ensure you're logged in with your correct Apple ID and click the "Purchased" tab. You should be able to download Lion there.
When the download is done, it'll be an App in the Applications directory. Do not run it as that would upgrade your Snow Leopard install. If going the VM route, you can use the .app directly, otherwise you'll need to extract the InstallESD.dmg from the .app bundle and "restore" it to a USB stick (min 4GB) via Disk Utility. You can then boot from this stick by holding the Alt key when you hear the chime.
I also recommend backing up the installer app, as re-downloading it from the App Store from Mountain Lion is not possible out of the box. There are work-arounds, but I wouldn't rely on them continuing to exist.
Final Solution (or How I did it)
On my iMac (with Snow Leopard, 10.6.8) :
- Open the App Store
- Go to My Purchases
- Re-download OS X Lion
When the 4+ GB download was completed :
- Open Disk Utility
- Partition the hard drive
- Open the Lion installer
- Choose the second hard disk as a target
- Install OS X Lion
And voila!
Being a unix guy, and having installed numerous of the strangest linux distros, this things ended up being ridiculously simple.
Now, my iMac is running both 10.6 and 10.7 on two separate partitions.
Thanks a lot for your help, guys!
So here's what you got: OS X Snow Leopard, Lion, Mountain Lion install disks.
(You can burn Lion/ML to DVDs, though I strongly recommend SD Cards, and the image to burn reside in "Lion.app -> Contents -> SharedSupport", and burn or restore InstallESD.dmg)
Anyway, then you can start your installing game. You can partition your Mac hard drive to multiple partitions, and then install those versions to different partitions just like how you install any version of your OS.
You can use option key during startup to boot from SD/DVD or any of the partitions.
You do however, want to check Apple docs about SD booting because not all Macs with SD Card slot supports it.
I have done this with "3xML" setup, so I know it should work.
Best of luck!