Đối với lập trình viên ý nghĩa của hai loại test này là gì? Qui trình thế nào? Nên viết unit test và chương trình trước, rồi sửa chương trình để pass acceptance test? Hay viết chương trình để pass acceptance test rồi mới đến unit test?
Ngoài ra, sao lại cần hai loại test? Không thừa hay sao?
Đúng là hai loại test cùng test cùng một vật. Thật ra, đấy là mấu chốt. Unit test viết do lập trình viện để chắc chắn chương trình chạy đúng ý họ. Acceptance test viết do bộ phận kinh doanh (và QA) để chắc chắn chương trình chạy đúng ý họ. Cả hai phối hợp để chắc chắn cả lập trình viên và bộ phận kinh doanh có cùng ý định.
Tất nhiên cũng có khác nhau về cấp độ. Unit test sục vào chương trình và kiểm tra những đơn vị độc lập nhau. Thực tế, lập trình viên phải tốn nhiều công sức để tách các thành phần của chương trình độc lập với nhau để có thể kiểm tra chúng độc lập. Do đó unit test ít khi kiểm tra nhiều phần tích hợp với nhau trong chương trình.
Acceptance test, mặt khác, hoạt động trên nhiều phần tích hợp nhau của chương trình. Chúng thường đưa input vào chương trình và kiểm tra output. Do đó, dù acceptance test có thể kiểm tra cùng một vật như unit test, đường đi của chúng rất khác nhau.