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的优点:手机携带方便,操作简单,上传下载相对较快,安全性高
缺点:需要安装,升级,更新,维护,服务性相对来说难维护
单机软件:一般指的是不收费的软件,不需要联网的软件
共享软件:一般功能是不收费,但是部分功能是收费 如:wps
开源软件:公开的软件,一般不收费的软件,代码是开放的
商业软件:都是收费,把软件当做一个商品交易
*
用例
人员架构: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)你们技术团队有些人?项目经理,产品经理,开发经理,开发,测试经理,测试、运维等
4、软件生命周期包括哪些阶段?
(1)问题引入或定义
(2)可行性分析(涉及经济,政治,法律,技术)
(3)项目招投标
(4)项目立项
(5)需求分析
(6)开发阶段(设计,编码,测试)
(7)维护
alpha测试(α) 和 bete测试(β)
- α测试是内部验收测试
- β测试是客户方测试
需求(简称:srs) 产品输出
全称:软件需求规格说明书
1、用户需求
类型:一个文档;
内容:对整个项目的设计、框架、功能、模块的描述
2、概要设计 (开发输出)
简称:(HLD)
类型:文档
内容:架构的初步设计文档,使用说明什么类型数据库,架构的描述,设计,模块的名称
(可理解为:盖房子的大概设计,基本框架结构)
3、详细设计
简称(LLD)
类型:也是一个文档
内容:针对功能具体的实现,模块的具体实现,具体设计,架构的具体描述,
(可理解为:房子的具体的装饰设计)
v模型的四个阶段:
(1)单元测试
单元测试:
是指验证软件单元是否满足详细设计文档的规格,能正确的执行,主要是对代码的测试.
单元测试也是最小的测试单位;
在工作中单元测试一般情况是开发自测,如果需要测试进行单元测试,对测试的技术要求非常高,必须要懂开发语言;
理解:单元测试,课本上有10个单元一本书(一单元测试)
(2)集成测试
集成测试是指多个单元组合验证软件是否满足概要设计文档的规格,能正常执行,主要是模块与模块之间的数据交互。
理解:课本上有10个单元(有2个单元或2个单元模块以上测试,比如期中考试1-6单元)
(3)系统测试
系统测试是指把软件进行正常运行,对整个软件系统进行测试,验证这个系统能正常的运行,主要是测试一个整体业务的流程。
理解:课本上有10个单元(测试1-10 单元综合测试)
(4)验收测试
验收测试是指:站在用户角度去对软件进行测试,验证系统满足用户需求;
验收测试测试分为两种:alpha测试(α) 和 bete测试(β)
α测试是内部验收测试
β测试是客户方测试
α测试和β测试区别:
1、α测试测试地点:是在自己公司 ;β测试一般在客户方
2、α测试都是内部人员进行测试,开发在现场及时发现问题,及时解决;
β测试是在客户方的员工测试,发现问题在反馈给开发在解决
3、α测试测试时间短,技术人员比较集中;
β测试测试时间较长,测试人员不集中;
============================
备注:
(1)集成测试(it)和系统测试(st) 合并成(sit测试)
(2)sit测试(系统集成测试), 技术测试 ;uat测试(验收测试)
(3)sit环境 (sit1环境,sit2环境,sit3环境);uat环境(专门用来验收环境)
(4)环境:
a.线上环境(也叫生成环境)
b.测试环境:测试人员使用
c、开发环境:开发人员使用
单元测试,集成测试,系统测试 ,验收测试(α测试和β测试)
H模型
档案管理 :上传,下载、分享、我的
重点
1、测试计划包含哪些内容? 2、测试报告包含内容?
试计划:(内容:测试目的,背景,范围,测试准入,测试准出,环境和资源,测试任务和测试进度,风险及风险管理,测试交付文档)
测试报告:
内容:测试目的,测试范围,测试背景,测试实施日期,测试人员,bug 清单,用例清单,测试结果,
备注:第二次sit测试和第三次sit测试用例的来源:
a、冒烟测试用例
b、验证上一个版本提交bug的用例
c、测试与bug有关联的模块用例
d、你认为可疑的测试场景和测试用例
e、测试补充的测试用例和测试场景
测试线: (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根据影响程度判断:影响大就回退版本,如果影响小,备注好下一个版本解决)
*
*
*
*
*
产品召开需求会议(澄清需求)=开发和测试都拿到需求测试经理开始编写测试计划=安排测试任务=测试人员开始分析需求,编写测试用例=评审用例(组内评审,交叉评审)评审通过,导入用例管理工具(禅道)搭建环境(运维、测试经理,自己)=开发写好代码,提测将代码包部署到测试环境中冒烟测试sit1测试(全量测试用例)=测试用bug提交给开发,开发修改=开发进行提交代码,将代码部署到环境中冒烟测试通过进行sit第二轮测试(回归测试)有bug又试用bug提交给开发,开发修改=开发进行提交第三次以此类推,直到用例100%执行,0bug输出测试报告=通知uat验收测试=验收通过=封装版本等待上线=准备线上数据=线上测试冒烟bug===上线(如果线上有问题:分析影响小,下一个版本解决,影响大,就回退版本)
=============================================== =============================================== =============================================== =============================================== =============================================== =============================================== =============================================== =============================================== =============================================== =============================================== =============================================== ===============================================
根据讲解的H模型:梳理(重点记)
产品拿出需求规格说明书(srs);召开需求会议,分析需求,熟悉需求;测试负责人拿到需求开始编写测试计划;安排测试任务,各自编写测试用例;编写完用例后在对用例进行评审(有组内评审,有交叉评审);评审通过以后,导入到用例管理工具中;在搭建好环境(运维或测试人员);开发开发完也要进行提测(达到准入);测试将代码包部署到环境中;在进行冒烟测试,冒烟测试通过(如果冒烟失败,就打回版本),就进行sit1系统集成测试,将所有测试用例都执行一遍;有bug提交给开发,开发修改,再提交代码包;进行第二次sit系统集成测试,也要冒烟测试,冒烟测试以后就开始进行sit2系统集成测试,测试中发现的bug,提交给开发,开发修改,再提交第三次代码包,进行第三sit系统集成,以此类推,直到测试用例100%执行,0bug(达到测试准出),输出测试报告;通知uat验收,验收通过;封装版本,打包,准备线上数据,上线,线上测试,线上测试通过,上线成功。(如果线上有bug根据影响程度判断:影响大就回退版本,如果影响小,备注好下一个版本解决)
===============================================
自动化部署H模型:(拓展)jenkins自动化部署工程,是自动化部署环境
产品拿出需求规格说明书(srs);召开需求会议,分析需求,熟悉需求;测试负责人拿到需求开始编写测试计划;安排测试任务,各自编写测试用例;编写完用例后在对用例进行评审(有组内评审,有交叉评审);评审通过以后,导入到用例管理工具中;在搭建好环境(运维或测试人员);开发开发完也要进行提测(达到准入);搭建自动部署环境平台;通过jenkins去构建对应的工程;将代码包部署到环境中,在进行冒烟测试,冒烟测试通过(如果冒烟失败,就打回版本),就进行sit1系统集成测试,将所有测试用例都执行一遍;有bug提交给开发,开发修改,开发体提交代码包,合并分支;通过jenkins去构建对应的工程拉取最新的代码,进行第二次sit系统集成测试,也要冒烟测试,冒烟测试以后就开始进行sit2系统集成测试,测试中发现的bug,提交给开发,开发修改,通过jenkins去构建对应的工程拉取最新的代码,进行第三sit系统集成,以此类推,直到测试用例100%执行,0bug(达到测试准出),输出测试报告;通知uat验收,验收通过;封装版本,打包,准备线上数据,上线,线上测试,线上测试通过,上线成功。(如果线上有bug根据影响程度判断:影响大就回退版本,如果影响小,备注好下一个版本解决)
================================================
面试题:(回答H 模型)
1、你上一家公司工作的流程?
2、给你一个需求,你会怎么做?
3、说说你在公司中如何开展测试工作?
4、你们公司测试流程