周六項目發生了一起事故,一個簡單的服務器修改功能,因為開發過于自信,沒有通知測試,直接發布到外網,導致外發版幾萬用戶的手機崩潰,造成了一場工作事故。
雖然后期查明是因為程序員的疏忽導致的參數錯誤,但是依舊暴露出很多流程上的問題,特別是凸顯了測試的重要性。今天就帶大家認識一下低調的測試工程師。
測試工程師
測試是產品上線環節中重要的一部分,伴隨著整個產品的生命周期,因此產品測試是很重要的一個環節,需要特殊的人員從事相關測試工作,這部分人就是測試工程師。
目前所有的互聯網公司都有測試工程師。測試工程師是產品上線的最后一環,對用戶負責,是“上帝”的品菜師,他們的定位是產品把關者。
主要職責:
測試工程師的主要職責分以下幾部分:
1.編寫測試計劃、規劃詳細的測試方案、編寫測試用例。
2. 根據測試計劃搭建和維護測試環境;
3. 執行測試工作,提交測試報告。包括編寫用于測試的自動測試腳本,完整地記錄測試結果,編寫完整的測試報告等相關的技術文檔,;
4.對測試中發現的問題進行詳細分析和準確定位,與開發人員討論缺陷解決方案。
5.提出對產品的進一步改進的建議,并評估改進方案是否合理;對測試結果進行總結與統計分析,對測試進行跟蹤,并提出反饋意見。
6.為業務部門提供相應技術支持,確保軟件質量指標。
從測試工程師(以下簡稱測試)的職能定義來看,優秀的測試工程師,一定是半個產品+半個開發。既要求對產品足夠了解,包括內部邏輯和界面顯示,這也是產品測試的基礎;也要了解部分開發代碼,能夠對代碼優差做出評估,并且給開發提供優化方案。整體來說,測試要求掌握的技能比較寬泛,從基礎的編寫自動測試腳本程序,到進一步拓展編程語言、操作系統、網絡與數據庫方面的技能。
隨著技能的提升和經驗的積累,測試屬于越來越吃香的職業,優秀的測試人員能夠將問題消滅在產品開發階段,極大的節省開發成本和后期維護成本。
測試方法
從思維出發點來說,測試主要可以分為兩類:黑盒測試和白盒測試。
黑盒測試(基礎功能測試)
黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息。黑盒測試著眼于程序外部結構,不考慮內部邏輯結構,主要針對軟件界面和軟件功能進行測試。
具體的黑盒測試方法包括等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅動法、正交試驗設計法、功能圖法、場景法等。其中常用的黑盒測試防范有等價類劃分法、錯誤推測法和因果圖法。
1、等價類劃分法:
等價類劃分法假設各部分是獨立且同等重要,將一個產品拆分成若干個部分,每個部分有一名負責人進行測試。比如我們的項目就是用的是此類測試方法,將產品分為通知提示、帳號授權、流量領取、高速使用和帳號解綁等流程,每一部分有一名測試同事負責,保證該部分功能的正常。
2、錯誤推測法
錯誤推測法是基于經驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性的設計測試用例的方法。
一些經驗豐富的測試在進行項目驗收的時候,通常采用此方法,針對容易出錯的節點進行重點測試。如一些支付應用軟件的授權和支付會成為支付的關鍵節點。
3、因果圖法
前面的等價類劃分法和錯誤推測法都注重節點的測試,未考慮條件之間的關系,各個步驟直接的結合情況。因果圖法
是按照前置條件、結果和后置條件的流程關系列出所有的條件組合,進行測試。所有的條件組合就是因果圖法的測試用例。比如登錄—用戶名錯誤——返回“用戶名錯誤”提醒,就是一條因果圖法的測試用例。
值得注意的時,各種不同的測試方法通常是相互交叉使用,比如在使用等價類型分法的基礎上,對各個部分進行因果圖法,在各個部分的連接處做錯誤推測法重點測試。
白盒測試(內部邏輯測試)
白盒測試又稱結構測試、透明盒測試、邏輯驅動測試或基于代碼的測試。白盒測試是一種測試用例設計方法,盒子指的是被測試的軟件,白盒指的是盒子是可視的,你清楚盒子內部的東西以及里面是如何運作的。"白盒"法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。這一方法是把測試對象看作一個打開的盒子,測試人員依據程序內部邏輯結構相關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試,通過在不同點檢查程序的狀態,確定實際的狀態是否與預期的狀態一致.白盒測試一般需要技術基礎支持,同時需要相關工具配合,比如日志抓去工具。
白盒測試的測試方法有代碼檢查法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、路徑覆蓋和程序變異。其中一基本路徑測試法使用最為廣泛。
1、基本路徑測試方法
基本路徑測試法是在程序控制流圖的基礎上,通過分析控制構造的環路復雜性,導出基本可執行路徑集合,從而設計測試用例的方法,同黑盒測試中因果圖法類似。
測試用例
對測試工程師來說,測試用例是產品測試的核心。測試用例是對所有的界面顯示、交互效果和功能邏輯匯總。目的是能夠將軟件測試的行為轉化成可管理的模式,同時測試用例也是將測試具體量化的方法之一,不同類別的軟件,測試用例是不同的。一些大型項目,測試用例能達到幾萬條的數目。
測試用例的多少和產品質量的“堅挺”程度相關,一般情況下,測試用例越多越細致,對應產品邏輯會越縝密,在上線之后越能經得起各式各樣環境的考驗,對用戶來說,產品的可用度就越高,產品質量就越堅挺。
結語
最后,當我們在調戲產品狗、程序猿的時候,不要忘記你身邊的“測試貓”,他們縝密而低調,忍耐而細心,專業的扮演好產品上線管家的角色。毫不夸張的說,每一個成功的產品背后都有一名偉大的測試工程師。
------------------
作者:無邪(迅雷產品經理),微信:devillnote