软件分为系统软件和应用软件
1.计算机程序
2.程序所用的数据
3.有关文档资料的集合
软件测试的目的
1.为了发现程序存在的代码或业务逻辑错误
2.为了检验产品是否符合用户的需求
3.为了提高用户体验
软件测试的对象
1.程序
2.数据
3.文档
软件测试的分类
按测试执行阶段划分
单元测试:开发
一个一个的单元进行测试
集成测试:开发/测试
把多个单元集合成一个模块进行测试
系统测试:测试
把所有的单元/集成的模块组合成一个系统进行测试(整个淘宝网站的测试)
验收测试(正式验收测试,alpha测试,beta测试):少量用户
对整个淘宝网站进行验收,看整个网站是否达到了用户需求
正式验收测试
有一个非常规范的测试活动
alpha测试
是由少量用户,在受控制的环境(模拟生产环境)下进行的测试——内测
beta测试
是由少量用户,在生产环境下进行的测试——公测
按测试技术划分
1,白盒测试 关注代码内部的情况,逻辑,方法,判断
2,黑盒测试关注输入和输出
3,灰盒测试 介于白盒和黑盒之间
接口测试=灰盒测试=集合测试阶段
黑盒测试=手工测试=点点点
被测试对象是否运行划分
动态测试,静态测试(文档检查,代码走查,界面检查)
按不同的测试手段划分
手工测试,自动化测试
按测试包含的内容划分
功能测试,界面测试(图片,文字,链接),安全测试(有漏洞),兼容性测试,易用性测试(测试人员主观性比较强),性能测试,压力测试,负载测试,恢复测试(服务器,数据库)
其他测试
冒烟测试(测主干),回归测试(1,确认bug被修复。2,没有影响到之前与之有关联的功能),探索性测试/自由测试(测试思维)
常识普及
C/S:客户端
缺点:每次更新都需要更新服务端与客户端
B/S:浏览器
优点:只需要更新服务器,不需要更新浏览器。用户主动性比较高