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