软件测试第一课

一、测试面试题

1、你说淘宝购物车的测试点?

2、给你一只笔你会怎么测?

3、你讲下微信转账的测试点?

4、你讲下微信点赞的测试点?

5、给你个二微码你会怎么去测试?

6、给你水杯你会如何去测试?

7、你说下这个电梯的测试点?

8、你说下上传文件如何测试?

9、说下共享单车的测试点?

10、你说下空调的测试点?

二、测试思维角度

1、需求测试

2、界面测试(ui测试)

3、功能测试

4、兼容性测试

5、性能测试

6、安全测试

7、可靠性测试

8、可移植性测试

9、易用性测试

三、详解每个角度

(1)需求测试

需求:就是一个文档,制作商品的需求(全称:软件测试需求规格说明书,简称srs)

需求:出自产品,产品根据客户要实现的功能,将内容整理成文档,给到开发和测试,开发就根据需求编辑代码,测试根据需求写用例

测试需求:需求是否合理,需求有没有错别字,需求是否规范,需求是否是唯一,是否冗余

案例水杯:测试制作水杯的说明书

(2)界面测试

界面测试也是外观测试,也称为ui测试

测试界面:测试形状,颜色,大小,类型,布局、格式,风格,控件位置等

案例水杯:水杯的颜色,形状,大小等

(3)功能测试

功能测试定义:指对产品软件的各个功能进行验证,验证产品是否达到客户要求。

案例水杯:喝水、装水,制冷,保温等

(4)可靠性测试

定义:在规定条件下,可持续的寿命的最长时间。(通常使用各种设备模拟不同的场景,比如高温,低温的情况,加速反映产品在环境中使用的状态来验证)

案例水杯:装200oc度的水

(5)兼容性测试:

案例水杯:装水,装油,装醋等

软件兼容:操作系统:win10,win11,mocos、ios、andriod

浏览器:谷歌,uc、ie等

(6)易用性测试

定义:指是否方便使用,可以理解为:易学性,易操作性

案例水杯:logo,吸管、背带、被套、过滤网、隔热层等

软件易用性:中英翻译、字体调整大小,说明书、分辨率的修改、颜色切换等

(7)性能测试

a、压力测试(也叫破坏性测试)

定义:有一个临界点,突破临界点,查看系统运行状态

案例水杯:一个杯子能装5升水,直接导入6升,查看状态

b、负载测试

定义:有一个临界点,慢慢的接近临界点,查看系统运行状态

案例水杯:一个杯子能装5升水,倒入4升,4.5升,4.8升,5升查看状态

b、负载测试

(8)安全测试:

案例水杯:制作材料是否有毒,烫伤

软件安全:金额、用户信息、病毒,木马,加密、权限

(9)可移植性

定义:指对设计程序与硬件,软件之间的兼容性测试组合

软件是否录到指定的软件或硬件上运行,由于结构不一样,导致某一类型上的软件不能再另一个计算机上运行。

电脑配置: 16g 258 cpu 2.8 运行腾讯会议

电脑配置: 4g 258 cpu 2.0 无法运行腾讯会议

作业:

一、测试面试题

1、你说淘宝购物车的测试点?

2、给你一只笔你会怎么测?

3、你讲下微信转账的测试点?

4、你讲下微信点赞的测试点?

5、给你个二微码你会怎么去测试?

6、给你水杯你会如何去测试?

7、你说下这个电梯的测试点?

8、你说下上传文件如何测试?

9、说下共享单车的测试点?

10、你说下空调的测试点?

二、测试思维角度

1、需求测试

2、界面测试(ui测试)

3、功能测试

4、兼容性测试

5、性能测试

6、安全测试

7、可靠性测试

8、可移植性测试

9、易用性测试

三、详解每个角度

(1)需求测试

需求:就是一个文档,制作商品的需求(全称:软件测试需求规格说明书,简称srs)

需求:出自产品,产品根据客户要实现的功能,将内容整理成文档,给到开发和测试,开发就根据需求编辑代码,测试根据需求写用例

