1、逆向思維方式
● 逆向思維在測試中用的很多,比如將根據(jù)結(jié)果逆推條件,從而得出輸入條件的等價(jià)類劃分
● 其實(shí)逆向思維在調(diào)試當(dāng)中用到的也比較多,當(dāng)發(fā)現(xiàn)缺陷時(shí),進(jìn)一步定位問題的所在,往往就是逆流而上,進(jìn)行分析
● 逆向思維是相對的,就是按照與常規(guī)思路相反的方向進(jìn)行思考,測試人員往往能夠運(yùn)用它發(fā)現(xiàn)開發(fā)人員思維的漏洞
2、組合思維方式
● 很多東西單一的思考都沒有問題,當(dāng)將相關(guān)的事物組合在一起卻能發(fā)現(xiàn)很多問題;如多進(jìn)程并發(fā),讓程序的復(fù)雜度上了一個(gè)臺階,也讓程序的缺陷率隨之而增長
● 按照是否排序組合可以分為:排列(有序)和組合(無序);針對不同的應(yīng)用,可以酌情考慮使用“排列”或者“組合”
● 為了充分利用組合思維而不致于讓自己的思維混亂,要注意“分維”,將相關(guān)的因素劃分到不同的維度上,然后再考慮其相關(guān)性
3、全局思維方式
● 事物往往存在多面性,當(dāng)我們掌握了越多的層面,我們對它的認(rèn)識就越清楚,越有利于我們掌握其本質(zhì),全局思維方式就是讓我們從多角度分析待測的系統(tǒng);試著以不同角色去看系統(tǒng),分析其是否能夠滿足需求
● 其實(shí)平常我們在軟件開發(fā)過程中,進(jìn)行的各種評審,就是借助全局思維的方式,讓更多的人參與思考,腦力激蕩,盡可能的實(shí)現(xiàn)全方位審查某個(gè)解決方案的正確性以及其他特性
4、兩極思維方式
● 邊界值分析是兩極思維方式的典范
● 為了看系統(tǒng)的穩(wěn)定性,我們采用了壓力測試
● 兩極思維方式,是在極端的情況下,看是否存在缺陷?
● 注意是兩極,不是一極
● 測試人員做久了,往往容易走極端——職業(yè)病,不利于與人溝通51Testing軟件測試網(wǎng)
5、簡單思維方式
● 剝離一些非關(guān)鍵特征,追逐事物的本質(zhì),讓事物簡單的只剩下“根本”
● 針對事物本質(zhì)(解決問題的本質(zhì))的測試,讓我們不至于偏離方向
6、比較思維方式
● 認(rèn)識事物時(shí),人們往往都是通過和頭腦中的某些概念進(jìn)行比較,找出相同、相異之處,或者歸類,從而將其加入大腦中的知識體系,可能的話,再建立好的搜索方式,以便以后使用
● 應(yīng)用模式是“比較思維”很常見的例子,現(xiàn)在模式很火,有設(shè)計(jì)模式、體系結(jié)構(gòu)模式、測試模式、等等,一些專家針對一些相關(guān)問題的共性找出來的解決方法,取完名字后,可以讓大家方便的復(fù)用
● 讓經(jīng)驗(yàn)在這里發(fā)揮作用,測試中經(jīng)驗(yàn)很重要,比較思維是使用經(jīng)驗(yàn)的方式
7、動(dòng)起來,更精彩
● 關(guān)注程序的運(yùn)行時(shí)狀態(tài)
● 傳統(tǒng)的基于結(jié)構(gòu)的程序可以更多的在代碼中反映將來程序的運(yùn)行方式;而面向?qū)ο髮⒋a和運(yùn)行時(shí)顯著分離
● 讓我們在關(guān)注代碼靜態(tài)結(jié)構(gòu)(如類結(jié)構(gòu))的同時(shí),也要謹(jǐn)慎關(guān)注其動(dòng)態(tài)(對象交互網(wǎng))表現(xiàn)
其實(shí)這些思維方式,大家都在有意識或者無意識的使用著,它們各自都有自己的妙處,將我們的思維發(fā)散,有意識的將他們用在問題的思考上,有時(shí)可以給我們一種“柳暗花明又一村”的感覺。
最后想說,只是知道這些原則意義不是很大,如果真能讓它們成為思考的血液,才能發(fā)揮它的真正價(jià)值。那真的需要很多的歷練,其實(shí)成為一名出色的測試人員,遠(yuǎn)沒有那么簡單,需要簡單,需要(不斷的學(xué)習(xí)+不斷的經(jīng)歷+不斷的思考)。