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