按测试技术,软件测试可分为:黑盒测试
、白盒测试
、灰盒测试
黑盒测试
:即功能测试,测试人员不必了解代码,只需要检查软件是否按照需求文档完成。
白盒测试
:测试人员需要了解代码程序结构和处理过程,按照代码逻辑进行测试,比如接口测试。
灰盒测试
:介于黑盒和白盒之间的测试,既要像黑盒测试关注功能的正确性,也要对代码结构有一定的了解。
按测试方式,软件测试分为:静态测试
、动态测试
静态测试
:即需求文档下发到手以后,完成测试用例以前对需求文档进行检查的过程。
动态测试
:具体的测试过程,需要对软件进行运行。
按测试阶段,软件测试分为:单元测试
、集成测试
、系统测试
、验收测试
单元测试
:对代码的最小单元——模块进行正确性的验证工作。验证代码在语法、逻辑上的正确性。
集成测试
:即将各个单元组装到一起以后进行的测试,以此来验证接口之间的调用是否正确。
系统测试
:将已经开发好的软件放到测试环境进行测试,验证功能、UI、逻辑等正确性。
验收测试
:测试的最后一轮,类似回归测试,即将软件的整体功能执行一遍,它不像系统测试那样细致,主要进行的是正向的测试流程。比如产品上线以后会在线上进行测试,而在线上测试的时候主要进行的是正向流程的测试。
按软件质量特性,软件测试分为:功能测试
、安全测试
、性能测试
、压力测试
、兼容性测试
每个分类都可以单独作为一个岗位存在,比如安全测试
、性能测试
。
常用的测试方法包括:等价类
、边界值
、正交排列
、因果图
、场景法
。
有效等价类
,无效等价类
有效等价类
:输入有意义,合理的数据集合; 无效等价类
:输入无意义的,不合理的数据集合;基本流
和备选流基本流
:也叫有效流或正确流,模拟用户正确的操作的过程;备选流
:也叫无效流或错误流,模拟用户错误的操作的情景;所谓“测试用例”即测试执行流程的文档表述。测试用例包括:用例编号、功能模块、测试功能点、前置条件、操作场景及步骤、预期结果、测试结果、优先级。
jira、tapd等bug管理工具。