Các loại rộng lớn trong tâm trí của tôi sẽ là:
Kiểm tra hộp đen . Bạn không được xem mã và chỉ kiểm tra một cách mù quáng ở một mức độ nào đó vì những gì trong ứng dụng hoặc hệ thống bị ẩn khỏi bạn. Do đó, trong trường hợp này, mọi người không biết tất cả các trường hợp lỗi và phải đoán với các điều kiện biên khác nhau có thể có hoặc không rõ ràng để tìm tất cả các trường hợp.
Kiểm tra hộp trắng . Bạn có thể xem mã và có thể xác minh đường dẫn mã nào đang được sử dụng để phạm vi mã có thể được sử dụng làm số liệu để đảm bảo rằng tất cả logic đang được sử dụng trong hệ thống. Ý tưởng ở đây là để biết mã trông như thế nào để giúp hướng dẫn các bài kiểm tra sao cho nó không quá bí ẩn như kiểm thử hộp đen.
Kiểm tra hộp màu xám là một kết hợp của hai trước đó.
Các trường hợp ranh giới có xu hướng là một cái gì đó mà người ta có thể nhìn thấy trong kiểm tra hộp trắng vì có nhiều điều kiện khác nhau để xem trong mã mà người ta viết các bài kiểm tra để đánh, ví dụ: nếu bạn có một chương trình yêu cầu số và ai đó nhập X thì xử lý như thế nào nên được nhìn thấy ở đâu đó trong mã.
Phân loại chung của thử nghiệm sẽ là:
Bài kiểm tra đơn vị . Nhìn chung đây là các thử nghiệm nhỏ nhất kiểm tra một cái gì đó khá cụ thể, ví dụ phương pháp này có xử lý trường hợp ranh giới này không? Lưu ý rằng tiêm phụ thuộc có thể được sử dụng ở đây cho các trường hợp liên quan đến các đối tượng giả để giảm bất kỳ sự phụ thuộc nào cho các xét nghiệm.
Kiểm tra tích hợp . Đây là các thử nghiệm trong đó một vài thành phần được kết nối và các thử nghiệm được chạy để đảm bảo các thành phần hoạt động tốt với nhau. Lưu ý rằng trong khi các bài kiểm tra đơn vị có thể hoạt động độc lập, thì đây là bài kiểm tra xem mọi thứ kết hợp với nhau như thế nào vì có thể có sự nhầm lẫn giữa các lớp khiến các bài kiểm tra này hữu ích trong việc nắm bắt các vấn đề khác nhau. Thuật ngữ End-to-End tests được sử dụng cho các thử nghiệm tích hợp trong đó một chuỗi đầy đủ các thành phần được kiểm tra từ "một điểm cuối của ứng dụng này đến điểm khác" (bất kể điều đó có nghĩa là gì).
Kiểm tra hồi quy . Đây sẽ là các thử nghiệm được thực hiện trong quá khứ được thực hiện lại để đảm bảo rằng những gì đã được sửa vẫn được sửa và các lỗi không được giới thiệu lại cho mã.
Kiểm tra khả năng sử dụng . Đây sẽ là các thử nghiệm được thực hiện để xem người dùng cuối có thể làm việc tốt như thế nào với phần mềm để hoàn thành các tác vụ khác nhau. Nơi nào đó có thể được tự động hóa để làm cho một cái gì đó nhanh hơn hoặc điều chỉnh giao diện người dùng để một cái gì đó dễ sử dụng hơn.
Kiểm tra chấp nhận người dùng . Đây sẽ là các thử nghiệm được thực hiện bởi người dùng cuối để họ có thể thấy tận mắt cách thức hoạt động của một cái gì đó và đồng ý rằng phần mềm đáp ứng nhu cầu kinh doanh đã yêu cầu nó ngay từ đầu.
Kiểm tra chức năng là tất cả các loại kiểm tra dựa trên đặc điểm kỹ thuật chức năng của phần mềm được kiểm tra. Đây luôn là những bài kiểm tra hộp đen.
Kiểm tra hiệu năng. Đây sẽ là các thử nghiệm được thực hiện để đảm bảo một hệ thống có thể xử lý một lượng tải nhất định mà không bị quá chậm. Ví dụ: thử nghiệm một trang trại máy chủ web mới có thể xử lý tất cả 100 người dùng truy cập một trang web cùng một lúc sẽ là một ví dụ về kiểm tra hiệu suất. Đây cũng có thể được gọi là "kiểm tra tải" hoặc "kiểm tra căng thẳng" vì nói chung ý tưởng ở đây là đẩy hệ thống đến giới hạn của nó hoặc xác minh rằng hệ thống có thể xử lý một số phép chiếu từ bộ phận khác. Lý do căn bản của các thử nghiệm này là thường có nhiều cài đặt cấu hình để tối ưu hóa có thể mất nhiều hơn một chút công việc để khám phá các tắc nghẽn và giải quyết các vấn đề với điều này. Nút thắt ở đây có thể là bộ nhớ, I / O, CPU hoặc băng thông mạng khiến hệ thống không đáp ứng như mong đợi.
Test Driven Development là một phương pháp và không đề cập đến một loại thử nghiệm cụ thể mà thay vào đó các thử nghiệm được viết trước mã để các thử nghiệm là yếu tố thúc đẩy sự phát triển thay vì hành vi , miền hoặc tính năng là một số ví dụ khác về quá trình.
Tích hợp liên tục là một thực hành chạy một số bài kiểm tra như kiểm tra đơn vị, tích hợp và hồi quy thường xuyên để nếu một thay đổi phá vỡ một bài kiểm tra thì điều này được nắm bắt càng sớm càng tốt.