当测试遭遇算法、设计模式

做白盒测试调研走查代码时,往往会涉及下面两点:

·算法太复杂

·一堆设计模式,看着费劲,不明所以

正如singleton里,代码基础不好又没接触过单例模式的,就很有可能就把那个static给忽略了,还会埋怨开发闲的蛋疼搞这么个东西。

所以,在TestBird一个优秀的测试要具有一定的开发经验。最好是你能知道产品代码这么设计、算法这么搞,会有哪些隐患问题。

当然现状下这些难度有点大,所以退而求其次应该能看懂,至少开发给你讲后能听懂,代码里的各种算法和设计模式。

下面就简单介绍一下这方面的测试经验:

·让算法的实现者给你讲解一遍这个算法,最好能对着代码讲,要是讲不清楚那代码质量可想而知,讲清楚了往往就能发现一两个Bug;

·借鉴一些已有的数据,用来测试你的算法(比如以前测试URL时,找网址导航、淘宝之类网站抓几百个URL测试下,至少能保证大部分情况是OK的)

·用随机算法生成一些测试用例(这个是以前做算法比赛得出的经验,代码不正确,随机生成几百几千条Case看看,一般都能找到错误)

还需要了解23种常见的设计模式:

创建型

1.Factory Method(工厂方法)

2.Abstract Factory(抽象工厂)

3.Builder(建造者)

4.Prototype(原型)

5.Singleton(单例)

结构型

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(责任链)

16.Command(命令)

17.Iterator(迭代器)

18.Mediator(中介者)

19.Memento(备忘录)

20.Observer(观察者)

21.State(状态)

22.Strategy(策略)

23.Visitor(访问者)

内容大概就是这些了,所以大家按需要或者兴趣去学习吧,APP测试等,建议广度上都要了解一点,深度上可以有所取舍。

你可能感兴趣的:(当测试遭遇算法、设计模式)