导图社区 软件测试分类
软件测试分类,可以:按测试阶段分、按是否覆盖代码划分、按是否执行划分、按是否手动测试划分,欢迎纠错和补充。
社区模板帮助中心,点此进入>>
软件测试分类
按测试阶段分
单元测试,最小单位—模块
测试对象:源代码(逻辑层)
测试时间:编码后
测试人员:开发人员
测试方法:白盒测试(强度由低到高:语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖,路径覆盖)
集成测试,重点为测试不同的接口
测试时间:一般在单元测试之后
测试对象:测试测的主要是前后端的接口
测试依据:参考开发人员前后端接口文档
测试方法:灰盒测试(黑盒和白盒结合)
系统测试,整体性测试
包括功能和非功能测试/先冒烟、再系统、后回归
按是否覆盖代码划分
黑盒测试:不关系代码,只关注数据输入和输出
功能测试
冒烟测试,系统测试,回归测试
安装测试
安装类型
安装-卸载-安装
覆盖安装
框架
BS框架
CS框架
非功能测试
界面
布局,图片,颜色,字体
易用性
能否与键位联动,符合使用习惯
兼容性
不同的分辨率,系统,品牌,平台,浏览器
网络
异常处理/响应延迟
安全性
待补充
性能
日志事件,吞吐量
白盒测试,测试代码逻辑性和程序结构
相当于一个透明的盒子,能够看到内部结构及看到里面的代码,是测试代码逻辑以及代码正确性,一般由开发来完成
灰盒测试
功能 + 接口
按是否执行划分
静态测试(白盒测试),不实际运行软件,直接查代码
动态测试(黑盒测试),实际运行被测程序,分析输出结果
按是否手动测试划分
手动测试,由人去一个一个的输入用例,然后观察输出结果
优点:自动化无法替代探索性测试、发散思维类无既定结果的测试。
缺点:执行效率慢,量大易错。
自动化测试,回归测试时常用
就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。简单说 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。
优点:节约人工成本和大量数据比对时间,提高测试效率
缺点:对测试人员的技术能力要求相对较高,根据版本迭代进行更新,有一定维护成本。
其他
冒烟测试
确认软件基本功能正常,可以进行后续正式的测试工作
回归测试
开发修改旧代码之后重新进行测试,确认修改后代码有没有引入新的错误或者导致其他代码产生新的错误.
随机测试
根据测试者的经验对软件进行功能和性能抽查
验收测试
α测试
β测试