1. 程式人生 > >程式碼效能測試

程式碼效能測試

對程式碼進行測試是專案在釋出前必不可少的環節,需要保證產品的可用性、易用性、健壯性和安全性。 這也是產品測試要達成的目標。軟體測試一個大的方向,專業性很強。這裡,我們只介紹一些基本測試方法。 1. 時間點測試 效能測試的主要目的是測試程式碼的執行效率,找到瓶頸進行優化。效能測試最常用的辦法就是利用時間點,計算一段程式碼在執行前和執行後的時間差。程式碼一般是這樣寫的,如下: <?php $btime = microtme(true); //實際要測試的程式碼 $etime = microtime(true); echo $etime-$btime; ?> 如果執行的程式碼本身屬於耗時較少的程式碼,只執行一次測試的結果顯然不可靠,往往是要執行很多次。 比如執行10000次後取平均值的辦法來計算平均耗時。 2. 單元測試 單元測試,又稱為模組測試,它是針對程式模組(軟體設計的最小單元)進行正確性檢驗的測試。 程式單元是應用的最小可測試部件。在過程化程式設計中,一個單元就是單個程式、函式、過程等;對於面向物件的程式設計,最小單元就是類的方法。 單元測試是開發者編寫的一小段程式碼,用於檢驗程式碼一個很小的、很確切的功能是否正確。一般來說,一個單元測試用於判斷某個特定條件(或者場景)下某個特定函式的行為。單元測試是由程式設計師自己完成,最終受益的也是程式設計師自己。可以說,程式設計師有責任編寫功能程式碼,同時也就有責任為自己的程式碼編寫單元測試。執行單元測試,就是證明這段程式碼的行為和期望的一致。 單元測試具有很多優點,比如可以提高程式碼後期的可維護性。我們可以把程式設計成易於呼叫和可測試的,也就是迫使解除軟體中的耦合。另外,自動化的單元測試避免程式碼出現迴歸,編寫完成之後,可以隨時隨地快速執行測試。 PHPUnit是一個輕量級的PHP單元測試框架,是PHP5對JUnit3系列版本的完整移植,是xUnit測試框架家族的一員。安裝PHPUnit之前,需要確保系統中已經安裝了PHP的pear包。PHPUnit官方指定通過pear包管理器安裝,也可以下載原始碼包放在指定目錄安裝,但是配置比較麻煩。因此,推薦採用pear方式安裝。 pear是PHP Extension and Application Repository的縮寫,即PHP擴充套件與應用庫,它是一個PHP程式碼包的分發和管理工具,類似Linux系統的rpm包管理器,pear為PHP提供了一些可以複用的元件和庫。 3. 斷言
斷言就是假設表示式為真,如果表示式為真,則斷言成功;否則,斷言失敗。 編寫程式碼時,我們總是會做出一些假設,斷言就是用於在程式碼中捕捉這些假設,可將斷言看作是異常處理的一種高階形式。斷言表示為一些布林表示式,程式設計師相信在程式中的某個特定點該表示式為的值為真,可以在任何時候啟用和禁用斷言驗證,因此,在測試時啟用斷言而在部署時禁用斷言。同樣,程式投入執行後,終端使用者在遇到問題時可以重新啟用斷言。 斷言是任何xUnit框架的核心,PHPUnit中有30多個斷言。PHP中也內建了斷言函式assert()。下面是一個示例: <?php $arr = array(1, 3, 5); assert(array_search(3, $arr)); assert(3==4); ?>