一、测试思维的练习
面试题:
(1)你说下淘宝购物车的测试点?
(2)给你二维码你会怎么去测试?
(3)微信发朋友圈如何测试?
(4)微信点赞如何测试?
(5)给你一个水杯你会如何去测试?
(6) 你说下电梯的测试点?
需求文档,功能,性能,兼容性,安全性,易用性
从不同的角度去考虑如何测试?
(1) 需求测试
需求:需求文档,制作的需求书(全称:软件需求规格说明书,简称:srs)
需求:根据客户要实现一个功能;开发根据需求编写代码,测试也是根据需求编写测试用例和测试
案例:测试制作水杯的说明书
测试:需求是否合理, 需求有没错别字,需求是否规范,需求是否具有唯一性等
(2)界面测试
界面测试也是外观测试,也称为ui测试
测试用户界面的功能模块,布局是否合理,整体风格是否一致,各个控件的位置摆放;
案例:测试水杯的:形状,颜色,类型,大小
(3)功能测试
功能测试:是指对产品软件的各个功能进行验证,验证产品是否达到客户的要求;
案例1:杯子:喝水,装水,保温,制冷,显示温度
案例2:微信:聊天、转账、发朋友圈、视频、语音、点赞、发红包等
(4)可靠性测试
定义:在规定的条件下,可持续的寿命的最长时间。(通过使用各种设备模拟不同的场景,比如高温,低温的情况,加速反映产品在环境中使用的状态来验证
是否达到研发和设计,制作中的质量目标)
可靠性测试:在规定的时间下,可持续的寿命的最长时间。
案例1:高温,低温致使水杯的状态来验证是否达到目标
案例2:肉: 在不同温度下,保存的时间是不一样
案例3:汽车:不同的速度,汽车的状态不一样
(5)可移植性测试
是指对设计的程序与硬件,软件之间的兼容性的测试组合
软件是否可以一直到指定的硬件或软件上运行,由于计算机的硬件结构不一样,导致某一类型上的软件不能再另一个计算机上运行。
a:电脑 8g 256 cpu 2.5 腾讯会议,钉钉
b: 电脑 4g 128 cpu 2.0 无法运行
案例1:水杯可以放在海拔1000m,在移植到海拔2000m
案例2:室内,室外
(6)兼容性测试
兼容性考虑:
os (操作系统):win11、win10,win7,xp, macos,andriod ,ios
浏览器:uc,ie(ie8,ie11,ie9) ,谷歌,火狐(如:工商银行网页在谷歌上展示不全,还有博客园在)
手机品牌:华为,oppe,vivo,小米等
不同版本:1.0,2.0,3.0
案例:水杯装水,装油,装醋等
(7)易用性测试
定义:是指是否方便使用,可以理解为:易学性,易操作性
比如:遥控,品牌,文字表示,说明书,中英翻译,字体调大调小,切换颜色,切换分辨率
比如:水杯: logo、隔热层、吸管、背带、杯套、过滤网
页面: 删除、撤销、返回、翻译、帮助说明等
尼尔森十大定律(易用性)参考:
【尼尔森十大原则由毕业于哥本哈根的人机交互学博士Jakob Nielsen发表,Jakob Nielsen对人机交互有很多研究,他提出十大可用性原则,用来评价用户体验的好坏,每个产品设计者都可以根据这十大原则进行自查。
a、系统可见性原则(Visibility of system status)保持界面的状态可见,变化可见,内容可见。让用户知道发生了什么,在适当的时间内做出适当的反馈。 比如用户在网页上的任何操作,不论是单击、滚动还是按下键盘,页面应即时给出反馈。
b、贴近场景原则(Match between system and the real world)用用户的语言,用词,短语和用户熟悉的概念,而不是系统术语。功能操作符合用户的使用场景。
c、可控性原则(User control and freedom)用户经常错误地选择系统功能而且需要明确标识离开这个的“出口”。比如支持撤销和重做的功能。
d、一致性和标准化原则(Consistency and standards)
遵循平台的惯例。也就是,同一用语、功能、操作保持一致。
e、防错原则(Error prevention)
更用心的设计防止这类问题发生,在用户可能犯错时进行提醒,比如删除可能造成的后果。
f、协助记忆原则(Recognition rather than recall)尽量减少用户对操作目标的记忆负荷,动作和选项都应该是可见的。用户不必记住一个页面到另一个页面的信息。系统的使用说明应该是可见的或者是容易获取的。
g、灵活高效原则(Flexibility and efficiency of use)允许用户进行频繁的操作。 更加便捷灵活的代码和反馈
(8)审美和简约设计原则(Aesthetic and minimalist design)不应该包含无关紧要的信息。
(9)容错原则(Help users recognize, diagnose, and recover from errors )错误信息应该用语言表达(不要用代码),较准确地反应问题所在,并且提出一个建设性的解决方案。比如404。
(10)人性化帮助原则(Help and documentation)有必要提供帮助和文档。任何信息应容易去搜索,专注于用户的任务,列出具体的步骤来进行。帮助性提示最好的方式是:1、无需提示;2、一次性提示;3、常驻提示;4;帮助文档。】
(8)安全性测试
安全包括:防火墙,木马,病毒,数据,网络,程序,泄露数据信息、加密、权限设置、密码
水杯: 制作材料、烫伤、
(9)性能角度
a\压力测试
压力测试也叫破坏性测试
定义:有一个临界点,突破临界点,查看系统运行状态。
例如1:水杯装5l水,直接装6升,查看状态
例如2: 淘宝:双十一 1亿用户,目前通过2亿用户访问
b\负载测试
定义:有一个临界点,慢慢接近临界点,查看系统运行状态。
例如1:水杯装5l水,直接装4升,查看状态;在装4.5升;在装4.8升水,在装5升水查看状态
例如2: 淘宝:双十一 1亿用户,先测试8千万用户,在测9千万用户,在测1亿用户 系统查看状态
二.b/s架构和c/s架构(重点)
(1)bs: 浏览器------服务器(web)
b:broeser 浏览器
s:server 服务器
bs的应用:
论坛,百度,知乎,豆瓣,csdn,博客园
(2)cs架构: 客户端-----服务器(app)
c:client 客户端
s:server 服务器
cs应用:抖音 ,微信,qq,快手,酷狗
区别:
(1)bs 不需要更新,直接通过浏览器输入网址进行访问;
cs需要下载客户端才能使用,需要定期更新;
(2)bs 架构对服务器性能要求高,
cs架构客户端能分摊部分性能压力
(3)bs 不会占用存储内存,
cs会占用存储内存
优缺点:
(1)bs优点:不需要安装直接访问, 服务器好维护,信息量比较大,资料多
bs缺点:安全性不高、信息容易泄露,容易病毒
(2)cs的优点:手机携带方便,操作简单,上传下载相对较快,安全性高
缺点:需要安装,升级,更新,维护,服务器相对来说难维护
三.人员架构
人员架构:ceo 首席执行官cto 首席技术官pm 项目经理 职责:管理项目,负责项目的进展,工作的安排,从开发一款项目软件,直到系统上线:比如:一个影票系统、一个微信、一个抖音、一个qq产品经理:职责:负责公司的产品,了解客户的需求,把客户的需求整理好成一个需求文档,提供给开发和测试,需求就是产品输出。业务:专门了解需求开发经理:职责:管理开发人员,安排开发任务开发:(也称程序员)分为两种:前端开发,后端开发前端开发: 对页面的布局,前端代码的编写 如html、css、js等后端开发:负责代码逻辑(python,java,c++,c,php,shell,.net等)测试经理:(测试主管,测试组长)职责:管理测试人员,安排测试任务测试人员:我们学习去应聘的岗位(测试工程师,软件测试工程师)只要任务:编写测试用例,执行用例
测试用例:用例标题,用例标号,前置条件,用例步骤,预期结果,优先级运维:职责:负责公司环境, 维护环境面试题: (1)你们公司的规模多大?我们项目组20-30左右;(2)你们公司有几个测试? 小公司:3个左右,大型公司:50-100个,我们测试组:10个左右(3)开发有多少人? 1:5或1:6 项目组中开发人员15人开发; 前端开发:后端开发(1:5或1:6)开发20个(前端开发和后端开发) 测试5个 (4)你们公司有运维? 运维是做什么? 有 ,搭建环境,维护环境(5)你们技术团队有些人?项目经理,产品经理,开发经理,开发,测试经理,测试、运维等。
四.软件测试
1、为什么要测试?
(1)代码是人写的,难免会出错
(2)软件本身就会存在问题,非正常运行也会问题
(3)环境会影响软件出现问题
(4)软件测试活动是保证软件测试质量之一
2、测试的定义什么?(重点)
制造业定义:以检验产品是否满足需求为目标
软件行业定义:
a、验证软件的正确性
b、发现软件中的缺陷(找bug)
3、生命周期
软件生命周期概念?
• 软件生命周期别称:软件生存周期或软件开发生
命周期
• --指的是软件从产生到报废的整个过程,是一种
时间的概念。
• 例:举一个生活的例子:一部手机的寿命
通常软件生命周期包括哪些阶段?
• 1)客户问题引入或定义
• 2)可行性分析(涉及经济(商业论证),政治,
法律,技术等)
• 3)项目招投标
• 4)项目立项
• 5)需求分析
• 6)开发阶段(设计,编码,测试)
• 7)维护
典型的软件生命周期模型有哪些?
• --瀑布模型(waterfall)
• --V模型
• --W模型
• --H模型
• --X模型
• --敏捷开发模型
• --迭代开发模型
• --增量开发模型
验收测试测试分为两种:alpha测试(α) 和 bete测试(β)
α测试是内部验收测试
β测试是客户方测试
(1)单元测试
单元测试:
是指验证软件单元是否满足详细设计文档的规格,能正确的执行,主要是对代码的测试.
单元测试也是最小的测试单位;
在工作中单元测试一般情况是开发自测,如果需要测试进行单元测试,对测试的技术要求非常高,必须要懂开发语言;
理解:单元测试,课本上有10个单元一本书(一单元测试)
(2)集成测试
集成测试是指多个单元组合验证软件是否满足概要设计文档的规格,能正常执行,主要是模块与模块之间的数据交互。
理解:课本上有10个单元(有2个单元或2个单元模块以上测试,比如期中考试1-6单元)
(3)系统测试
系统测试是指把软件进行正常运行,对整个软件系统进行测试,验证这个系统能正常的运行,主要是测试一个整体业务的流程。
理解:课本上有10个单元(测试1-10 单元综合测试)
(4)验收测试
验收测试是指:站在用户角度去对软件进行测试,验证系统满足用户需求;
验收测试测试分为两种:alpha测试(α) 和 bete测试(β)
α测试是内部验收测试
β测试是客户方测试
V模型:
α测试和β测试区别:
1、α测试测试地点:是在自己公司 ;β测试一般在客户方
2、α测试都是内部人员进行测试,开发在现场及时发现问题,及时解决;
β测试是在客户方的员工测试,发现问题在反馈给开发在解决
3、α测试测试时间短,技术人员比较集中;
β测试测试时间较长,测试人员不集中;
备注:
(1)集成测试(it)和系统测试(st) 合并成(sit测试)
(2)sit测试(系统集成测试)【 技术测试】 ;uat测试(验收测试)
(3)sit环境 (sit1环境,sit2环境,sit3环境);uat环境(专门用来验收环境)
(4)环境:
a.线上环境(也叫生成环境)
b.测试环境:测试人员使用
c、开发环境:开发人员使用
H模型
测试线: (1)需求澄清会议(产品经理会组织需求会议)(2)拿到需求,深入分析和了解需求文档(3)测试经理编写测试计划 (重点)测试计划:(内容:测试目的,背景,范围,测试准入,测试准出,环境和资源,测试任务和测试进度,风险及风险管理,测试交付文档)准入:开发:需求分析报告,需求规格说明书,概要设计说明书,详细设计说明书,版本说明书及开发自测报告;测试:写好测试计划,测试用例评审通过,测试环境搭建好准出:a.用例100%执行b.0bugc.输出测试报告(4)安排任务,测试分析需求,编写用例(5)评审用例(测试人员:组内评审(项目评审人员:开发,测试,产品都参加),交叉评审(测试人员之间评审:测试a、测试b、测试c))(6)用例评审通过以后导入到用例管理工具中;如:禅道.testlink(7) 搭建测试环境(运维搭建,自己搭建,测试经理搭建)(8)开发提交代码包,提测(也叫转测) 要达到准入要求;(9)测试将代码包部署到环境,(10)进行冒烟测试,冒烟测试通过,进入sit系统集成测试,如果,冒烟测试不通过,就把版本打回给开发,开发修改,在提测。冒烟测试(也叫版本验证测试)定义:指对新版本的主要功能,基本功能进行测试。如果通过,那么冒烟测试通过,如果冒烟测试失败,那么就把版本打回给开发进行修改,直到冒烟测试通过(11)sit系统集成测试(一般一个项目有3次系统集成测试,有些项目周期长也有4次,5次)(12)第一次sit测试也叫全量测试(把前面写的所有用例都要进行测试),测试出来的bug,指派给开发(通过bug工具如:禅道),测试小结可写可写)
(13)开发修改bug,在提交代码(14)测试在第二次部署项目包,在进行第二次sit测试前也要进行冒烟测试,冒烟测试通过以后才能进行第二次sit测试;第二sit测试和第三sit测试都叫做回归测试回归测试:是系统维护阶段进行的验证测试区别:测试阶段不同冒烟测试是版本提交时第一个测试,回归测试是在维护阶段测试 (14)第二次sit测试,在将bug提交给开发,开发修改, (15)第三sit测试,先冒烟测试,在去测试,验证。。。。。。以此类推, 备注:测试用例的来源:a、冒烟测试用例b、验证上一个版本提交bug的用例c、测试与bug有关联的模块用例d、你认为可疑的测试场景和测试用例e、测试补充的测试用例和测试场景(16)直到达到准出:用例100%执行,0bug,(17)输出测试报告=========================说明sit测试测完(表示技术测完)测试报告:内容:测试目的,测试范围,测试背景,测试实施日期,测试人员,bug 清单,用例清单,测试结果,(18)sit测完通知 uat 测试,uat验收通过,(19)封板(封装版本)(20)等待上线(21)上线前准备线上数据(22)上线后在线上测试,(23)测试没有bug,如有bug就要分析bug,bug影响程度,影响大,就回退版本,如果影响小就备注下次版本修改(24)上线成功
主流程:
产品开需求会议测试和开发拿到需求了解、分析需求=编写测试计划(测试经理)测试编写测试用例=评审用例,评审通过将用例导入用例管理工具=搭建环境开发提测,达到准入要求部署项目包到环境中=开始冒烟测试sit1系统集成测试有bug提交给开发开发修改好提交第二次代码包=部署项目包到环境中在冒烟测试sit2测试=以此类推直到达到准出要求0bug,用例100%执行输出测试报告通知uat测试=uat验收通过封装版本=等待上线=准备线上数据=上线==线上测试=测试无bug表示上线成功。
根据讲解的H模型:梳理(重点记)
产品拿出需求规格说明书(srs);召开需求会议,分析需求,熟悉需求;测试负责人拿到需求开始编写测试计划;安排测试任务,各自编写测试用例;编写完用例后在对用例进行评审(有组内评审,有交叉评审);评审通过以后,导入到用例管理工具中;在搭建好环境(运维或测试人员);开发开发完也要进行提测(达到准入);测试将代码包部署到环境中;在进行冒烟测试,冒烟测试通过(如果冒烟失败,就打回版本),就进行sit1系统集成测试,将所有测试用例都执行一遍;有bug提交给开发,开发修改,再提交代码包;进行第二次sit系统集成测试,也要冒烟测试,冒烟测试以后就开始进行sit2系统集成测试,测试中发现的bug,提交给开发,开发修改,再提交第三次代码包,进行第三sit系统集成,以此类推,直到测试用例100%执行,0bug(达到测试准出),输出测试报告;通知uat验收,验收通过;封装版本,打包,准备线上数据,上线,线上测试,线上测试通过,上线成功。(如果线上有bug根据影响程度判断:影响大就回退版本,如果影响小,备注好下一个版本解决)
作业:
1、谈谈你对测试理解?
2、测试从哪些角度考虑?
3、公司中包含哪些人员?
4、讲下bs架构,cs架构的区别?
5、讲下H 模型?(脱稿讲解出来)
6、v模型包含那几个阶段?
7、测试计划包含哪些内容?
8、测试报告包含哪些内容?
9、讲几个dos命令?
10、为什么要进行测试?
11、验收测试有哪几种?他们的区别是什么?
12、什么是冒烟测试?
13、sit系统集成测试 用例来源哪里?
14、线上有bug如何处理?
15、如何测试一支笔?
16、准入具备哪些条件
17、准出具备哪些哪些条件?
18、测试环境有哪几种?
19、测试的工作主要做什么?
20、谈谈你的收获?
标签:需求,sit,用例,开发,测试,10.15,bug From: https://www.cnblogs.com/huhao20001007/p/18467962