來源:北大青鳥總部 2019年06月20日 10:46
做軟件測試工程師的人大多數(shù)都不是很清楚軟件測試工程師這個崗位到底是做什么的?其實我的想法是執(zhí)行用例,找缺陷,僅此而已,簡單粗暴。后來,看了《Google的軟件測試之道》這本書,稍微有點更改,變成了積極主動地發(fā)現(xiàn)、暴露缺陷,并團隊合作,解決問題。下面的內(nèi)容,重新整理了大佬分享的幾個觀點,結(jié)合自己的一些想法,算是做一個參考吧。
01 需求
1、需求評審
為什么要需求評審?原因有下面幾點:
① 熟悉業(yè)務(wù),由產(chǎn)品或者業(yè)務(wù)講解需求,好做到心中有數(shù),不至于到開發(fā)測試階段暴露出由于業(yè)務(wù)不熟悉導(dǎo)致的問題;
② 多方協(xié)定,在正式進入開發(fā)階段之前,測試、開發(fā)、產(chǎn)品就某些需求的不確定點進行確認(rèn),達成一致,避免后續(xù)的問題;
③ 評估工作量,實現(xiàn)難度,以及大概的資源投入;
④ 明確開發(fā)測試邊界、目標(biāo)和范圍,做什么不做什么;
2、需求文檔
① 盡可能的詳細(xì),需要從需求中提取相應(yīng)的功能點和測試點;
② 功能點和測試點選取適當(dāng)?shù)牧6龋@樣可以較容易的觀察到測試結(jié)果和需求的偏離度;
③ 一般來說,系統(tǒng)越大,業(yè)務(wù)越復(fù)雜,需求的偏離度判定比小系統(tǒng)更容易些;
02 系統(tǒng)架構(gòu)
除了需求,了解熟悉整個系統(tǒng)的技術(shù)架構(gòu),也是必須的一點。比如整個系統(tǒng)的架構(gòu)組成,各自的特點,采用了什么通信服務(wù)框架,數(shù)據(jù)庫類型,前后端框架等等,這樣可以更方便定位缺陷,
以及根據(jù)系統(tǒng)架構(gòu)選擇合適的自動化測試框架、性能測試策略等。
特征:一般來說,系統(tǒng)的穩(wěn)定性越好,那么它的可適應(yīng)性就越差,其帶來的影響是每次架構(gòu)變更的成本上升以及開發(fā)團隊重新建設(shè)抑或測試團隊整體方向上的變化。
這幾年開始流行和大規(guī)模應(yīng)用的分布式架構(gòu)、微服務(wù)等,都是從系統(tǒng)的可用性和伸縮擴展性來考慮,以降低各方面的變更帶來的成本。
03 流程管理
測試過程結(jié)果的記錄應(yīng)該在一定程度上取決于流程的記錄完整程度。
如果涉及到流程更改,也應(yīng)對不同的觀察對象(測試/開發(fā))所產(chǎn)生的效果和結(jié)果進行記錄,以判斷其對質(zhì)量的影響以及評估標(biāo)準(zhǔn)。
測試流程如下:
① 啟動階段
開發(fā)經(jīng)理在開發(fā)計劃中確定測試提交時間,測試主管得到當(dāng)前最新的相關(guān)文檔資料后進行規(guī)模預(yù)估并成立測試小組,完成《測試計劃》;
② 設(shè)計階段
包含測試計劃、測試方案、測試用例等輸出文檔;
在需求分析文檔確立基線以后,測試組需要針對測試需求編寫測試用例,在實際的測試中,測試用例將是唯一實施標(biāo)準(zhǔn)。在用例的編寫過程中,具體的任務(wù)和責(zé)任人如下:
③ 實施階段
執(zhí)行測試用例將花費測試組絕大部分時間,這些工作都是建立在前期很多計劃工作的基礎(chǔ)之上;
④ 報告階段
在當(dāng)天(或每個小的階段)的測試完成之后,測試工程師需要總結(jié)當(dāng)天測試的結(jié)果,報告測試進度;
⑤ 總結(jié)階段
在測試結(jié)束之后,測試主管編寫測試報告,對測試進行總結(jié),并且提交,為產(chǎn)品的后續(xù)工作提供重要的信息支持;
⑥ 驗收階段
在以上工作全部結(jié)束后,對測試的過程,結(jié)果進行驗收,宣布測試階段性結(jié)束;
⑦ 歸檔階段
測試歸檔是在測試驗收結(jié)束宣布測試有效,結(jié)束測試后,對測試過程中涉及到各種標(biāo)準(zhǔn)文檔進行歸檔;
04 文檔管理
文檔對工作的幫助,是很有必要的。雖然現(xiàn)在很多企業(yè)提倡敏捷,但敏捷并非沒有文檔,而是輕文檔。文檔的重要性有如下幾個方面:
1、對歷史以及當(dāng)前測試過程中的知識傳遞有很大幫助;
2、可以通過對比歷史和當(dāng)前文檔的變更,較容易的觀察到整個需求變更過程中測試的質(zhì)量;
3、涉及到人員變更或者缺陷的爭論時,有更快的知識傳遞速率和參考依據(jù);
05 風(fēng)險管理
項目的每個階段都存在風(fēng)險,常見的缺陷有下面幾點:
1、需求不明確;
2、系統(tǒng)設(shè)計或測試設(shè)計不完善;
3、不安全規(guī)范的代碼編寫方式;
4、測試用例不充足,覆蓋率較低;
5、測試資源不足,回歸工作量預(yù)估不當(dāng);
7、項目進度安排不妥,其他項目對本項目的影響;
因此,風(fēng)險管理和防范是必要且重要的一項工作,且測試工程師的職責(zé),不就是提供交付軟件的質(zhì)量么?。?!
06 時間管理
有一定測試經(jīng)驗的工程師基本都經(jīng)歷過資源投入不足,時間不足的問題,測試時間被壓縮,導(dǎo)致的加班甚至生產(chǎn)事故!因此做好時間管理,就顯得如此重要。
會管理時間的人往往離成功更近一步,如何合理的利用時間解決緊急的項目問題、沖突問題、資源安排問題、優(yōu)先級、測試用例的執(zhí)行順序等,做好時間管理是保證質(zhì)量的因素之一。
比如涉及到新增需求or需求變更都必須要有相應(yīng)的文檔(可以為需求說明書或郵件說明)作為測試的依據(jù);
這里推薦兩本書:《番茄工作法》、《高效能人士的七個習(xí)慣》
以上的幾部分內(nèi)容,描述了軟件測試工程師的崗位職責(zé),以及需要注意的幾個部分和一些細(xì)節(jié),當(dāng)然,具體的一些流程管理之類的內(nèi)容,不同企業(yè)有各自的特點,這里只作為參考。
版權(quán)說明:部分內(nèi)容來源網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系小編做刪除處理!