工作中項目的研發(fā)可以說是多人協(xié)作的過程,產(chǎn)品,開發(fā),測試,運維...等各司其職,各盡其責。根據(jù)今天的主題咱們來說說軟件測試人員的分工,主要從軟件測試流程中來分析測試分工職責。
首先我們先來看一張軟件測試活動圖,在這個圖中分析了項目研發(fā)的每個環(huán)節(jié),不同部門的人所做的事情。其中,對于測試來說,從收集測試需求分析開始,到測試案例分析與設(shè)計,再到測試執(zhí)行與問題跟蹤,最后的測試報告,以及后期的版本迭代。
根據(jù)軟件測試的流程,項目啟動后,測試人員首先要對軟件測試要解決的問題進行詳細的分析,弄清楚參與軟件測試活動的相關(guān)人員對軟件測試活動和交付物的要求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應輸出什么等。根據(jù)軟件開發(fā)需求說明書逐條列出軟件開發(fā)需求,并判斷其可測試性,形成可測試的描述并界定出測試范圍,根據(jù)質(zhì)量標準,逐條制定質(zhì)量需求,即測試通過標準,分析測試執(zhí)行時需要實施的測試類型。經(jīng)過評審之后,測試人員就可以根據(jù)需求來進行測試用例設(shè)計。
為了達到最佳的測試效果或高效的揭露軟件中隱藏的錯誤而精心設(shè)計的少量測試場景和測試數(shù)據(jù),測試用例是一份關(guān)于具體測試步驟的文檔,它描述了測試的輸入?yún)?shù)、條件及配置、預期的輸出結(jié)果等,以判斷被測軟件的工作是否正常。簡單來說,就是根據(jù)提取的測試需求,設(shè)計一個情況,軟件程序在這種情況下,必須能夠正常運行并且達到程序所設(shè)計的預期結(jié)果。
如果程序在這種情況下不能正常運行,而且這種問題會重復發(fā)生,那就表示軟件程序人員已經(jīng)測出軟件有缺陷,這時候就必須將這個問題標示出來,并且通知軟件開發(fā)人員。
軟件開發(fā)人員接獲通知后,將這個問題修改完成于下一個測試版本內(nèi)。軟件測試工程師取得新的測試版本后,必須利用同一個用例來測試這個問題,確保該問題己修改完成。
最后一個環(huán)節(jié),測試工作完成后,測試人員需要出具一份測試報告,把測試的過程和結(jié)果寫成文檔,對發(fā)現(xiàn)的問題和缺陷進行分析,為糾正軟件存在的質(zhì)量問題提供依據(jù),同時為軟件驗收和交付打下基礎(chǔ)。一份詳細的測試報告包含足夠的信息,包括產(chǎn)品質(zhì)量和測試過程的評價,測試報告基于測試中的數(shù)據(jù)采集以及對最終的測試結(jié)果分析。
測試報告是測試階段最后的文檔產(chǎn)出物。測試報告經(jīng)過評審通過后,就可以直接發(fā)布測試報告,測試人員這個時候,就可以著手后續(xù)測試相關(guān)準備工作的展開。
以上是根據(jù)測試流程來劃分軟件測試人員的工作分工,其實有時候公司也會按照項目模塊來分工,不同的測試員負責不同模塊的功能,這樣也會使測試工作變得更加清晰。還有一些公司是按照測試類型進行分工,除了功能需要測試以外,還需要進行單元測試,接口測試,性能測試等,有時候為提高功能測試的效率,對部分模塊進行功能自動化測試等,這些也都是在項目中最常見的工作分工。