2010-01-17 29 views
8

Tôi muốn tìm hiểu cách xây dựng phần mềm “mạnh mẽ” được thiết kế để tự kiểm tra. Nói cách khác, làm cách nào để thực hiện các kiểm tra tự động trong phần mềm của tôi (sử dụng java hoặc groovy hoặc C++).Tôi có thể học các kỹ thuật kiểm thử phần mềm ở đâu và như thế nào?

Vì vậy, tôi muốn biết nơi để tìm hiểu điều này (sách hoặc trang web) và công cụ và thư viện nào tôi sẽ cần cho điều này?

+1

Câu hỏi hay, nhưng tôi nghĩ rằng chủ đề là một chút. Nên là "Tôi có thể học các kỹ thuật kiểm thử phần mềm tự động ở đâu và như thế nào?" –

Trả lời

5
  • chung TDD cho người mới bắt đầu: Kent Beck: Test Driven Development by Example
  • chung Đơn vị kiểm tra tham khảo: Gerard Mészáros: Patterns xUnit Test: Refactoring Mã Kiểm tra
  • TDD cho các dự án greenfield: Steve Freeman, Nat Pryce : Trồng Object-Oriented Software, hướng dẫn bởi thử nghiệm
  • TDD cho các dự án brownfield: Feathers Micheal: Làm việc hiệu quả với Legacy Mã
  • Q & A cho vấn đề kiểm tra: http://www.stackoverflow.com
  • Software list (di chuyển xuống)
+1

+1 - Khối lượng Beck rất hữu ích. –

0

JUnit, khai thác thử nghiệm tự động cho Java, là công cụ thực sự khởi động mọi thứ. The JUnit site là một nơi tuyệt vời để bắt đầu. Nó làm tròn lên rất nhiều bài viết và liên kết đến các công cụ kiểm tra.

1

Ngoài sự phát triển thử nghiệm điều khiển nói trên (TDD) kỹ thuật, bạn có thể cung cấp một cái nhìn tại design by contract, một kỹ thuật ở đâu, về cơ bản, người ta thêm khẳng định trong mã sản xuất để xác nhận tại thời điểm chạy rằng các điều khoản hợp đồng (đầu vào, đầu ra và bất biến) giữa các thành phần được tôn trọng. Các xác nhận này có thể được gỡ bỏ hoặc lưu giữ khi phần mềm được phân phối.

Tôi muốn tăng thêm câu trả lời để làm rõ rằng TDD không dẫn đến "phần mềm được thiết kế để tự kiểm tra", nhưng một số phần mềm, - bộ kiểm thử đơn vị, được phát triển cùng với mã sản xuất, một phần mềm khác.

0

Tôi đã tìm thấy The Art of Unit Testing by Roy Osherove để rất hữu ích trong việc tìm hiểu các khái niệm cơ bản về kiểm tra đơn vị, thử nghiệm tích hợp, TDD v.v. Đó là một chút phù hợp cho các ngôn ngữ .Net, nhưng nó cũng cung cấp thông tin rất tốt về những ý tưởng đằng sau thử nghiệm tự động.

Các vấn đề liên quan