Ở đây, Mike Clifton mô tả 24 mẫu thử nghiệm từ năm 2004. Đây là mẫu thử nghiệm hữu ích khi thiết kế thử nghiệm đơn vị.
http://www.codeproject.com/Articles/5772/Advanced-Unit-Test-Part-V-Unit-Test-Patterns
đèo/Fail Patterns
Những mẫu là dòng đầu tiên của bạn bảo vệ (hay tấn công, tùy thuộc vào quan điểm của bạn) để đảm bảo mã tốt. Nhưng được cảnh báo, họ là lừa đảo trong những gì họ nói với bạn về mã.
- The Simple-Kiểm tra mẫu
- Bộ luật-Path Pattern
- Các Parameter cấp Pattern
Patterns giao dịch dữ liệu
mẫu giao dịch dữ liệu là một sự khởi đầu tại ôm các vấn đề về sự kiên trì và truyền thông dữ liệu. Thêm về chủ đề này được thảo luận trong "Mô hình mô phỏng". Ngoài ra, các mẫu này cố ý bỏ qua kiểm tra căng thẳng, ví dụ, tải trên máy chủ. Điều này sẽ được thảo luận trong "Stress-Test Patterns".
- The Simple-Data-I/O mẫu
- Các Constraint-Data Pattern
- Các mẫu Rollback
Patterns Quản lý Bộ sưu tập
Rất nhiều những ứng dụng làm là quản lý bộ sưu tập thông tin. Trong khi có nhiều bộ sưu tập có sẵn cho lập trình viên, điều quan trọng là phải xác minh (và do đó tài liệu) rằng mã đang sử dụng bộ sưu tập chính xác. Điều này ảnh hưởng đến trật tự và ràng buộc.
- Bộ sưu tập bậc mẫu
- Các mẫu Enumeration Các
- Collection-Hạn chế Pattern
- Các mẫu Collection-Indexing
Performance Patterns
Đơn vị kiểm tra nên không chỉ quan tâm đến chức năng mà còn với biểu mẫu. Mã dưới kiểm thử hiệu quả thực hiện chức năng của nó như thế nào? Nhanh như thế nào? Bộ nhớ sử dụng bao nhiêu bộ nhớ? Nó có hỗ trợ việc chèn dữ liệu để truy xuất dữ liệu một cách hiệu quả không? Nó có giải phóng tài nguyên một cách chính xác không? Đây là tất cả những thứ đang trong quá trình kiểm tra đơn vị. Bằng cách bao gồm các mẫu hiệu suất trong thử nghiệm đơn vị, người triển khai có mục tiêu để tiếp cận, kết quả là mã tốt hơn, ứng dụng tốt hơn và khách hàng hạnh phúc hơn.
Process Patterns
Đơn vị kiểm tra được thiết kế để kiểm tra, tốt, đơn vị ... các chức năng cơ bản của ứng dụng. Có thể lập luận rằng các quá trình thử nghiệm nên được chuyển xuống các thủ tục kiểm tra chấp nhận, tuy nhiên tôi không mua vào đối số này. Quy trình chỉ là một loại đơn vị khác. Các quy trình thử nghiệm với bộ kiểm thử đơn vị cung cấp các ưu điểm giống như kiểm tra đơn vị khác - nó ghi lại cách quy trình được thiết kế để hoạt động và bộ kiểm thử đơn vị có thể hỗ trợ người thực hiện bằng cách kiểm tra quá trình. tốt. Thuật ngữ "quy trình" cũng bao gồm các quá trình chuyển đổi trạng thái và quy tắc kinh doanh, cả hai quy tắc này phải được xác thực.
- Các mẫu Process-Chuỗi
- Các mẫu Process-State
- Quá trình-Rule Pattern
Patterns Simulation
giao dịch dữ liệu rất khó để kiểm tra vì họ thường yêu cầu cấu hình cài sẵn, kết nối mở và/hoặc thiết bị trực tuyến (để đặt tên một vài). Các đối tượng giả có thể đến để giải cứu bằng cách mô phỏng cơ sở dữ liệu, dịch vụ web, sự kiện người dùng, kết nối và/hoặc phần cứng mà mã đang giao dịch. các đối tượng giả cũng có khả năng tạo điều kiện thất bại mà rất khó để tái tạo trong thế giới thực - một kết nối lossy, một máy chủ chậm, một trung tâm mạng thất bại vv
- Mock-Object Pattern
- Dịch vụ-mô phỏng mẫu
- các mẫu Bit-Error-Simulation
- các Component-mô phỏng mẫu
Patterns Multithreading
Đơn vị thử nghiệm các ứng dụng đa luồng có lẽ là một trong những điều khó làm nhất vì bạn phải thiết lập một điều kiện do bản chất của nó được dự định là không đồng bộ và do đó không xác định. Chủ đề này có lẽ là một bài viết lớn trong chính nó, vì vậy tôi sẽ chỉ cung cấp một mô hình rất chung chung ở đây. Bên cạnh đó, để thực hiện nhiều thử nghiệm luồng một cách chính xác, việc áp dụng đơn vị kiểm tra phải tự thực hiện kiểm tra theo chủ đề riêng biệt để các tester đơn vị không bị vô hiệu hóa khi một thread kết thúc trong trạng thái chờ đợi
- Các mẫu hiệu
- các Deadlock-Nghị quyết Pattern
Patterns Căng thẳng-Test
Hầu hết các ứng dụng được thử nghiệm trong môi trường lý tưởng - các lập trình viên đang sử dụng một machin nhanh e với lưu lượng mạng nhỏ, sử dụng các tập dữ liệu nhỏ. Thế giới thực rất khác biệt. Trước khi một cái gì đó hoàn toàn phá vỡ, ứng dụng có thể bị suy thoái và phản hồi kém hoặc có lỗi cho người dùng. Các xét nghiệm đơn vị xác minh hiệu suất của mã dưới sự căng thẳng phải được đáp ứng với sự nhiệt tình bằng nhau (nếu không nhiều hơn) so với các xét nghiệm đơn vị trong một môi trường lý tưởng.
- Các Bulk-Data-Stress-Kiểm tra mẫu
Pattern
- Các Resource Căng Thẳng-Test
- Các tải-Kiểm tra mẫu
Presentation Lớp Patterns
Một trong các khía cạnh thách thức nhất của thử nghiệm đơn vị là xác minh rằng thông tin đang nhận được cho người dùng ngay tại chính lớp trình bày và rằng nội bộ wor các vị vua của ứng dụng được thiết lập chính xác trạng thái lớp trình bày.Thông thường, các lớp trình bày được vướng víu với các đối tượng nghiệp vụ, các đối tượng dữ liệu và logic điều khiển. Nếu bạn đang lập kế hoạch kiểm thử đơn vị lớp trình bày, bạn phải nhận ra rằng việc tách biệt mối quan tâm là bắt buộc. Một phần của giải pháp bao gồm việc phát triển một kiến trúc Model-View-Controller (MVC) thích hợp. Kiến trúc MVC cung cấp một phương tiện để phát triển các thực hành thiết kế tốt khi làm việc với lớp trình bày. Tuy nhiên, nó dễ bị lạm dụng. Một số lượng nhất định của kỷ luật là cần thiết để đảm bảo rằng bạn đang, trên thực tế, thực hiện các kiến trúc MVC một cách chính xác, chứ không phải chỉ trong từ một mình.
- The View-State mẫu thử nghiệm
- Các thử nghiệm Model-State Pattern