系统学习---软件测试的分类

1.按照测试阶段

单元测试,集成测试,系统测试,验收测试(正式验收测试,Alpha测试,Beta测试)

集成测试——-开发与开发之间的联调,接口测试
系统测试——整体全部功能的测试,不是模块的测试
Alpha测试—–前期用户测试,内部人员模拟实际环境进行验收测试(内测)
Beta测试——后期用户测试,通过内部测试,即将正式发布。 在一个或多个真实环境下发布版本进行公测。(预发步版本,公测,预测)

2.按照测试技术分类

白盒测试,黑盒测试,灰盒测试

白盒测试———- 知道程序内部代码逻辑,代码拿过来,输入测试数据就知道是否ok
黑盒测试———-不知道xxxxxxxxxxxx,通过表面的反应才知道是否ok
灰盒测试———-介于二者之间,既有xx,也有xx

3.按照被测试对象是否运行分类

动态测试,静态测试(文档检查,代码走查,界面检查)

4.不同测试手段

手工测试,自动化测试

5.按测试包含的内容划分

功能测试,界面测试,安全测试,兼容性测试,易用性测试,性能测试,压力测试,负载测试,恢复测试(灾备)

恢复测试—-主要检查系统的容错能力。采用各种办法强迫系统失败,然后验证系统能否在指定的时间间隔内尽快恢复并重新启动系统
易用性测试—-测试软件是否易用,主观性比较强

6.其他测试

冒烟测试,回归测试,探索性测试(测试思维)

详解:
冒烟测试——在真正测试开始之前,都会对应用版本 主干功能做一下测试,如果主干功能都测试不通过,就可以打回这个版本;

回归测试——-指之前提出的bug被修正后/软件功能发生变化后进行的重新测试,确认修改部分已经ok,并且不会对其他功能造成影响!
1.验证bug是否被修复
2.和该bug相关功能是否被影响

###软件测试是什么
定义:为了发现程序中的错误而执行程序的过程

1.为了发现程序存在的代码或业务逻辑错误
2.为了检验产品是否符合用户需求
3.为了提高用户的体验

软件测试的原则

1.测试应该尽早介入
2.所有测试追溯到用户需求
3.程序员英国避免检查自己的程序,除了单元测试,交给第三方/专业测试
4.设计测试用例时,应该考虑合法的输入和不合法的输入以及各种边界条件,意外状态
5.二八原则,测试发现的错误中80%很可能起源于20%的模块中(聚集效应,bug比较集中)
6.对错误结果要进行一个确认过程(必现,偶现;复现!!!)
7.制定严格的测试计划
8.完全测试是不可能的,测试需要终止(测试不是无休止的,没有明显bug测试就可以终止)
9.妥善保存测试过程中的所有文档