首先,從需求、使用者及研發角度考慮,要想為產品貢獻最大的力量,就不能只專注於做好測試保證質量這乙個方面,而應該是從多個角度全面衡量,即我們也應該站在使用者的角度、研發的角度來考慮產品的整體規劃。
在工作中,一部分測試同行特別是初入者在對待需求時都過於被動,不太會把產品各個模組的業務串聯起來,成了因為需求來了所以做需求,純粹看著需求文件就開始做測試用例的設計了,並沒有想著先把需求理順了想明白了再開始著手。
其實這個階段也是非常重要的需求分析及功能點拆解,即使說這主要是產品經理們的主要工作,但是他們也並非聖賢,對產品設計的細節考慮可能並不周全,甚至嚴重時會出現較大的需求漏洞,引發較嚴重的影響。而我們也應該具備該項能力,如果不能站在公司戰略層面考慮該需求對業務上能帶來哪些促進,也至少能站在使用者的角度考慮能給使用者帶來什麼價值,能滿足使用者哪方面的需求,同時能及時發現對於使用者操作過程中的體驗問題。
在糗事百科創始人著作的《結網》一書中,也提出了使用者體驗的三大原則:別讓我等,別讓我想,別讓我煩。作為一名合格的測試或 qa 是需要具備這方面能力的,但是在實際工作實操中還是需要具備溝通技巧,畢竟能對於使用者體驗方面的改進需要產品經理拍板。如果的的確確非常明顯的體驗問題,是有必要堅持真理說服他們優化的,否則還是把話語權留給他們,我們只是提供建議吧,不然工作中的火藥味一定會很濃。
要想設計乙份有效的測試用例,就必須要對軟體開發設計思路有深入的了解,我們也經常有類似的事情,業務需求未做任何改變,而架構做了優化,如果單純地拿著乙份根據業務整理出的用例是無法準確而有效的測試的,架構的調整包括:底層資料結構的調整如分庫分表,服務化(soa),日誌的收集處理以及容災處理等等。
另外,為了能有助於測試開展,我們同樣需要了解開發技術,畢竟在測試環境的搭建及維護,測試過程中各種場景的模擬特別是異常情況,以及自動化測試,如果不借助於開發技術,自動化工作也是很難開展的。
總結一下,需要具備的架構思維包括:
了解並熟悉開發使用的技術及開發框架,比如用到的 spring mvc,mybatis,redis,前端 html,js,相關協議等(視不同專案具體情況而有所不同);
理解研發設計的架構及設計思路,並考察開發設計是否滿足業務需求;
review 技術方案時,考察是否滿足以下要求,而這一點也是大多數從事功能測試的同學最易忽略的。
在測試過程中,就要額外關注:以嚴謹的測試設計方法覆蓋需求功能點及**分支,具有場景思維和對異常情況的考察。對此我們可以細化總結為以下幾點:
比如我們經常需要對介面做測試,通過輸入驗證輸出,如果我們使用各種輸入都無法得到介面設計中某一種輸出的情況時,就需要從輸出逆向推導輸入。另外如驗證一些異常情況,介面需要返回一些 error code,使用正常手段是肯定不能得到的,就需要為了出現該 error code 而借助環境及工具來模擬。另外,我們在分析很多問題時,同樣也離不開逆向思維。
比如軟體在多使用者,多程序,多次執行等情況下,都可能出現意想不到的缺陷,甚至對於複雜的業務場景,在對同乙份資料進行操作時,不同子業務並行執**況下,都有可能造成資料上的錯誤,特別是對於與核心資料有關的業務上(如 money),是否新增行級鎖都是需要測試到的。同時,不同業務不同的操作順序、組合方式下,不同的維度等都有可能出現 bug。
即站在事情的兩個極端來考慮,比如資料上的無窮大與無窮小,在資料儲存上,資料庫層面字段設定為 int 與 bigint 所支援的數量級是不一樣的,基於業務資料,如果存在超過 int 的長度的資料,那麼在儲存上以及**中,都需要做相應支援,否則就只會顯示到該型別的最大值了,而且在業務層面也經常有兩個極端的情況,比如商家入駐開店,很多時候都只是考慮到開店該怎麼做,卻忽略關店的情況。其實在邊界值用例設計方法中也用到了兩極思維模式。
簡單思維表現在很多方面,比如經常非常嚴重的 bug 都可能是犯了乙個很簡單的錯誤引起,在處理測試環境時經常出現無法正常訪問,也許可能只是磁碟空間滿了而已或者乙個簡單的配置不正確引起,在日常工作中這樣的例子非常多,我們也要善於一層一層剝開問題的現象,找到其本質,就好比剝洋蔥一樣,不要一開始就把問題想的過於複雜,往往事情並沒有那麼複雜。
比較思維其實貫穿在我們整個測試生涯中,測試本來也就是一種驗證,根據實際結果跟預期結果對比。而且我們在平時工作排查問題時,也有非常多需要去對比的,比如配置檔案的差異,環境的差異引起的不正常結果。此外,我們也可以通過 svn 中** diff 的差異來明確改動的範圍制定回歸策略。還比如在做一些前後兩個版本吐出的資料差異時,頁面顯示差異時,都可以使用 diff 的思想來開展自動化的工作,大大提高效率。
循跡測試思維(1)
一直在想測試思維是怎麼樣一種思維,身邊有一批進來的資深同事,有的已經有很好的發展,要麼走管理路線職位一路上公升,要麼走技術路線,做tse技術專家,但是還有一部分能力也不錯但是始終和剛進來的萌新做著差不多的事情,被替換的概率高達100 最近已經被輸出到其他部門。公司策略還是高明的,如果乙個人長期待在乙...
晶元測試 思維題
問題描述 有n 2 n 20 塊晶元,有好有壞,已知好晶元比壞晶元多。每個晶元都能用來測試其他晶元。用好晶元測試其他晶元時,能正確給出被測試晶元是好還是壞。而用壞晶元測試其他晶元時,會隨機給出好或是壞的測試結果 即此結果與被測試晶元實際的好壞無關 給出所有晶元的測試結果,問哪些晶元是好晶元。輸入格式...
移動時代,創業者應拋棄三大思維
站在網際網路與移動網際網路的轉折關口,每一位網際網路創業者都該問自己一句話 我如何才能順應移動網際網路的發展?遺憾的是,許許多多創業者並未真正把握移動網際網路的內涵,許多人僅僅是把web 換做app,仍然沿用pc網際網路時代的做法。例如 用微信圈賣貨。前天遇到一位後生想要在微信圈賣貨,席間一位網際網...