笔记----就是用来日后再次学习+查看的
1.什么是软件测试?
验证软件是否满足用户的需求(不是以软件测试人员的主观意愿去判断软件的质量,基本上是以客户的要求为标准)
2.不运行系统或者程序可以进行软件测试吗
可以(动态测试,静态测试)
3.软件测试与软件研发的区别
(1)软件测试和软件开发中调试的区别
- 目的不同:
软件测试是检查软件的质量(以用户需求为标准)
软件调试是开发人员为了检查程序员是否实现了他(开发人员)想让程序实现的功能 - 人员不同:
软件测试—黑盒测试工程师,白盒测试工程师,开发人员(单元测试,或者白盒测试)
软件调试—开发人员 - 阶段不同
软件测试—贯穿到了整个软件开发的生命周期
软件调试—只在开发阶段
软件开发的生命周期:
需求分析–计划–设计–开发–测试–运行
补充:
测试左移:需求前调研阶段和需求阶段,测试人员参加
测试右移:产品上线后,系统监控,日志记录和分析
(2)难易程度,技能要求
- 开发广度小,专业度高
- 测试广度大,专业度低
Eg:
接口测试 postman soupui Charles
抓包 fiddler Charles
模拟弱网工具 (性能测试)
自动化测试 java Python ruby unittest TestNG
安全测试 网络知识 Linux tomcat 数据库
4.什么是需求
社交类APP–发朋友圈(boss)
需求(发朋友圈)–分析/设计(朋友圈功能具体的实现细节,权限,发表内容,点赞,评论–>文档(具体功能的实现细节,文字/画图))–开发–测试–上线
用户需求:用户想要软件实现功能 boss/实际用户(反馈和要求)/公司的业务人员(针对公司的内部系统)
软件需求:用户需求的具体细化,是用户需求具体的实现细节,开发人员要根据软件需求进行软件开发
软件开发中的需求:需求就是满足用户的期望或者合同规定的标准,规范,文档所需要的文件和权限
水杯的测试用例:
功能:eg–是否隔热,大于多少度会烫手,是否可以折叠,水杯容量刻度与其他水杯一致 ,是否有异味,材质问题,保质期,口径大小,杯子上放置重物达到什么程度杯子会被损坏(抗压性)
界面:eg–形状,颜色,大小与设计(高,宽,容量),材质与设计,外观完整美观
易用性:eg–倒水方便,拿着舒服(符合人体结构学),杯口设计喝水是否方便,使用简单容易操作,防滑
兼容性:eg–杯子能够容纳果汁,白水,酒精,汽油等
安全性:eg–高温材质释放毒性,低温材质释放毒性,杯子使用的材质是否安全(合格:有毒)
震动测试;eg–杯子加包装(有填充物),检查产品是否能应对恶劣的铁路/公路/航空运输,六面震动
5.什么是bug
例如注册需要输入六位以上的密码才能注册成功,但是有人输了五位就注册成功了,这就是bug
分为两种情况:
- 当软件需求规格(软件需求)存在并合理,如果软件功能和软件需求规格不相符合,我们就说是软件错误(bug)
- 当软件需求规格存在的时候,用户需求存在且合理,软件功能和用户需求不相符合,就是软件错误(bug)
6.什么是测试用例
向被测试系统发起的一组集合,这组集合包括测试数据,测试步骤,测试平台,预期结果
Eg:邮箱注册正确流程测试(标题,即测试点)
1.测试数据
邮箱地址:192838476
密码:1234567890
手机号:0987654321
2.测试步骤
(1)打开网易邮箱注册页面
(2)输入邮箱地址,密码,手机号
(3)勾选同意条款,点击立即注册
3.测试平台
Chrome浏览器
4.预期结果
注册成功
7.开发模型(5个)
- 瀑布模型
优点:各个阶段比较独立,看重需求分析和软件测试;
缺点:无法适应需求的变化,测试到编码后才介入,导致前期的缺陷无法及时发现,无法及时修正
适用的的项目:适用于需求稳定的项目 - 螺旋模型
优点:强调软件的质量,每一次迭代进行严格的风险分析,提供讨论项目是否有必要进行下去的机会
缺点:引入风险管理,会投入大量人力物力
适用的项目:前期需求不是很明确,并且有风险,项目比较庞大的系统开发 - 迭代,增量模型
一个系统的四个功能,A模块,B模块,C模块,D模块,两周时间完成
迭代模型:第一周开发人员完成A B C D四个模块基础功能,第二周,在基础功能之上进行细化和完善;
增量模型:第一周,完成A模块,B模块,第二周,完成C模块,D模块
迭代模型抗风险能力更强
- 敏捷模型
轻文档,轻流程,重目标,重质量
目标 交付一个高质量可用的软件
拥抱变化,可以适应需求的变化
scrum流程: 1–4周 10人以内
PO,product owner 产品经理(客户的代表方),把客户的需求整理成user story
SM,scrum master 项目经理,负责保证整个敏捷流程的顺利实施
ST, scrum Team 研发团队,目标是交付一个高质量可用的软件
Scrum流程:
1.发布计划会议
2.迭代计划会议
3.开发过程中,每日站会
4.产品演示评审会
5.回顾会议