一、按阶段划分
单元测试
程序的最小单元,函数 ,又称为模块测试
- 对模块中路径执行至少一次的测试
- 对所有的逻辑判定,取真或者取假
集成测试
对程序的最小单元进行集成,形成一个大模块联合测试
- 连接起来后,数据会不会丢失,错误,误差(精度)
- 能否达到预期的效果
- 有没有产生副作用
系统测试
- 功能测试:业务测试,业务集成测试,黑盒测试
- 界面测试:布局,颜色,控件的功能
- 兼容性测试
- 安全性测试
验收测试
二、按照测试的方法
黑盒测试
- 不关注代码的逻辑,内部结构,只关注功能和业务
- 又称功能测试
白盒测试
- 关注的整体组合形成大逻辑和分支,条件和路径,存在一定组合,侧重于整体或者叫集成
三、按照执行的方式
- 手工测试:复杂场景的测试,功能测试,业务测试,界面测试
- 自动化测试:工具类,开发类(UI - user interface类,接口 - interface),性能测试
- (python, java, javascrip-前端),提高效率,提高覆盖率,提高自信心,保证正确事情做正确
- 接口测试:自动化测试重点
四、按照执行的策略
回归测试
在程序引入新的代码或者修改的代码之后,对前面已经解决或者存在的问题或者功能,进行再次的测试,称为回归测试
- 范围(回归的对象):核心业务,之前核心功能,缺陷,缺陷涉及的相关功能或者用例,贯穿于整个测试流程
- 阶段(什么时候发生):只要有之老的功能,之前的功能或者对问题的修复,就需要做回归测试;只有有变化或者变动,就需要做回归测试
冒烟测试
是指测试人员在进行某个点或者正规测试之前,先投入较少的人力和时间验证一个软件的主要功能(核心功能及业务)的测试;如果主要功能都没有实现,则打回开发组重新开发。这样做的好处是可以节省大量的时间成本和人力成本
- 特点:时间短,快速完成相关的内容测试`
- 范围:核心功能,关键业务,特定的缺陷`
- 版本接收:开发交给测试可以用的程序,这个程序就叫版本,为了区分迭代产生不同的版本,所以要有一个版本号,作用是对版本加以区分,进行版本接受测试,用的方法就是冒烟测试`
- 上线前后,做冒烟测试
探索性测试
不按照已有的规则或者用例,测试人员依据经验以及主观性进行的对未知的领域或者已经法发生问题的地方,采取的创造性或者随意而有针对的测试,它是一种测试策略,一种测试思维
- 特点:随机性,没有计划;对业务熟悉,还是有一定的针对性
- 有感而发,重复性低
- 随着正常的测试进行,采取的一种不同的测试思维和策略,识别软件系统潜在的不稳定的区域
- 哪里没有测过,就去哪里,哪里有问题就去哪里
- 要和标准的测试流程相结合
- 多样性
- 创造性
- 发现目前设计用例的不足
- 思维定势