W każdym modelu rozwoju oprogramowania dobre testowanie posiada kilka niezmiennych cech:
- dla każdej czynności związanej z wytworzeniem oprogramowania istnieją odpowiadające jej czynności związane z testowaniem
- każdy poziom testowania ma zdefiniowane cele
- analiza i projektowanie testów dla danego poziomu powinny rozpoczynać się już podczas odpowiadającej im fazy wytwarzania
- testerzy powinni uczestniczyć w przeglądach już od wczesnych wersji dokumentacji tworzonej podczas wytwarzania
Poziomy testowania mogą być łączone lub organizowane na różne sposoby w zależności od natury projektu lub architektury systemu. Na przykład przy integracji oprogramowania z półki w jeden system nabywca może przeprowadzić testy integracyjne na poziomie systemowym (np. integracja z infrastrukturą i innymi systemami lub wdrożenie systemu) oraz testy akceptacyjne (funkcjonalne i niefunkcjonalne oraz testy akceptacyjne użytkownika i testy produkcyjne).