I personally use my own machine during development of packages. This is not possible if you are packaging for older distributions but it's a lot quicker than using any other solutions if there is a lot of churn on your packaging code.
To test package builds, you need to use a chroot-based tool like pbuilder, cowbuilder, or sbuild. This makes sure that the package will build with correct dependency on the target distribution.
You can test some software in chroot, but things like network daemon make come into conflict with other daemon running on the host machine.
If your package set is complexe, the best test environment you can use is a VM software that supports snapshot. You need to create a virtualized environment with your target distribution and install package on it. With snapshots, you can reset your operating environment back to its post-installation state.
You can work with only one snapshot, but VirtualBox supports multiple snapshots, which give additional flexibility in complex tests.