为什么要测试?
(1)代码是人写的,难免会出错
(2)软件本身就会存在问题,非正常运行也会问题
(3)环境会影响软件出现问题
(4)软件测试活动是保证软件测试质量之一
测试的定义什么?(重点)
制造业定义:以检验产品是否满足需求为目标
软件行业定义:
a、验证软件的正确性
b、发现软件中的缺陷(找bug)
软件生命周期?
指的是软件从产生到报废的整个过程,是一种时间的概念。
软件生命周期包括哪些阶段
(1)问题引入或定义
(2)可行性分析(涉及经济,政治,法律,技术)
(3)项目招投标
(4)项目立项
(5)需求分析
(6)开发阶段(设计,编码,测试)
(7)维护
软件什么周期模型有些?
• --瀑布模型(waterfall) 目前已经淘汰!
• --V模型(重点讲解)
• --W模型
• --H模型 (重点讲解)
• --敏捷开发模型 (重点讲解)
• --迭代开发模型
• --增量开发模型
测试计划内容:
测试目的,背景,范围,测试准入,测试准出,环境和资源,测试任务和测试进度,风险及风险管理,测试交付文档)
测试报告内容:
测试目的,测试范围,测试背景,测试实施日期,测试人员,bug 清单,用例清单,测试结果
不同的测试角度:
需求测试 功能测试 性能测试 界面测试 可靠性测试 易用性测试 可移植性测试 兼容性测试
V模型:
单元测试---集成测试---系统测试----验收测试
H模型:
产品开需求会议---分析需求---编写测试计划(项目经理)---分配测试任务---编写测试用例---评审用例(组内和交叉评审)---评审通过----将用例导入用例管理工具(禅道)---搭建环境---开发提测---达到准入要求---部署项目包到环境中---开始冒烟测试---sit1系统集成测试---有bug提交给开发---开发修改好---再次提测---冒烟测试---sit2测试---以此类推---直到达到准出要求0bug,用例100%执行---输出测试报告---通知uat(验收)检测---uat验收通过---封装版本---等待上线---准备线上数据---上线测试---测试无bug表示上线成功
验收测试
分为两种:alpha测试(α) 和 bete测试(β)
α测试是内部验收测试
β测试是客户方测试
α测试和β测试区别:
- α测试测试地点:是在自己公司 ;β测试一般在客户方
- α测试都是内部人员进行测试,开发在现场及时发现问题,及时解决;
- β测试是在客户方的员工测试,发现问题在反馈给开发在解决
- α测试测试时间短,技术人员比较集中;
- β测试测试时间较长,测试人员不集中;
b/s架构和c/s架构(重点)
bs: 浏览器------服务器(web)
b:broeser 浏览器
s:server 服务器
bs的应用:
论坛,百度,知乎,豆瓣,csdn,博客园
cs架构: 客户端-----服务器(app)
c:client 客户端
s:server 服务器
cs应用:抖音 ,微信,qq,快手,酷狗
区别:
- bs 不需要更新,直接通过浏览器输入网址进行访问;
- cs需要下载客户端才能使用,需要定期更新
- bs 架构对服务器性能要求高,
- cs架构客户端可以分摊一部分性能压力
- bs 不会占用存储内存
- cs会占内存
优缺点:
- bs优点:不需要安装直接访问, 服务器好维护,信息量比较大,资料多
缺点:安全性不高、信息容易泄露,容易病毒
- cs的优点:手机携带方便,操作简单,上传下载相对较快,安全性高
缺点:需要安装,升级,更新,维护,服务性相对来说难维护
1、黑盒测试
定义:黑盒测试也是功能测试,测试中把被测试的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据和输出数据
比如: 计算器当作黑盒子:输入1+2=输出:3结果 就是对
2、白盒测试
白盒测试又称结构测试,透明测试,逻辑驱动测试,或基于代码测试。
白盒测试是指打开盒子去研究里面的源代码和程序结果
3、灰盒测试
灰盒测试是介于白盒测试和黑盒测试之间一种,灰盒测试多用于集成测试阶段,不仅关注输入,输出的正确性,同时也关注程序内部的情况。