软件测试-测试原则与方法

一、今日学了啥?

  • 测试原则

    • 尽早、不断测试

    • 避免自测

    • 既要选择有效、合理的数据,也要选择无效、不合理的数据

    • 修改后应进行回归测试

    • 尚未发现的错误数量与该程序已发现错误数成正比

    • 检验程序是否做了该做的事,且是否做了不该做的事

    • 严格按测试计划进行

    • 妥善保存测试计划和测试用例

    • 测试用例可以重复使用或追加测试

  • 测试类型

    • 桌前检查

    • 代码审查

    • 代码走查

    • 静态分析

    • 黑盒测试法

    • 白盒测试法

    • 灰盒测试法

    • 等价类划分:把所有的数据按照某种特性进行归类,而后再每类的数据里选取一个即可

    • 边界值分析:把每类的边界值作为测试用例,边界值一般为范围的两端值以及在此范围之外的与此范围间隔最小的两个值

    • 错误推测:无固定方法,凭经验推测可能产生问题的地方作为测试用例进行测试

    • 因果图:由结果反推原因的方法,具体结果具体分析,无固定方法

    • 基本路径覆盖

    • 循环路径覆盖

    • 逻辑覆盖测试:由低到高为"""语句覆盖(所有语句执行一遍)->判定覆盖(条件真假分支覆盖一次)->条件覆盖(针对每一个独立条件都要执行一遍真、假)->条件判定覆盖(同时满足判断覆盖和条件覆盖)->路径覆盖(所有可行路径覆盖)"""

    • 动态测试(运行状态、计算机运行)

    • 静态测试(纯人工)

    • 面向对象软件测试

      • 算法层(单元测试)

      • 类层(模块测试)

      • 模板层/类树层(集成测试)

      • 系统层 (系统测试)

    • 软件调试方法

      • 蛮力法:通过计算机找错,低效、耗时

      • 回溯法:从出错处人工沿流程往回追踪,直至发现出错根源,由于回路多,难以实施

      • 原因排除法:演绎和归纳,用二分法实现

    • 自动化测试:自动用脚本跑测试用例,简单情况时不选择,只用于繁琐、大量测试情况


    二、重点/要记住的!

    • ❌ 边界值分析:取边界值+临界外值(如1000应测试999/1000/1001)

    • ❌ 调试和测试的区别:测试是发现错误,调试是找出错误代码和原因并改正,改正后要进行回归测试