軟件產(chǎn)品的不同類型在軟件測試方式和重點(diǎn)上也不一樣,測試流程也會不一樣。
同樣類型的軟件產(chǎn)品,不同軟件公司的測試流程也會存在差異。
雖然不同軟件、不同公司的具體測試步驟不同,但遵循的最基本的測試流程是一樣的。

1、測試需求分析
測試人員在制定測試計(jì)劃之前需要先對軟件需求進(jìn)行分析,以便對要開發(fā)的軟件產(chǎn)品有一個清晰的認(rèn)識,從而明確測試對象及測試工作的范圍和測試重點(diǎn)。在分析需求時還可以獲取一些測試數(shù)據(jù),作為測試計(jì)劃的基本依據(jù),為后續(xù)的測試打好基礎(chǔ)。
此外,分析測試需求也是對軟件需求進(jìn)行測試,以發(fā)現(xiàn)軟件需求中不合理的地方。
確定的測試需求必須是可核實(shí)的,測試需求必須有一個可觀察、可評測的結(jié)果。無法核實(shí)的需求就是測試需求。測試需求分析還要與客戶進(jìn)行交流,以澄清某些混淆,確保測試人員與客戶盡早地對項(xiàng)目達(dá)成共識。
2、測試計(jì)劃制定
a、確定測試范圍:明確哪些對象是需要測試的,哪些對象不是需要測試的。
b、制定測試策略:測試策略是測試計(jì)劃中最重要的部分,它將要測試的內(nèi)容劃分出不同的優(yōu)先級,并確定測試重點(diǎn)。根據(jù)測試模塊的特點(diǎn)和測試類型(如功能測試、性能測試)選定測試環(huán)境和測試方法(如人工測試、自動化測試)。
c、測試資源安排:通過對測試難度、時間、工作量等因素對測試資源合理安排,包括人員分配、工具配置等。
d、制定測試進(jìn)度:根據(jù)軟件開發(fā)計(jì)劃、產(chǎn)品的整體計(jì)劃來安排測試工作的進(jìn)度,同時還要考慮各部分工作的變化。在安排工作進(jìn)度時,最好在各項(xiàng)測試工作之間預(yù)留一個緩沖時間以應(yīng)對計(jì)劃變更。
e、測試風(fēng)險預(yù)估:羅列出測試工作過程中可能會出現(xiàn)的不確定因素,并制定應(yīng)對策略。
3、測試用例設(shè)計(jì)
測試用例(Test Case)指的是一套詳細(xì)的測試方案,包括測試環(huán)境、測試步驟、測試數(shù)據(jù)和預(yù)期結(jié)果。
不同的公司會有不同的測試用例模板,雖然它們在風(fēng)格和樣式上有所不同,但本質(zhì)上是一樣的,都包括了測試用例的基本要素。
編寫測試用例的原則是:盡量以最少的測試用例達(dá)到最大測試覆蓋率。
4、測試執(zhí)行
測試執(zhí)行就是按照測試用例執(zhí)行測試的過程,這是測試人員最主要的活動階段。在執(zhí)行測試時要根據(jù)測試用例的優(yōu)先級進(jìn)行。
在執(zhí)行測試過程中,測試人員要密切跟蹤測試過程,記缺陷、形成報告等,這一階段是測試人員最重要的工作階段。
5、測試報告編寫
完整的測試報告必須要包含以下幾個要點(diǎn):
a、引言:測試報告編寫目的、報告中出現(xiàn)的專業(yè)術(shù)語解釋及參考資料等。
b、測試概要:介紹項(xiàng)目背景、測試時間、測試地點(diǎn)及測試人員等信息。
c、測試內(nèi)容及執(zhí)行情況:描述本次測試模塊的版本、測試類型,使用的測試用例設(shè)計(jì)方法及測試通過率,依據(jù)測試的通過情況提供對測試執(zhí)行過程的評估結(jié)論,并給出測試執(zhí)行活動的改進(jìn)建議,以供后續(xù)測試執(zhí)行活動借鑒參考。
d、缺陷統(tǒng)計(jì)與分析:統(tǒng)計(jì)本次測試所發(fā)現(xiàn)的缺陷數(shù)目、類型等,分析缺陷產(chǎn)生的原因給出規(guī)避措施等建議,同時還要記錄殘留缺陷與未解決問題。
e、測試結(jié)論與建議:從需求符合度、功能正確性、性能指標(biāo)等多個維度對版本質(zhì)量進(jìn)行總體評價,給出具體明確的結(jié)論。