2008-12-18 23 views
5

Tôi đang làm việc trên một dự án phát triển phần mềm sử dụng mã được viết chủ yếu trong C và C#. Hiện tại, trách nhiệm kiểm tra chủ yếu rơi vào các nhà phát triển khi họ thay đổi mã.Thử nghiệm tự động .NET (Gallio?)

Tôi quan tâm đến việc triển khai khung kiểm tra tự động để giúp chúng tôi cải thiện chất lượng mã của mình. Đặc biệt, nó sẽ là tuyệt vời để có thử nghiệm tự động chạy mỗi mã thời gian đã được gửi để kiểm soát phiên bản.

Tôi không có nhiều kinh nghiệm về kiểm tra tự động (hoặc kiểm tra đơn vị cho vấn đề đó). Có ai thực hiện phát triển bằng cách sử dụng một khuôn khổ thử nghiệm cho C/C#, và nếu có, những gì có thể là một số trở ngại chúng tôi sẽ phải đối mặt để thực hiện nó trên toàn công ty và trên một cơ sở mã hiện có khá lớn?

Cụ thể, tôi đã xem xét cách Gallio có thể được sử dụng. Bất kỳ ý kiến ​​về sản phẩm cụ thể này sẽ được đánh giá cao.

Thông tin bổ sung:

Adding unit tests to an existing project
Unit Testing Legacy ASP.NET Webforms Applications
Moving existing code to Test Driven Development
Favorite .NET Unit Testing framework

Trả lời

3

Để được cùn, điều này nghe có vẻ như bạn đang tìm kiếm lý do để không làm điều đó. Chỉ cần nhận NUnit và đi thôi. Bắt đầu với mảnh nhỏ nhất để chân bạn ướt.

+1

Ngược lại, tôi muốn sử dụng thử nghiệm đơn vị rất nặng. Tuy nhiên, đây là thứ cần phải được triển khai cho 100 người, và tôi muốn đảm bảo rằng chúng tôi đầu tư thời gian và năng lượng của mình vào các công cụ thích hợp. – Tim

+0

@Tim: đây là loại thông tin thuộc về câu hỏi của bạn! "Toàn công ty" có thể có nghĩa là "bạn và người lập trình khác" ;-) –

+0

+1, NUnit thật tuyệt vời. @Tim, có rất nhiều lựa chọn thay thế, một số trong số họ tốt, nhưng sự khác biệt là tối thiểu. Chỉ cần lấy nó và đi. – orip

1

TestComplete là phong nha và dễ sử dụng khi tôi sử dụng nó (một vài năm trước). Ít nhất thì bạn cần học một số VBScript.

0

Chúng tôi sử dụng TestComplete từ AutomatedQA và đây là nền tảng phù hợp để thực hiện kiểm tra gui. Chúng tôi làm tất cả mã TestComplete của chúng tôi trong Jscript, điều này không tuyệt vời, nhưng nó hoàn thành công việc. Tôi không chắc chắn tôi muốn khuyên bạn nên thử nghiệm Automated GUI mặc dù, tôi nghĩ rằng bạn sẽ nhận được một lợi nhuận tốt hơn nhiều về thử nghiệm đơn vị.

Nunit và tê giác giả là công cụ tuyệt vời để kiểm tra đơn vị.

CruiseControl giống như cách tốt nhất để thiết lập thử nghiệm tự động trên mỗi công trình xây dựng.

3

Gallio thực sự là một khuôn khổ cho toàn bộ chuỗi công cụ kiểm tra. Từ viết các bài kiểm tra, để chạy chúng để đăng các quá trình xây dựng. Nó cung cấp các cơ sở chung và giao diện chuẩn hóa cho từng bước để cho phép lựa chọn và linh hoạt hơn khi đưa một quy trình xây dựng với nhau.

Nó đi kèm với một phiên bản của khung MbUnit, nó sử dụng theo mặc định. Nó cũng đi kèm với một Á hậu GUI tên Icarus, và một Á hậu giao diện điều khiển tên là Echo. Họ đều là những công cụ được kính trọng trong cộng đồng thử nghiệm.

Đây là một lựa chọn tuyệt vời cho một công ty lớn, vì nó có thể cho phép bạn tận dụng nhiều công cụ kiểm tra phổ biến và tích hợp liên tục với ít nhất là nhức đầu tích hợp.

Chọn một bài kiểm tra khung và viết chỉ là một nửa trận chiến, Gallio thực sự giúp với nửa còn lại; dán lên tất cả các bước khác trong quá trình xây dựng.

Nhược điểm thực sự duy nhất tại thời điểm này là thiếu kho lưu trữ trung tâm ví dụ và thông tin. Đối với một số người, thực tế là một sáng kiến ​​tương đối mới có thể khiến họ sử dụng nó ngay bây giờ.

Check out the docs here. Chúng là một công việc đang được tiến hành và rất không đầy đủ nhưng sẽ giúp bạn bắt đầu trên cơ sở các bài kiểm tra viết. Giữ mắt của bạn trên Jeff Browns Blog để biết thông tin khác.

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