做白盒測試調(diào)研走查代碼時,往往會涉及下面兩點(diǎn):
·算法太復(fù)雜
·一堆設(shè)計(jì)模式,看著費(fèi)勁,不明所以
正如singleton里,代碼基礎(chǔ)不好又沒接觸過單例模式的,就很有可能就把那個static給忽略了,還會埋怨開發(fā)閑的蛋疼搞這么個東西。
所以,在TestBird一個優(yōu)秀的測試要具有一定的開發(fā)經(jīng)驗(yàn)。最好是你能知道產(chǎn)品代碼這么設(shè)計(jì)、算法這么搞,會有哪些隱患問題。
當(dāng)然現(xiàn)狀下這些難度有點(diǎn)大,所以退而求其次應(yīng)該能看懂,至少開發(fā)給你講后能聽懂,代碼里的各種算法和設(shè)計(jì)模式。
下面就簡單介紹一下這方面的測試經(jīng)驗(yàn):
·讓算法的實(shí)現(xiàn)者給你講解一遍這個算法,最好能對著代碼講,要是講不清楚那代碼質(zhì)量可想而知,講清楚了往往就能發(fā)現(xiàn)一兩個Bug;
·借鑒一些已有的數(shù)據(jù),用來測試你的算法(比如以前測試URL時,找網(wǎng)址導(dǎo)航、淘寶之類網(wǎng)站抓幾百個URL測試下,至少能保證大部分情況是OK的)
·用隨機(jī)算法生成一些測試用例(這個是以前做算法比賽得出的經(jīng)驗(yàn),代碼不正確,隨機(jī)生成幾百幾千條Case看看,一般都能找到錯誤)
還需要了解23種常見的設(shè)計(jì)模式:
創(chuàng)建型
1.Factory Method(工廠方法)
2.Abstract Factory(抽象工廠)
3.Builder(建造者)
4.Prototype(原型)
5.Singleton(單例)
結(jié)構(gòu)型
6.Adapter Class/Object(適配器)
7.Bridge(橋接)
8.Composite(組合)
9.Decorator(裝飾)
10.Facade(外觀)
11.Flyweight(享元)
12.Proxy(代理)
行為型
13.Interpreter(解釋器)
14.Template Method(模板方法)
15.Chain of Responsibility(責(zé)任鏈)
16.Command(命令)
17.Iterator(迭代器)
18.Mediator(中介者)
19.Memento(備忘錄)
20.Observer(觀察者)
21.State(狀態(tài))
22.Strategy(策略)
23.Visitor(訪問者)
內(nèi)容大概就是這些了,所以大家按需要或者興趣去學(xué)習(xí)吧,APP測試等,建議廣度上都要了解一點(diǎn),深度上可以有所取舍。