测试需求:需求是否合理,需求有没有错别字,需求是否规范,需求是否是唯一,是否冗余

案例水杯:测试制作水杯的说明书

(2)界面测试

界面测试也是外观测试,也称为ui测试

测试界面:测试形状,颜色,大小,类型,布局、格式,风格,控件位置等

案例水杯:水杯的颜色,形状,大小等

(3)功能测试

功能测试定义:指对产品软件的各个功能进行验证,验证产品是否达到客户要求。

案例水杯:喝水、装水,制冷,保温等

(4)可靠性测试

定义:在规定条件下,可持续的寿命的最长时间。(通常使用各种设备模拟不同的场景,比如高温,低温的情况,加速反映产品在环境中使用的状态来验证)

案例水杯:装200oc度的水

(5)兼容性测试:

案例水杯:装水,装油,装醋等

软件兼容:操作系统:win10,win11,mocos、ios、andriod

浏览器:谷歌,uc、ie等

(6)易用性测试

定义:指是否方便使用,可以理解为:易学性,易操作性

案例水杯:logo,吸管、背带、被套、过滤网、隔热层等

软件易用性:中英翻译、字体调整大小,说明书、分辨率的修改、颜色切换等

(7)性能测试

a、压力测试(也叫破坏性测试)

定义:有一个临界点,突破临界点,查看系统运行状态

案例水杯:一个杯子能装5升水,直接导入6升,查看状态

b、负载测试

定义:有一个临界点,慢慢的接近临界点,查看系统运行状态

案例水杯:一个杯子能装5升水,倒入4升,4.5升,4.8升,5升查看状态

b、负载测试

(8)安全测试:

案例水杯:制作材料是否有毒,烫伤

软件安全:金额、用户信息、病毒,木马,加密、权限

(9)可移植性

定义:指对设计程序与硬件,软件之间的兼容性测试组合

软件是否录到指定的软件或硬件上运行,由于结构不一样,导致某一类型上的软件不能再另一个计算机上运行。

电脑配置: 16g 258 cpu 2.8 运行腾讯会议

电脑配置: 4g 258 cpu 2.0 无法运行腾讯会议

5.bs架构和cs架构

bs :浏览器====服务器(web)

b:broeser 浏览器

s:server 服务器

bs的应用:百度、csdn、论坛、知乎

c:client 客户端

s:server服务端

cs的应用:抖音、qq、微信、美团、酷狗

区别:

(1)bs不要更新,直接网址访问

  cs  需要下载客户端,需要定期更新

(2)bs 对服务器性能要求稿,

 cs 客户端能分摊部分性能压力

(3)bs不会占用存储内存,

 cs会占用存储内存

优缺点:

bs 优点:无序安装、服务器好维护、信息量比较大、资料多

bs缺点:安全性不高、信息容易泄露,容易病毒

cs 优点: 手机携带方便、操作简单、上传下载相对较快,安全性高

cs缺点: 需求安装,升级,更新,维护,服务器相对来说难维护

5.bs架构和cs架构

bs :浏览器====服务器(web)

b:broeser 浏览器

s:server 服务器

bs的应用:百度、csdn、论坛、知乎

c:client 客户端

s:server服务端

cs的应用:抖音、qq、微信、美团、酷狗

区别:

(1)bs不要更新,直接网址访问

  cs  需要下载客户端,需要定期更新

(2)bs 对服务器性能要求稿,

 cs 客户端能分摊部分性能压力

(3)bs不会占用存储内存,

 cs会占用存储内存

优缺点:

bs 优点:无序安装、服务器好维护、信息量比较大、资料多

bs缺点:安全性不高、信息容易泄露,容易病毒

cs 优点: 手机携带方便、操作简单、上传下载相对较快,安全性高

cs缺点: 需求安装,升级,更新,维护,服务器相对来说难维护

面试题:

(1)你们公司的规模多大?我们项目组15-30左右;

(2)你们公司有几个测试? 小公司:3个左右,大型公司:50-100个,我们测试组:10个左右

(3)开发有多少人? 1:5或1:6 项目组中开发人员15人开发; 前端开发:后端开发(1:5或1:6)

