什么是软件测试?
定义:使用人工或自动手段来运行或测试某个系统的过程;目的在于验证它是否满足规定的需求,保证软件质量,提高用户体验;
软件测试:验证软件的功能是否满足有用户的需求
软件分为两大类:系统软件和应用软件
系统软件:Windows 、linux、nuix等都是系统软件。
系统软件包括所有硬件驱动程序,使计算机的软件跟硬件结合
应用软件:计算机用户为了解决某些问题而购买、开发或研制的各种程序或软件包,如APP QQ、微信等
开展软件测试活动的目的:
1. 软件测试为了检验产品是否满足用户需求
用户:提出需求
开发:实现功能
测试:检验产品
2. 为了提高用户的体验
3. 为了发现程序中存在代码或业务逻辑的错误
软件测试的分类
按测试阶段划分:单元测试、集成测试、系统测试
单元测试:开发完成某个模块单元的开发后,对其进行测试
集成测试:将开发完成的功能模块组合在一起进行测试验证
系统测试:对整个软件系统的流程、各模块功能及细节进行全面覆盖测试
按是否覆盖源代码划分:白盒测试、黑盒测试
白盒测试:针对代码层面进行测试
黑盒测试:针对功能层面进行测试,功能有没有,功能有没有问题,界面、易用性;通常根据需求文档为标准进行测试
灰盒测试:测试范围包括代码,界面,功能
3. 是否运行:静态测试、动态测试
静态测试:根据需求文档进行测试,主要测试界面 错别字、样式等,静态测试不运行程序去测试
动态测试:动态测试是运行程序去测试,测试功能是否实现,功能运行是否有问题,运行逻辑是否有问题等
4. 其他:回归测试、冒烟测试、随机测试、验收测试
回归测试:程序原本有问题,提交给开发更改,改完之后程序更新,测试就要检查改完的功能是否正常,并且有没有影响到其他的功能
冒烟测试:开发完成程序后进行基础功能、主流程的测试,验证有没有严重的问题,不测细节
随机测试/探索性测试:选取重要的功能模块去随机测试
验收测试:α测试、β测试、γ测试
α测试:Alpha 是内测版本,公司内部自己测试
β测试:Beta 是公测版本,交给客户去测试
γ测试:Gamma版本,是指软件版本正式发行的候选版。还没有正式发行,将要发行,没有大量推广,指给少部分用户进行使用
是否自动化:人工测试、自动化测试
人工测试:模拟用户使用行为进行人工操作的测试行为,俗称:点点点
自动化测试: 使用自动化测试软件或机器进行自动化测试