برای خودکارسازی تست نرمافزار میتوان انواع متفاوتی از تست را به کار گرفت. از تستهای سطح پایین که برای تست قطعه کدهای نرمافزار نوشته میشوند، (Unit Test)؛ تا تستهایی سطح بالا که از واسط کاربری شروع میشوند و تست را به شکلی اجرا میکنند که گویا یک کاربر واقعی در حال کار با سیستم است. (End-To-End Test).