软件测试含义
在规定条件下对程序进行操作,发现软件错误,衡量软件质量,对其是否能满足设计要求进行评估的过程
开发不做测试原因:测试力度,思维方式,关注度
计算机定义
一种可以自动高效进行技术操作的电子设备,称作PC
计算机基本特点
- 可以进行数学和逻辑运算
- 可以对数据进行记忆和存储
- 可以在程序指令下自动高效进行计算
内存断电后数据消失,而外存不会
CPU中央处理器=控制器+计算器
dos命令
ping 网址 :查看当前电脑和目标电脑之间的网络连接情况
ipconfig -all:查看当前电脑的网卡信息
cd /:回到根目录
软件测试分类
按是否覆盖源代码划分
- 黑盒测试:输入和输出
- 白盒测试:代码内部实现逻辑
- 灰盒测试:上面两者相结合
按测试阶段划分
单元测试:对于测试人员来说,针对单个功能进行测试,对于开发人员来说,针对代码进行测试
集成测试:组装测试
系统测试:针对系统进行整体性测试:软件功能和硬件功能
验收测试:用户检验产品是否满足自己预期
- α测试:bug比较多,内侧版本
- β测试:bug相对比较少,公测版本
- γ测试:候选发布版本
按照是否运行划分
静态测试:不运行被测试程序 测试对象:文档、看代码
动态测试:运行程序程序 测试对象:运行中的程序
按是否自动化划分
手工测试也叫功能测试
自动化测试:通过工具或代码代替人进行测试的过程
更多
冒烟测试
- 开发提交测试版本的接收性
- 测试点:最基本功能,如用户正常登陆;最核心的业务流程,如电商购物全过程
回归测试
- 测试点:bug回归,旧功能回归
随机测试
探索测试
软件开发模型
瀑布模型
组成:需求分析-->概要设计-->详细设计-->代码实现-->软件测试-->软件维护
特点:线性模型,文档驱动
优点:只需要关注当前进行的阶段
缺点:不响应需求变化
典型应用场景:需求清晰的大型项目
软件测试模型
V模型
组成:需求分析-->概要设计-->详细设计-->代码实现-->单元测试-->集成测试-->系统测试-->验收测试
优点:只需要关注当前进行的阶段,线性模型,文档驱动
缺点:不响应需求变化,不灵活
W模型--双V模型
组成:开发V即需求分析-->概要设计-->详细设计-->代码实现-->集成-->实施-->交付
测试V即验收测试设计-->系统测试设计-->集成测试设计-->单元测试设计-->单元测试-->集成测试-->系统测试-->验收测试
优点:测试贯穿软件开发的全生命周期,早参与,早发现,早解决
缺点:技术和管理要求比较高
软件质量模型
功能性:检查业务功能是否满足需求
可靠性:容错能力(恢复正常的时间、精力)
易用性:看得懂、会使用等
效率性:性能(响应时间、消耗的资源(CPU、内存)等)
维护性:为后续功能开发与维护提供便利
移植性:软件需要在不同的软件环境和硬件环境下都能正常的工作
软件测试用例
检验开发的代码实现是否满足用户需求而设计文档(测试输入,执行条件,预期结果),文档形式可以是excel等