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

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

·算法太复杂

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

正如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测试等,建议广度上都要了解一点,深度上可以有所取舍。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文链接:http://blog.csdn.net/zhangerqing http://www.cnblogs....
    孤独杂货铺阅读 5,401评论 0 3
  • 一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者...
    RamboLI阅读 4,130评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,116评论 18 399
  • 面向对象的六大原则 单一职责原则 所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于...
    JxMY阅读 4,505评论 1 3
  • 一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者...
    lichengjin阅读 4,423评论 0 8

友情链接更多精彩内容