前言:本站為你精心整理了測試顯卡性能的軟件范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
隨著網絡發展軟件Software也越來越復雜從獨立單機結構到C/S結構、B/S結構、多層體系架構面向服務(SOA)結構等集成軟件Software技術越來越多支持軟件Software用戶也越來越多種凸顯在人們面前問題是性能問題很多軟件Software系統在開發測試時沒有任何問題但是上線不久就崩潰了原因就在于缺少了性能方面驗證
性能測試“從小做起”
軟件Software是否在上線的前進行性能測試就能解決問題呢?不定如果性能測試進行得太晚會帶來修改上風險很多軟件Software系統在設計時候并沒有很好地考慮性能問題和優化方案等到整個軟件Software系統開發出來后測試人員忙著集成測試開發人員也疲于應付發現功能上Bug當所有功能上問題都得到解決后才想到要進行性能測試性能測試結果表明系統存在嚴重問題如響應時間遲緩、內存占用過多、不能支持大量數據請求在大量用戶并發訪問情況下會造成系統崩潰如果此時再去修改已經非常困難了要徹底地解決性能問題需要重新調整系統架構設計大量代碼需要重構這時員已經筋疲力盡不想再進行代碼調整了調整帶來是大量編碼工作同時可能引發大量功能上不穩定性和再次出現大量Bug
這給測試人員個啟示性能測試不應該只是種后期測試活動更不應該是軟件Software系統上線前才進行“演練”而應該是貫穿軟件Software生產全過程如圖所示
對于性能考慮應該在架構設計時就開始對于架構原型要進行充分評審和驗證由于架構設計是個軟件Software系統基礎平臺如果基礎不好也就是根基不牢性能問題就會根深蒂固后患無窮
性能測試應該在單元測試階段就開始從代碼每行效率到個思路方法執行效率再到個邏輯實現算法效率;從代碼效率到存儲過程效率都應該進行優化單元階段性能測試可以考慮從以下幾個方面進行:
代碼效率評估;
應用單元性能測試工具;
數據庫優化
應該注意每行代碼效率所謂“積少成多水滴石穿”些看似細小問題可以經過多次執行累積成個大問題也是個量變到質變過程例如在用C#編寫代碼時候有些員喜歡在個循環體中使用串變量類似下面代碼:
voidLoop1
{
digits=.Empty;
for(i=0;i<100;i)
{
//累加串
digitsi.;
}
Console.WriteLine(digits);
}
這樣段代碼其實是低效率是不可變對象串連接操作并不改變當前串只是創建并返回新串因此速度慢尤其是在多次循環中應該采用StringBuilder對象來改善性能例如下面代碼就會快很多:
voidLoop2
{
//新建個StringBuilder類
Stringbuilderdigits=StringBuilder;
for(i=0;i<100;i)
{
//通過StringBuilder類來累加串
Digits.Append(i.);
}
Console.WriteLine(digits.);
}
類似問題有很多它們特點是單個問題都很小但是在個龐大系統中經過多次問題會逐漸地被放大直到爆發這些問題都可以通過代碼走查來發現
竅門技巧:如果測試人員不熟悉代碼如何辦呢?那么可以借助些代碼標準檢查工具例如FxCop、.TEST等來幫助自動查找類似問題
測試人員可以使用些代碼效率測試工具來幫助找出哪些代碼或思路方法在執行時需要耗費比較長時間例如AQTime是款可以計算出每行代碼執行時間工具如圖所示可以看出每個思路方法甚至每行代碼執行時間是多少這對開發人員在查找代碼層性能瓶頸時也會有很大幫助