2009-08-06 24 views
7

Tôi có một dự án rất cũ được triển khai trong (cổ điển) ASP và SQL Server 2000. Vì những lo ngại về chất lượng, tôi đã xem xét khả năng thực hiện một số hình thức chất lượng tự động thử nghiệm. Mặc dù, các trang web là ASP dự án thực sự là 85% SQL Server được lưu trữ thủ tục, chức năng, quan điểm và DTS. (Rất nhiều phụ thuộc vào DTS) Rất nhiều thế hệ mã xảy ra từ SQL Server.Thử nghiệm Đơn vị cho VBScript, Mã ASP và SQL Server 2000

Liên quan đến DTS, chúng tôi hy vọng có thể là upgrade the database to SQL Server 2005 - do đó, nếu thử nghiệm đơn vị không thể được thiết lập trên DTS, còn SSIS thì sao?

tôi đã tìm thấy ASPUnit nhưng nó dường như không còn được duy trì ...

Đối với câu hỏi của tôi, nó thực sự là một câu hỏi đa phần.

  1. Có thể và thực tế cho bài kiểm tra Unit ASP không?
  2. Có thể và thực tế đối với các đối tượng SQL Server Test Unit không? (Tôi đã thấy một số thành công về điều này nhưng một số khuyến khích quá)
  3. Có khung kiểm tra hiện được hỗ trợ có thể sử dụng được với cả ASP và SQL Server không?
  4. Có phương pháp kiểm soát chất lượng phần mềm thay thế nào cho đơn vị kiểm tra loại mã cơ sở này không? (Bất kỳ lời khuyên chung nào cũng sẽ hữu ích. Cảm ơn bạn.)
  5. Ngoài ra, tôi đã xem xét ROI về việc triển khai thử nghiệm tự động trong một dự án như thế này. Dự án lớn. Tôi không biết bao nhiêu mã nhưng hàng trăm tệp, hàng nghìn (nếu không phải hàng triệu) dòng mã. Với điều này, hãy quay lại 1 và 3.

Tôi thực sự đang ở trong tình huống xấu với dự án này; bất kỳ tư vấn kiểm soát chất lượng chung nào sẽ được đánh giá cao ...

+0

Bài đăng này ai đó thay đổi thẻ 'asp' thành' asp-classic', cho một bài đăng khác mà ai đó đã thay đổi 'asp-classic' thành' asp'. Tôi không thể thắng. :-) –

Trả lời

3

Có vẻ như các sự cố của bạn thực sự ở cấp độ cao hơn so với các bài kiểm tra đơn vị. Tôi cho rằng các vấn đề chính của bạn sẽ được giải quyết tốt nhất ở cấp độ thử nghiệm tích hợp.

Vì các trang của bạn được tạo ra chủ yếu bởi SQL, các bài kiểm tra đơn vị asp sẽ chỉ bao gồm một tỷ lệ nhỏ các vấn đề, vì vậy bạn sẽ có phạm vi phủ sóng tốt hơn bằng cách kiểm tra các trang cuối bằng cách sử dụng công cụ tự động như watin hoặc ieunit/.

Bạn có thể nghĩ về những điều này về thử nghiệm đơn vị, nhưng chúng thực sự đang thử nghiệm kết quả cuối cùng sau khi tích hợp thay vì kiểm tra kết quả của các hàm nhỏ hơn. Mặc dù bạn có thể bỏ lỡ một số thay đổi cấp thấp hơn, bạn đang bỏ qua các vấn đề thiết kế cơ bản.

Miễn là kết quả cuối cùng của bạn vẫn giữ nguyên, thử nghiệm của bạn sẽ không quan tâm liệu nội dung của khu vực có đến từ asp hay SQL hay không.

+0

Vì vậy, câu hỏi sẽ trở thành WatiN làm việc với ASP cổ điển? Tôi thấy không có chỉ dẫn để nói nó. Tôi thấy rằng ieunit là một khả năng tuyệt vời. Chúng tôi có thể làm một tỷ lệ phần trăm tốt của thử nghiệm với điều đó ... –

+0

Ồ, và cảm ơn bạn đã trả lời của bạn. –

+0

Với sự hỗ trợ của Leslie, tôi nghĩ đây là câu trả lời tôi cần. Một lần nữa, cảm ơn bạn. –

1

Bạn có thể xem ajaxed unit tests. (Thư viện vẫn được duy trì)

+0

Có thể là một giải pháp khả thi ngoài những người khác nữa. Cảm ơn bạn. –

5

WATIN sẽ hoạt động tốt. Nó thao túng trình duyệt, do đó, nó không quan tâm ngôn ngữ mã được viết trong, hoặc cho dù mã là tốt hay xấu, hoặc được thiết kế cho testability hay không. Đó là thử nghiệm hồi quy, không phải thử nghiệm đơn vị. Nhưng đó là một nơi tuyệt vời để bắt đầu.

Bạn có thể sử dụng công cụ kiểm tra đơn vị bạn chọn: nUnit, mbUnit, MSTest, v.v.

+0

Cảm ơn bạn đã cung cấp thêm thông tin. –

0

Đối với bản nâng cấp sql (và bất kỳ thay đổi nào khác đối với mã sql), tôi sẽ xem xét Sql Unit (chưa sử dụng nó) hoặc một cái gì đó tương tự để thực hiện kiểm tra đơn vị trên cơ sở dữ liệu.

Bạn có thể thực hiện việc này cùng với bất kỳ chiến lược thử nghiệm nào khác mà bạn chọn.

Cần lưu ý các nhược điểm để kiểm tra thông qua giao diện người dùng: http://blog.objectmentor.com/articles/2010/01/04/ui-test-automation-tools-are-snake-oil. Hiểu rằng các bài kiểm tra thông qua giao diện người dùng thường dễ vỡ khi các nhà thiết kế muốn thực hiện các thay đổi cần được thực hiện. Để nâng cấp nghiêm ngặt các phiên bản SQL, tuy nhiên, bạn nên ổn.

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