2011-07-18 58 views
5

對於任何軟件項目的測試都很重要。我對測試很陌生,因此如何測試開發的軟件項目? 。測試的步驟和級別是什麼?我想知道軟件項目將如何在公司測試?如何測試一個軟件項目?

+2

在大型企業中,他們首先會被授予一個技術上重視質量保證的人。然後,他們將被分配給一個幾乎不知道計算機的人,他們將**破壞它:) –

+0

好的。我可以知道基本步驟嗎? –

+0

沒有絕對標準的表格,每個公司,項目重要性和項目經理都會有所不同。 –

回答

3

維基百科在Software Testing上有一篇很好的文章,並且比我在這裏寫的任何東西都要好。不過,我會盡力來形容在higest級的過程:

在最高層次上,你有可能是三種類型的測試:

  1. 單元測試 - 個別單位(例如測試:函數,方法)。如果給函數A輸入x,y和z,它是否返回正確的值?這些代碼便宜,簡單,快速,並且可以幫助您瞭解各個代碼單元在設計時的工作原理。
  2. 系統測試 - 各個單元是否一起工作?這是測試應用程序業務邏輯的地方,也是爲了測試單元之間的契約(「如果你提供參數x,y,z我會返回A」和「如果你給我錯誤的論點,我會提出錯誤B「)。這些幫助您瞭解各個單位是否共同完成任務。
  3. 性能測試。表現在這種情況下可能意味着原始速度,或者可能意味着容量(「可以在網站辦理每天1萬次點擊?」),系統負載,延遲等

單元測試使用的是最經常做的稱爲junit(用於java),nunit(j.net)或類似的框架。對於您使用的任何語言,可能有一個*單元框架。許多軟件商店都使用自己的定製工具來執行此操作。大多數情況下(但不是完全),單元測試是由編寫該單元的開發人員編寫的。

系統測試可以採取多種形式,並且並不總是能夠爲特定應用程序工作的單一解決方案。例如,如果你的網站是一個網站,你可以有服務層測試(「如果我打電話給我的網站的API,它是否返回正確的值」)和表示層(「如果我點擊UI中的按鈕,表單是否會發布到正確的URL?)測試

雖然單元測試幾乎都是自動化的,但系統級測試可以是自動化的,手動的或自動化和手動的組合。雖然有許多工具可以驅動各種應用程序的用戶界面,但最終自動回答諸如「這看起來正確嗎?」和「這個易於使用?」這樣的問題是一個非常困難的問題。幾乎總是必須由受過訓練的人回答這樣的問題。

Perf性能測試幾乎完全是自動化的,但執行性能測試的任何簡單方法都只是爲了定時進行自動化系統測試並觀察趨勢,並在系統測試運行時觀察系統指標(如CPU和內存利用率)。這不是一個理想的性能測試策略,但如果您剛剛開始,這已經足夠了。

因此,要開始測試,請查看是否有適用於您的語言的單元測試框架。然後您可以快速爲單個單位提出一系列測試。然後,您可以開始尋找通常稱爲系統測試的「測試框架」。有許多可供選擇的框架。沒有「最好的」,所以不要太追求找到完美的工具。選擇適用於您的語言的任何工具並開始使用它。

+0

謝謝您的回答 –

1

從根本上說有這些東西怎麼回事:

  1. 瞭解哪些軟件是應該做的。
  2. 決定如何驗證它。
  3. 同意你的測試策略與利益相關者:應該有人關心你是否正在測試正確的事情,他們需要有信心,你正在這樣做。
  4. 執行驗證
  5. 報告的結果,準確,在足夠的細節,以允許固定

的細節取決於軟件的本質問題。例如,如果軟件沒有UI,你會怎麼做?或者如果 UI,幾乎肯定會有其他事情(例如,從外部系統加載數據的模塊),您也需要測試,您花在這些上的時間比例是多少?

當您決定進行某些測試的部分是合適的時候,很有可能需要在新軟件發佈時重複。您可以區分「測試」和「重新檢查」的子集,並且在重新檢查方面可能有自動化的價值。

有一點需要記住:我非常懷疑試圖將測試簡化爲一組簡單的「步驟」。您可以查看contextual testing獲取解釋。

+0

謝謝您提供的信息 –