簡體   English   中英

客戶端/服務器應用程序的自動化測試

[英]Automated test of client/server application

正如標題所說,您將如何測試用C / C ++編寫的,通過網絡進行通訊的客戶端/服務器應用程序? 我對如何執行此操作有些困惑。 我曾經考慮過進行一些模擬,但是我從未嘗試過模擬,所以我不知道這是否是最好的方法。 我應該怎么做? 我編寫了許多單元測試,但從未嘗試過測試通過網絡交互的內容。

我使用單元測試驅動程序(客戶端)中的命令模式將測試命令發送到服務器。 這樣做的好處是將測試編碼在一個地方。

測試請求超時的示例:

客戶端先向服務器發送睡眠命令,然后向服務器發送請求。 請求超時,測試用例通過。

通常,您將需要使用模擬來驗證雙方是否對另一方的消息做出了必要的反應(例如,當客戶端從服務器接收到響應時,它會正確處理該響應)。

要測試網絡功能本身,您可以測試在同一台計算機上運行的這兩種功能,也可以在虛擬機內部運行一個(或兩者)的功能。 如果您有兩個網絡適配器,則甚至可以將每個適配器專用於一個虛擬機,這樣,網絡流量實際上就從一個虛擬機流出,到交換機/路由器,然后又從另一個流回(特別是在您要捕獲和驗證數據包時很有用) )。

我有一些通過回送地址進行單元測試的客戶端/服務器代碼。 當我必須測試錯誤條件時,我會使用一些模擬。 因此,我會盡可能地使用真實代碼進行測試,而當我需要觸發非常特定的條件時會進行模擬測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM