做任何事都要有一個好的思維方式,只有這樣才會有條不紊,水到渠成,當然軟件測試工作更需要有一個好的思維方式。那么上海六痕網(wǎng)絡(luò)小編就來告訴你做好軟件測試需要具備哪些思維方式。
軟件測試,雖然是一個測試的工作,但是也要從多方面考慮。首先,從需求,用戶及研發(fā)角度考慮,要想為產(chǎn)品貢獻最大的力量,就不能只專注于做好測試保證質(zhì)量這一個方面,而應該是從多個角度全面衡量。
一.用戶思維
在工作中,一部分測試同行特別是初入者在對待需求時都過于被動,不太會把產(chǎn)品各個模塊的業(yè)務(wù)串聯(lián)起來,成了因為需求來了所以做需求,純粹看著需求文檔就開始做測試用例的設(shè)計了,并沒有想著先把需求理順了想明白了再開始著手。
需求分析及功能點拆解,我們也應該具備該項能力,如果不能站在公司戰(zhàn)略層面考慮該需求對業(yè)務(wù)上能帶來哪些促進,也至少能站在用戶的角度考慮能給用戶帶來什么價值,能滿足用戶哪方面的需求,同時能及時發(fā)現(xiàn)對于用戶操作過程中的體驗問題.
我覺得作為一名合格的QA是需要注意用戶體驗的三大原則:別讓我等,別讓我想,別讓我煩。但是在實際工作實操中還是需要具備溝通技巧,畢竟能對于用戶體驗方面的改進需要產(chǎn)品經(jīng)理拍板,如果的的確確非常明顯的體驗問題,是有必要堅持真理說服他們優(yōu)化的,否則還是把話語權(quán)留給他們,我們只是提供建議吧。
二.架構(gòu)思維
要想設(shè)計一份有效的測試用例,就必須要對軟件開發(fā)設(shè)計思路有深入的了解。
需要具備的架構(gòu)思維包括:
1)了解并熟悉開發(fā)使用的技術(shù)及開發(fā)框架,比如用到的Spring MVC,Mybatis,Redis,前端HTML,JS,相關(guān)協(xié)議等(視不同項目具體情況而有所不同);
2)理解研發(fā)設(shè)計的架構(gòu)及設(shè)計思路,并考察開發(fā)設(shè)計是否滿足業(yè)務(wù)需求;
3)Review技術(shù)方案時,考察是否滿足易維護性,易擴展以及對性能和安全的要求,并且在關(guān)鍵業(yè)務(wù)出現(xiàn)異常時是否添加報警等,而這一點也是大多數(shù)從事功能測試的同學最易忽略的。
三.測試思維
如果要特意區(qū)分用戶思維和架構(gòu)思維的話,在測試過程中,就要額外關(guān)注:以嚴謹?shù)臏y試設(shè)計方法覆蓋需求功能點及代碼分支,具有場景思維和對異常情況的考察。對此我們可以細化總結(jié)為以下幾點:
1.逆向思維
比如我們經(jīng)常需要對接口做測試,通過輸入驗證輸出,如果我們使用各種輸入都無法得到接口設(shè)計中某一種輸出的情況時,就需要從輸出來逆向推導輸入,另外比如驗證一些異常情況,接口需要返回一些error code,使用正常手段是肯定不能得到的,就需要為了出現(xiàn)該error code借助環(huán)境及工具來模擬。
2. 組合思維
比如軟件在多用戶,多進程,多次執(zhí)行等情況下,都可能出現(xiàn)意想不到的缺陷,甚至對于復雜的業(yè)務(wù)場景,都有可能造成數(shù)據(jù)上的錯誤,特別是對于與核心數(shù)據(jù)有關(guān)的業(yè)務(wù)上(如money),是否添加行級鎖都是需要測試到的,同時,不同業(yè)務(wù)不同的操作順序,組合方式下,不同的維度等都有可能出現(xiàn)bug。
3. 全局思維
即能把握整個項目的多個方面,多個團隊的任務(wù)及分工,整體的數(shù)據(jù)流及業(yè)務(wù)流,從全局思考是否滿足業(yè)務(wù)需求,凡是涉及跨團隊開展的工作,具有全局思維的人更能在大型項目中游刃有余,體現(xiàn)其leader的潛質(zhì),畢竟做leader就需要關(guān)注本部門之外其他部門都在干些什么,以備能做出對大局有利的決定。
4. 兩極思維
即站在事情的兩個極端來考慮,比如數(shù)據(jù)上的無窮大與無窮小,在數(shù)據(jù)存儲上,數(shù)據(jù)庫層面字段設(shè)置為int與bigint所支持的數(shù)量級是不一樣的,其實在邊界值用例設(shè)計方法中也用到了兩極思維模式。
5. 簡單思維
簡單思維表現(xiàn)在很多方面,比如經(jīng)常非常嚴重的bug都可能是犯了一個很簡單的錯誤引起,在處理測試環(huán)境時經(jīng)常出現(xiàn)無法正常訪問,等等。我們也要善于一層一層剝開問題的現(xiàn)象,找到其本質(zhì),就好比剝洋蔥一樣,不要一開始就把問題想的過于復雜,往往事情并沒有那么復雜。
6. 比較思維
比較思維其實貫穿在我們整個測試生涯中,測試本來也就是一種驗證,根據(jù)實際結(jié)果跟預期結(jié)果對比。而且我們在平時工作排查問題時,也有非常多需要去對比的,比如配置文件的差異,環(huán)境的差異引起的不正常結(jié)果,此外,我們也通過svn中代碼diff的差異來明確改動的范圍制定回歸策略。
總而言之,我相信以上軟件測試的幾點思維方式會對你有所幫助的,讓你在軟件測試工作上游刃有余。當然,對于那些職場菜鳥來說并不了解軟件測,那你就out了,這個人才稀缺的職位,正是企業(yè)挑選需要軟件測試精英的時候,不要猶豫,上海六痕網(wǎng)絡(luò)是你的正確選擇!