標籤:style blog http color ar sp strong 檔案 div
第3部分 軟體研發工作總結
效能測試
【文章摘要】
對於通訊領域的某些中間模組,其主要功能是對收到的訊息進行處理然後發送,在兩個模組之間充當了一個“橋樑”的作用。因為訊息的條數有多有少,這就對其效能提出了要求。
本文結合作者的實際項目經驗,描寫敘述了效能測試的整個過程,並對效能測試過程中的一些常見問題進行了簡單的介紹。
1. 前言
在完畢項目新需求的編碼之後,對代碼進行自測以驗證功能的正確性是在所難免的。一般說來,花在測試上面的時間要很多其他一些。通過對自己所編敲代碼的具體測試,開發人員能夠發現設計上、編碼上的不足,及時對程式進行改動,降低了興許改動所帶來的成本的添加?。
某些中間模組位於兩個重要模組之間,充當了“橋樑”的作用。它須要對收到的訊息進行處理,並將處理之後的訊息發送出去。訊息的條數有多有少,當訊息條數非常大時,就要求中間模組能夠有比較高的效能,不會因為處理只是來而癱瘓掉。因此,對中間模組進行效能測試以驗證其處理大量訊息的能力是非常有必要的。
本文對效能測試的整個過程進行了具體的描寫敘述,並對測試過程中的一些注意事項進行了簡單的介紹。
2. 效能測試環境的搭建
2.1 系統結構
一般而言,對於要處理大量訊息的系統,都須要進行效能測試。其通用的系統結構1所看到的。
圖1 效能測試系統結構圖
1所看到的,中間模組C須要與模組A和模組B進行訊息的互動。首先由模組A發送訊息到中間模組C,中間模組C依照協議組裝好訊息後,發送到模組B;模組B收到訊息之後,會給中間模組C返回應答訊息,中間模組C再依照協議組裝應答訊息返回給模組A。
由此可見,中間模組C須要處理不同的訊息,當訊息量非常大的時候,就對其處理效能提出了要求。
2.2 類比程式的編寫
從圖1能夠看出,要對中間模組C進行效能測試,須要類比模組A和模組B的功能。
為了方便操作,一般在自己的工作PC上編寫類比程式來完畢簡單的效能測試。假設要想進行大規模的效能測試,須要專門的測試人員和測試環境的配合。
一般而言,能夠編寫可視化的操作介面來類比模組A和模組B,這樣方便對訊息進行跟蹤和調試。類比介面的2所看到的。
圖2 類比介面
2所看到的,整個操作介面比較簡單,包含“開始測試”button、“退出系統”button、訊息類別button、“發送次數”控制框、“發送間隔”控制框和顯示框等。
“開始測試”button用於控制測試的開始。
“退出系統”button用於控制測試的結束。
訊息類別button用於控制發送訊息的內容。在系統建立起來之後,當選中當中的某項功能並點擊“開始測試”button之後,模組A就會將訊息發送到中間模組C,並接收來自中間模組C的訊息。發送和接收的訊息會顯示在中間的顯示框中。
“發送次數”控制框用於控制訊息的發送條數,這是效能測試最重要的體現。對於某一類訊息,能夠逐漸添加?該項的取值。
“發送間隔”控制框用於控制訊息的發送間隔。這是為了方便觀察到每條訊息的發送情況,可依據實際情況進行調節。
顯示框用於展示訊息的執行情況,方便跟蹤與調試。
在類比模組A和模組B程式中,最為重要的是要嚴格依照協議來組裝發送的訊息,不僅要保證欄位內容和順序的正確性,還要保證格式的正確性。為了確保發送訊息的準確無誤,能夠添加?一個設定檔,在該檔案裡將訊息配置好。
3. 效能測試的操作過程
效能測試操作過程與程式實際的測試過程沒有什麼兩樣。在測試之前,要保證系統的正常執行、要保證相關設定檔內容的正確性,並確保測試軟體的正確性。
3.1 啟動類比介面
類比程式成功啟動後的介面3所看到的。
圖3 類比程式成功啟動後的介面
3.2 對單條訊息進行測試
選擇某一個訊息類別,並設定“發送次數”為1,能夠看到發送訊息和接收訊息的情況,4所看到的。
圖4 發送1條訊息成功
通過圖4的顯示框能夠驗證程式的功能是否正確。
3.3 對中間模組C進行效能測試
編寫類比程式的一個主要目的就是要對中間模組C進行效能測試,也就是要不間斷地向中間模組C發送多條訊息,看一下其功能是否正常。
比如,選擇某類訊息,並設定“發送次數”為10000,能夠看到發送訊息和接收訊息的情況,5所看到的。
圖5 發送10000條訊息成功
圖5中,類比程式不停地向中間模組C發送訊息,直到發送10000條為止。當訊息發送完之後,能夠查看中間模組C處理訊息是否正常,也就是看效能測試是否達到預期的目的。
一般說來,要保證中間模組C能夠承受100000次乃至1000000次以上的效能測試。當某一項功能的效能測試通過之後,還要對該中間模組C涉及到的其他功能進行效能測試,以確保其效能的穩健性。
4. 效能測試常見問題及其解答
在效能測試過程中,常見的問題及解答例如以下:
1) 為什麼類比程式無法發送訊息?
答:出現這樣的情況,一般都是配置的問題。在進行效能測試之前,一定要確保各設定檔的正確性,要確保server和client配置的正確性,以及串連port的準確性。串連不通,一般都是由port號不正確引起的。
2) 為什麼發送過來的訊息解析不正確?
答:這通常是因為未依照協議的要求組裝訊息引起的。
3) 為什麼對於有些功能,處理少數幾條訊息的時候不會有什麼問題,而多條訊息時程式就會崩潰?
答:肯定是中間模組C程式有問題,效能測試的目的就是為了發現這類問題。能夠對比相關記錄檔來檢查,看程式在哪裡崩潰的。一般說來,通過檢查相應的代碼能夠發現問題之所在。
5. 總結
本文主要介紹了對中間模組C進行效能測試的整個過程,並對測試過程中的常見問題進行了描寫敘述。
效能測試的主要目的是保證代碼的品質,進而確保產品的品質。開發人員在編寫完代碼之後,一定要對代碼進行充分的測試,以降低興許改動所帶來的麻煩。
(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,號:245924426,歡迎關注!)
讓你提前認識軟體開發(42):效能測試