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