一个人学习不如和大家一起学习,群里有学习资料,欢迎你加入软件测试交流群,群号:1062843742。
按照开发流程(项目流程)来划分
上图是一个典型的“v”模型开发流程,各项软件测试工作是在项目开发流程中循序渐进进行的。
单元测试:也称模块测试,是对程序中的单个子程序或具有独立功能的代码段进行测试的过程。
集成测试:测试由单元模块组成的系统或子系统,重点检查模块之间的接口是否正确。
系统测试:将软件系统看成是一个系统的测试,包括对功能、性能以及软件所运行的软硬件环境进行测试。
验收测试:确保软件准备就绪,向软件购买者展示该软件系统能够满足用户的需求。
按是否查看代码划分
黑盒测试:黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据。
白盒测试:又称逻辑驱动测试,指打开盒子,去研究里面的源代码和程序结果。
灰盒测试:是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。
手工与自动化测试
手工测试:手工测试就是由测试人员一个一个地去执行测试用例,并查看返回结果是否符合预期结果。
自动化测试:就是在预设条件下运行系统或程序,评估结果,预先条件应包括正常条件和异常条件。简单说自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。
其他测试方法
冒烟测试:针对每个版本或每次需求变更后,在正式测试前,对产品或系统的一次简单的验证性测试,冒烟测试目的是确认软件基本功能正常。
安全测试:在IT软件产品的生命周期中,特别是产品开发基本完成至发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程。
随机测试:主要是根据测试者的经验对软件进行功能和性能抽查。
回归测试:是指修改了旧代码后,重新进行测试以确认修改后没有引入新的错误或导致其他代码产生错误。
探索性测试:是测试人员都应该具备的一种测试思维,它强调在遇到问题时及时改变测试策略。