學習PHP精粹,編寫高效PHP代碼之自動化的測試_PHP教程

來源:互聯網
上載者:User
如果要製造出完美的產品,必須對它進行全方面實驗室檢驗。這裡有幾種類型的測試,每一種測試都針對應用程式的某個具體方面。

本文將對單元測試、資料庫測試、系統測試、負載測試進行介紹。

一、單元測試

單元測試是測試應用程式的每一步,要確保其各個組成部分運轉正常。若沒有單元測試,在應用程式中找出導致錯誤啟動並執行原因一般來說相當困難。

單元測試通常採用一個單元測試架構,它提供了編寫和運行測試並輸出結果所需要的基本結構。

一些較為常用的單元測試架構套件括:

PHPUnit:http://phpunit.de/

SimpleTest:http://www.simpletest.org/

PHPT:http://qa.php.net/write-test.php

二、資料庫測試

PHPUnit資料庫擴充模仿了JUnit的DbUnit擴充,它是事實上的Java單元測試架構。PHPUnit資料庫擴充不處理建立資料庫、表或使用者憑證;它在假設這些已經建立的基礎上運行。

PHPUnit資料庫測試參考:http://phpunit.de/manual/current/en/database.html

三、系統測試

一旦系統的各個組成部分以及與外部系統的互動已經完成測試,那麼我們將要對作為一個整體的應用程式進行測試,這成為系統測試。

對於Web應用程式而言,這往往通過編寫自動化測試以一個真實使用者會採用的相同方式與瀏覽器互動來完成。

編寫和執行這種測試的流行軟體包是Selenium,它是一個基於Java的伺服器,運行用戶端串連到它,執行命令以啟動瀏覽器並與之互動。該軟體常常用於在Web應用程式內部執行一系列動作,並對最後載入的檔案內容進行斷言以確認其達到預期的功能。

Selenium:http://seleniumhq.org/

PHPUnit包含一個Selenium擴充,它允許這些互動得以執行。

四、負載測試

一旦應用程式工作正常,無論是其各個組成部分還是作為一個整體,我們非常有必要瞭解應用程式作為一個整體如何運行。

負載測試類比一組使用者的行為以確定應用程式在負載下如何表現。

接下來將介紹兩種測試載入器:ab、siege

1、ab測試載入器

作為Apache HTTP伺服器項目的組成部分,ab是一個相對簡單的已開發基準測試載入器,並且適用於大多數安裝有Apache的環境中。

它有許多參數,我們對其如何引導測試稍加調整,其中有3個經常用到的參數:

1)-c #:每秒的並發請求數,或同時訪問應用程式的使用者數量。

2)-n #:要發送的請求書。

3)-t #:測試持續的以秒計算的最長時間,假設為-n 50000。

因此,舉例來說,如果你想類比一分鐘內10個並發使用者的行為,你可以使用如下命令:

ab -c 10 -t 60 http://localhost/phpinfo.php

ab使用參考:http://httpd.apache.org/docs/2.0/programs/ab.html

2、Siege測試載入器

另一個常用的負載測試工具是Siege,它由Joe Dog軟體開發。ab的負載測試限制在一個特定的URL上,而除了URL之外,Siege還可對整個應用程式進行負載測試。Siege手冊介紹了它的所支援的選項。

Siege:http://www.joedog.org/siege-home/

Siege手冊:http://www.joedog.org/siege-manual/

http://www.bkjia.com/PHPjc/780765.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/780765.htmlTechArticle如果要製造出完美的產品,必須對它進行全方面實驗室檢驗。這裡有幾種類型的測試,每一種測試都針對應用程式的某個具體方面。 本文將對...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.