Chiến lược và bộ xương của bạn phụ thuộc một cách không quan trọng vào loại thử nghiệm nào bạn muốn tạo, loại bảo hiểm bạn đang tìm kiếm và ngôn ngữ / môi trường bạn đang làm việc.
Thật đơn giản để viết một trình tạo thử nghiệm, đối với các ngôn ngữ như C hoặc Java, đọc chữ ký lớp và tự động tạo các thử nghiệm cho các trường hợp góc tiêu chuẩn (truyền vào 0, 2 giá trị ngẫu nhiên, MAX_INT, MIN_INT, cho một đối số nguyên, null cho null , Vân vân...). Sau đó, bạn có thể chạy các thử nghiệm được tạo, ghi lại kết quả cho từng thử nghiệm và lọc thủ công qua chúng để loại bỏ các thử nghiệm không liên quan, phê duyệt kết quả chấp nhận được đối với các thử nghiệm vượt qua (để chúng có thể tự động vượt qua) và đánh dấu là không hợp lệ. .
Bạn có thể tăng cường điều này bằng cách gắn thẻ / nhận xét / tái cấu trúc các lớp để giúp trình tạo của bạn có thêm gợi ý. Bạn có thể có một thẻ liệt kê tất cả các ngoại lệ có thể xảy ra mà một lệnh gọi phương thức được phép nêu ra hoặc cung cấp một phạm vi số nguyên hợp lệ giảm cho một đối số nguyên. Hãy xem những điều này là ngắn hạn để bạn phải tự viết các bài kiểm tra.
Vì vậy, đây là một số thành phần bạn sẽ muốn xem xét:
- Một thành phần để tự động phân tích mã nguồn / chữ ký hàm / chú thích thủ công, tạo ra các trường hợp thử nghiệm tiêu chuẩn hoặc phác thảo / chữ ký cho các trường hợp thử nghiệm chờ đầu vào của bạn được hoàn thành.
- Một ngôn ngữ phát triển / thay đổi liên tục của thẻ / chú thích / nhận xét có thể đi đến bất kỳ mức độ chi tiết nào (phương thức / lớp / chữ ký / vòng lặp / v.v ...) thể hiện gợi ý cho trình xây dựng kiểm tra tự động. Lý tưởng nhất là bạn có thể chơi với ngôn ngữ này mà không cần phải mã hóa lại khung của bạn hoặc bất kỳ khối nào trong đó
- Người chạy thử tự động, với khả năng xác định các bài kiểm tra mới / cũ và ghi / kiểm tra đối với các câu trả lời "chấp nhận được" cho mỗi bài kiểm tra. Lý tưởng nhất là người chạy này sẽ xây dựng cơ sở dữ liệu về các lần chạy thử, kết quả được chấp nhận / từ chối và kết quả chấp nhận được hiện tại cho mỗi bài kiểm tra.
- "Kẻ giả mạo đối tượng" tự động, được đặt tên lớp và bản đồ tên-> giá trị, có thể tạo một đối tượng bắt chước lớp, trả về dữ liệu tùy chỉnh cho các lệnh gọi hàm, bộ truy cập, khe dữ liệu công cộng, v.v ...
Có rất nhiều khung kiểm tra ngoài đó đã bao gồm các khối chức năng này cho các ngôn ngữ và nền tảng khác nhau. Mặc dù khá dễ dàng để bắt đầu tự thực hiện công việc này và phát triển loại khung này một cách hữu cơ, nhưng đây cũng là một dự án dài hạn vô tận có thể sẽ nhân đôi công việc hiện có. Tôi khuyên bạn nên dành thời gian đáng kể để xem xét những gì có sẵn trước tiên và sau đó quyết định xem có đáng để dành thời gian để lặn không.