2008-11-28 28 views
5

Tôi sắp sửa thực hiện một số thay đổi đối với mô-đun Apache C hiện có để khắc phục một số lỗi bảo mật có thể xảy ra và thực tiễn xấu chung. Tuy nhiên, chức năng của mã phải không thay đổi (trừ trường hợp sửa lỗi). Công cụ kiểm tra hồi quy chuẩn dường như theo thứ tự. Tôi muốn biết nếu có ai biết một cách tốt để chạy một số bài kiểm tra đơn vị hồi quy againt mã. Tôi đang suy nghĩ một cái gì đó dọc theo dòng sử dụng C-Unit nhưng với tất cả các tie in Apache APR và cấu trúc trạng thái Tôi đã tự hỏi nếu có một cách tốt để kiểm tra này. Có bất kỳ khung công tác dựng sẵn nào có thể được sử dụng với đơn vị C không?Có một khuôn khổ để chạy thử nghiệm đơn vị trên mô-đun Apache C không?

Cảm ơn

Peter

Trả lời

7

Tôi đã nghĩ đến việc trả lời các câu này trong một thời gian, nhưng tìm một người nào khác có thể đưa ra một câu trả lời tốt hơn, bởi vì tôi là thay vì không đạt yêu cầu: không có, tôi không nhận thức được bất kỳ khung kiểm thử đơn vị nào như vậy.

Tôi nghĩ rằng đặt cược tốt nhất của bạn là thử và cấu trúc lại mô-đun C của bạn sao cho các phụ thuộc của nó trên cơ sở mã httpd được chứa trong một lớp keo rất mỏng. Tôi sẽ không lo lắng quá nhiều về phụ thuộc vào APR, có thể dễ dàng được liên kết vào mã kiểm tra đơn vị của bạn. Đó là những thứ như sử dụng hồ sơ yêu cầu mà bạn nên cố gắng trừu tượng ra một chút.

Tôi sẽ đi xa và đề xuất rằng việc tái cấu trúc như vậy là một ý tưởng hay nếu mã bị nghi ngờ có chứa các lỗi bảo mật và thực tiễn không tốt. Nó thường chỉ là một công việc khá lớn.

Điều bạn cũng có thể cân nhắc là chạy thử nghiệm tích hợp thay vì kiểm tra đơn vị (lý tưởng cả hai), tức là đưa ra một bộ yêu cầu và phản hồi mong đợi từ máy chủ và chạy chương trình để so sánh thực tế với phản hồi mong đợi.

Vì vậy, không phải là câu trả lời bạn đang tìm kiếm và bạn có thể nghĩ về điều gì đó dọc theo dòng này. Nhưng ít nhất tôi có thể nói với bạn từ kinh nghiệm rằng nếu mô-đun không thể được thay thế bằng một cái gì đó mới vì lý do kinh doanh, sau đó tái cấu trúc nó cho khả năng kiểm tra sẽ có khả năng trả hết trong thời gian dài hơn.

1

Dành một chút thời gian nhìn xung quanh mạng nội bộ cho bạn vì đó là một câu hỏi mà tôi đã tò mò. tình cờ đọc một bài báo nói rằng wiki

http://cutest.sourceforge.net/

đã được sử dụng cho di động thử nghiệm c runtime apache. có thể đáng để kiểm tra điều đó.

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