作為一名Tester,無論是面試還是工作,我們都常常會遇到該問題,畢竟現在大部分接手的項目都是中小型的項目,很多又是生疏行業的系統,所以這個問題就會常常伴隨我們,那么遇到這個問題該怎么辦呢,現在我們就分下面6點來討論一下。
![]()
1.了解測試任務
我看網上有些博主一上來就讓大家看資料了解系統,就是下面講的第二點,當然這樣做也行,但是會導致效率低下,就像我們上學時做閱讀理解一樣,最正確的做法應該是帶著問題去看資料,所以我們應該一上來明確測試任務,然后帶著這些測試任務的問題去看資料。
2.從現有資料中獲取信息
明確測試任務后,就可以問研發團隊要該項目的所有資料了,這里面主要包括產品需求文檔(PRD)、用戶手冊和架構圖等,找出系統具備的功能、性能、安全等特性。說到這可能有些同學就真的會老實地把這些資料全部從頭到尾看完,這樣可取嗎?可以這樣做,但是不推薦,原因有兩點,其一這樣會花費大把的時間,如果遇到項目比較趕那怎么辦?另外就是資料內容那么多,全看完你能記得住?所以我這邊強調的做法是,一定要從項目經理或產品人員那里弄清該系統的主要功能和主要業務,先把大頭拎出來,做到主次區分!是不是更像閱讀理解了?哈哈。
3.制定合理的測試計劃
接下來我們就要制定一個稍微詳細點的測試計劃,注意我說的是“稍微”,因為這個時候對系統還是比較生疏的,也只能做到“稍微”,等后面談到的幾點做完再做正式測試計劃。那么這里的測試計劃要明確測試的目標、范圍、方法、重點事項、測試策略和時間表(在這里暫且不用太多考慮人員組織、測試風險、延期之類的)。該測試計劃只是用來進行初步測試的,盡量覆蓋系統的各方面就行。
4.進行探索性測試
我知道很多測試工程師一上來就是做這步,然后邊做邊去完成前面幾點,這種做法看起來迅速,其實會導致效率降低,常言道“磨刀不誤砍柴工”,我們還是一步一個腳印有條不紊地測試系統才能盡可能漏測。好言歸正傳,怎么進行探索性測試呢,一般人的做法就是把一些主要功能點驗證一下就完事了,比如登錄、注冊、輸入、輸出、提交等。誠然,這些是必做項,但我們所要做的遠不止此。這些僅僅是功能測試領域的一些常規操作,我們還有很多項需要去檢查:
在做功能測試我們要順帶做業務(邏輯)測試,如果主流程都跑不通,那么功能再正常有什么用?一旦發現主流程有問題,最好還是打回重做!
其次是異常(如邊界)測試,別小看這項,在我們做測試時,發現一個系統的初始版本最容易出現的問題就是邊界異常,所以這里就是我們探索性測試的二八原則里的二,甚至可以說是“二”里面最值得關注的。
然后是兼容性測試,如果用戶沒有指定瀏覽器就要支持主流的瀏覽器),如果用戶指定了瀏覽器那么只需要關注那些瀏覽器即可。
然后是性能測試,看用戶的性能要求,如果沒有性能要求則自己評估要達到的最低性能。即使項目沒有明確提出性能要求,我們也要做最起碼得把關,否則到時候性能出了問題賴到我們頭上也好自證清白。
最后還要兼顧一下安全測試,比如對于一些常見的如SQL注入、跨站請求偽造(CSRF)、跨站點腳本(XSS)。
測試過程中,要記錄所有發現的問題,并生成詳細的測試報告,這樣可以清晰地概述測試結果、解決方案和問題的優先級。
5.進行迭代測試
根據上面測試得到的結果對原先制定的測試計劃進行調整,這個時候就要制定正式的測試計劃,在探索性測試的基礎上看看是否有漏測,記錄之前發現的疑問和風險,再次明確測試的重點,優先級,然后在開始正式對系統測試。
6.多和研發團隊中成員溝通
軟件研發需要團隊協作,切忌孤軍奮戰,雖然測試的展開主要靠自己,但是一旦遇到問題,還是要及時與產品、研發保持溝通,及時告知領導測試進度和測試過程遇到的問題,這樣有助于促進問題的解決。千萬不要覺得自己是測試,就為了樹立非常專業的形象而羞于開口請教,這樣是得不償失的,作為過來人,我是有過好幾次這樣的經歷的。當然還是那句話,可以請教但是最好是真的搞不懂再去,不要一遇到問題就問別人,這樣只會招人煩。
實戰
說了這么多,可能有小伙伴會說來個實際案例更直觀,行那就直接來個實戰項目。現在假設領導給我們一個政務OA系統,比如這邊拿公考的網站作為例子,你該怎么展開測試呢?可能你以前只是測過一些電商平臺,那么拿到政務類OA系統該咋辦?
![]()
好的,那就按照我們上面提到的步驟操作一遍吧。
1.要搞清此次測試的任務是什么,比如該OA系統客戶是想要重點關注什么,需要保障哪些方面的功能實現?
2.我們就該問研發團隊要資料了,拿到PRD、用戶手冊及架構圖,把主要功能和業務拎出來;
比如該網站據了解是考生登錄以后報名心儀的崗位,通過填寫個人基本信息,上傳免冠照片及繳費完成報名流程,所以這里的主要功能就是考生的登錄——填報——上傳個人照片——繳費——提交等功能,這些功能串成的便是主干業務流程,這就是我們前期要特別關注的測試面。
3.制定合理的測試計劃,這里的測試計劃可以是“粗”一點的,明確此次測試的目標、范圍、方法、重點事項、測試策略和時間表;
4.進行探索性測試,這個能做的就多了,大家可以翻看到前面所列舉的探索性測試項,這邊僅就登錄頁面示范,光登錄就可以進行賬戶和密碼的組合驗證;
![]()
光這邊的黃圈內的測試組合就有很多種
![]()
登錄該網站后,可以看到該網站還算是比較簡潔的,主要的類目都列在左側,像該系統甲方還是很看重諸如“簡歷管理”這樣的板塊的,所以在探索性測試時就要對該板塊進行詳細的測試。當然除了這些主要的版本,要在條件允許的情況,也要將次要的部分進行測試,因為這邊的探索性測試涉及面太細,所以就不一一列舉了,大家明白意思就行。
5.進行迭代測試,就是根據前面測得的結果再調整原先的測試計劃,使之趨于完善,然后更加全面地對系統展開測試,彌補前面探索性測試的漏測,然后看情況確定測試幾輪。
6.多和研發團隊成員溝通,這點我覺得大家不用說也知道去執行,但一定要掌握好請教別人的時機和頻率。
以上只是拿一個簡單的事業單位報名系統舉例,當然受制于篇幅只能點到為止啦,相信大家在測試的過程會逐漸將我提到的這一系列操作步驟強化記憶。
總結
在測試陌生系統時,綜合運用學習、溝通、規劃、探索、執行等策略,有助于確保測試的順利進行。靈活性、溝通和堅持學習的態度是成功測試的關鍵。特別是對于萌新,千萬別害怕,經歷過幾次就好了,但要在每次的測試歷練中總結經驗,這樣以后拿到陌生系統時,測試的效率和質量就會越來越高!
最后:在我的V:atstudy-js,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.