开发20个(前端开发和后端开发) 测试5个

(4)你们公司有运维? 运维是做什么? 有 ,搭建环境,维护环境

(5)你们技术团队有些人?

项目经理,产品经理,开发经理,开发,测试经理,测试、运维等

4、软件的生命周期模型?

(1)瀑布模型(淘汰)

(2)v模型(重点)

(3)h模型(重点)

(4)敏捷开发模型

(5)w模型

(6)增量开发模型

(7)迭代开发模型

1、软件测试
测试定义:以检验产品是否满足需求为目标。
软件测试定义:a、验证软件的正确性 b、发现软件中的缺陷(bug)
2、为什么测试?
a、软件运行本身就会出问题
b、代码和文档师人写的,人难免会出错
c、环境会影响软件出现问题
d、软件测试活动是保证软件质量的活动之一
3、软件的生命周期:
a、指的师软件从产生到报废的整个流程
b、软件生命周期包含哪些阶段:
(1)客户引入问题或定义
(2)可行性(涉及经济,商业,技术)
(3)项目招投标
(4)项目立项
(5)需求分析
(6)开发阶段(开发,测试,上线)
(7)维护
4、软件的生命周期模型?
(1)瀑布模型(淘汰)

(2)v模型(重点)
(3)h模型(重点)
(4)敏捷开发模型
(5)w模型
(6)增量开发模型
(7)迭代开发模型

需求(简称: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、开发环境:开发人员使用

面试题:

1、v模型有哪几个阶段?

单元测试、集成测试、系统测试、验收测试

2、最小的测试单位?

单元测试

3、单元测试定义?

满足详细设计文档的规格和说明

4、验收测试有那两种?

α测试和β测试

5、α测试和β测试 区别?
a测试发现问题后能及时与开发人员沟通 b测试用户反馈问题渠道比较复杂 处理周期较长
6、sit测试是什么那两个阶段合成的?

集成测试和系统测试合成的

测试线:

(1)需求澄清会议(产品经理会组织需求会议)

(2)拿到需求,深入分析和了解需求文档

(3)测试经理编写测试计划 (重点)

测试计划:(内容:测试目的,背景,范围,测试准入,测试准出,环境和资源,测试任务和测试进度,风险及风险管理,测试交付文档)

准入:

开发:需求分析报告,需求规格说明书,概要设计说明书,详细设计说明书,版本说明书及开发自测报告;

测试:写好测试计划,测试用例通过,测试环境搭建好

准出:

a.用例100%执行

b.0bug

c.输出测试报告

(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根据影响程度判断:影响大就回退版本,如果影响小,备注好下一个版本解决)

测试报告:

内容:测试目的,测试范围,测试背景,测试实施日期,测试人员,bug 清单,用例清单,测试结果,

根据讲解的H模型:梳理(重点记)

产品拿出需求规格说明书(srs);召开需求会议,分析需求,熟悉需求;测试负责人拿到需求开始编写测试计划;安排测试任务,各自编写测试用例;编写完用例后在对用例进行评审(有组内评审,有交叉评审);评审通过以后,导入到用例管理工具中;在搭建好环境(运维或测试人员);开发开发完也要进行提测(达到准入);测试将代码包部署到环境中;在进行冒烟测试,冒烟测试通过(如果冒烟失败,就打回版本),就进行sit1系统集成测试,将所有测试用例都执行一遍;有bug提交给开发,开发修改,再提交代码包;进行第二次sit系统集成测试,也要冒烟测试,冒烟测试以后就开始进行sit2系统集成测试,测试中发现的bug,提交给开发,开发修改,再提交第三次代码包,进行第三sit系统集成,以此类推,直到测试用例100%执行,0bug(达到测试准出),输出测试报告;通知uat验收,验收通过;封装版本,打包,准备线上数据,上线,线上测试,线上测试通过,上线成功。(如果线上有bug根据影响程度判断:影响大就回退版本,如果影响小,备注好下一个版本解决)

posted @   王子豪123  阅读(8)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示