Loading

做测试比写代码难

测试

测试工作比较考验全面思考的能力

常见的分类

白盒:清楚内部的东西以及内部是如何运作的

黑盒:不考虑程序内部结构和特性通过输入输出测试

  1. 单元测试:白盒测试 主要对基本功能(单元模块)进行测试,只测某个小零件,离问题最近,所以解决问题的成本低;
  2. 功能测试:黑盒测试 每个零件都能工作,但不能说明组装起来也能正常工作;
  3. 集成测试:模块和模块(或系统与系统)间的测试,例如“订单”和“支付”模块之间的测试
    • 难点在于 如何把众多系统组织搭建起来,以及如何定位测试中遇到的问题,这些都需要很好的运维工具
  4. 非功能测试:用户不关心的,但开发需要关心的。如:性能测试、安全测试、稳定性测试等等;
  5. 回归测试:把以前做过的测试及返国的错再测一遍(往往是自动化测试)

对于开发来说

  1. 测试要自己做,绝不能让用户成了你的测试

    • 写完代码后先自测;绝对不要因为赶进度而不自测,如果被人发现基本错误,那就尴尬了

  2. 除了基本输入外,还要努力构想更多的边界条件

    1. 思考函数输入值的有效范围

      • 如A方法的入参范围为[-10,10],那么还要测测-13 14等等

    2. 小心可能对不可变量造成影响的入参

      • 即不能让减少或增加的两方增减量不同,如 A给B转账,A-10元,B+10元,不变量就是这两个数字加起来=0

  3. 测似接口的语义,而不是当前实现的具体行为

    • 工作中看别人代码时同理,应注重语义而不是具体行为

      学习别人代码实现、编程风格时,与之相反

  4. 对重要模块,编写时就要做到基本的性能测试

    • 桥的主要功能是承重,所以搭桥时就要考虑使用的材料能承受多少力

  5. 对程序交付以后出现的问题和BUG,对齐的测试程序也要保留或提交到代码库,保证回归测试可以自动运行这个测试

posted @ 2022-10-02 17:30  fogey  阅读(20)  评论(0编辑  收藏  举报