软件测试笔记

(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)易用性测试

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

比如:遥控,品牌,文字表示,说明书,中英翻译,字体调大调小,切换颜色,切换分辨率

计算机的硬件是计算机的各种设备的总称,硬件分为五个部分:

(1)运行器(cpu)

(2)控制器(主板)

(3)存储器(硬盘) 机械硬盘和固态硬盘

(4)输入设备 (键盘,鼠标)

(5)输出设备(显示器,音响)

2、软件 :当电脑启动时的应用程序,应用软件(腾讯,qq,有道云,有道翻译)

硬件和软件,相互依存,无严格界限,协同发展

3、pc机:指的是个人电脑(超级计算机,小型机,大型机,工作站)

4、物理机:物理机是相对虚拟机而言的实体计算机的称呼,物理机提供给虚拟机以硬件环境,优势也称为‘寄主’或‘’宿主‘’。

一台物理机可以建立:多台虚拟机

5、便携机:就是我们的笔记本电脑

6、os:操作系统

windows 系统(11、10、8、7、x),macos系统,linux系统(我们系统),安卓系统,ios系统,塞班系统、鸿蒙系统等

7、dos命令:

打开方式一:win+r 在运行输入框中:cmd 敲回车

4

dos命令:(1)ipconfig

5

ipconfig -all 差栏目所有配置mac地址(也叫物理地址)

6

  1. 切换盘符 例如:d:

7

  1. dir查看目录下所有的文件

8

  1. 进入指定的目录

9

  1. md 创建目录及文件夹

11

12

  1. rd 删除目录

13

  1. cls 清屏

14

  1. 查看网络连接状态ping

15

  1. del 删除文件

16

  1. copy 复制

17

创建文档cd> 新建文件名

18

运行命令:

19

共享:共享资源,共享数据,共享信息 (分享)

备份:在拷贝一份,备份系统,备份数据(复制)

还原:使用备份好的数据还原;(恢复数据)

21

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等)

测试经理:(测试主管,测试组长)

职责:管理测试人员,安排测试任务

测试人员:我们学习去应聘的岗位(测试工程师,软件测试工程师)

只要任务:编写测试用例,执行用例

22

测试用例:用例标题,用例标号,前置条件,用例步骤,预期结果,优先级

运维职责:负责公司环境, 维护环境

软件测试知识:

1、为什么要测试?

(1)代码是人写的,难免会出错

(2)软件本身就会存在问题,非正常运行也会问题

(3)环境会影响软件出现问题

(4)软件测试活动是保证软件测试质量之一

2、测试的定义什么?(重点)

制造业定义:以检验产品是否满足需求为目标

软件行业定义:

a、验证软件的正确性

b、发现软件中的缺陷(找bug)

3、软件生命周期?

指的是软件从产生到报废的整个过程,是一种时间的概念。

4、软件生命周期包括哪些阶段?

(1)问题引入或定义

(2)可行性分析(涉及经济,政治,法律,技术)

(3)项目招投标

(4)项目立项

(5)需求分析

(6)开发阶段(设计,编码,测试)

(7)维护

测试的生命周期模型

• --V模型(重点讲解)

• --W模型

• --H模型 (重点讲解)

• --敏捷开发模型 (重点讲解)

• --迭代开发模型

• --增量开发模型

v模型的四个阶段:

1

需求(简称:srs) 产品输出

全称:软件需求规格说明书

1、用户需求

类型:一个文档;

内容:对整个项目的设计、框架、功能、模块的描述

2、概要设计 (开发输出)

简称:(HLD)

类型:文档

内容:架构的初步设计文档,使用说明什么类型数据库,架构的描述,设计,模块的名称

(可理解为:盖房子的大概设计,基本框架结构)

3、详细设计

简称(LLD)

类型:也是一个文档

内容:针对功能具体的实现,模块的具体实现,具体设计,架构的具体描述,

(可理解为:房子的具体的装饰设计)

v模型的四个阶段:

单元测试:是指验证软件单元是否满足详细设计文档的规格,能正确的执行,主要是对代码的测试.单元测试也是最小的测试单位;

在工作中单元测试一般情况是开发自测,如果需要测试进行单元测试,对测试的技术要求非常高,必须要懂开发语言;

理解:单元测试,课本上有10个单元一本书(一单元测试)

集成测试是指多个单元组合验证软件是否满足概要设计文档的规格,能正常执行,主要是模块与模块之间的数据交互。

理解:课本上有10个单元(有2个单元或2个单元模块以上测试,比如期中考试1-6单元)

系统测试是指把软件进行正常运行,对整个软件系统进行测试,验证这个系统能正常的运行,主要是测试一个整体业务的流程。

理解:课本上有10个单元(测试1-10 单元综合测试)

验收测试是指:站在用户角度去对软件进行测试,验证系统满足用户需求;

验收测试测试分为两种:alpha测试(α) 和 bete测试(β)

α测试是内部验收测试

β测试是客户方测试

α测试和β测试区别:

1、α测试测试地点:是在自己公司 ;β测试一般在客户方

2、α测试都是内部人员进行测试,开发在现场及时发现问题,及时解决;

β测试是在客户方的员工测试,发现问题在反馈给开发在解决

3、α测试测试时间短,技术人员比较集中;

β测试测试时间较长,测试人员不集中;

备注:

(1)集成测试(it)和系统测试(st) 合并成(sit测试)

(2)sit测试(系统集成测试)【 技术测试】 ;uat测试(验收测试)

(3)sit环境 (sit1环境,sit2环境);uat环境(专门用来验收环境)

(4)环境:a.线上环境(也叫生成环境) b.测试环境:测试人员使用C.开发环境:开发人员使用

H模型

2

测试线:

(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次)

第一次sit测试也叫全量测试(把前面写的所有用例都要进行测试),测试出来的bug,指派给开发(通过bug工具如:禅道),测试小结

3

(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模型:梳理(重点记)

产品召开需求会议,澄清需求;测试开发拿到需求,开发就去开发项目,测试就开始了解,分析需求,测试经理编写测试计划;测试人员开始分析需求,编写测试用例,测试用例评审:评审分为两种(组内评审【开发、测试、产品】,交叉评审【测试人员】),评审通过就导入用例管理工具;分配给对应测试人员;运维搭建好测试环境;开发提测达到准入(开发要求:需求、开发自测报告)(测试要求:用例评审通过、环境搭建好),将代码包部署到环境中;冒烟测试(冒烟测试:是对主要功能和流程进行测试),冒烟测试通过以后就进行sit系统集成测试(如果冒烟失败,就将版本退回,开发修改在提交,直到冒烟通过);sit系统集成就全量测试(测试所有的用例),测出的bug就提高到bug管理工具上:比如禅道,指派给开发,开发修改bug,在提交代码包,测试将代码包部署到环境中,进行sit2系统集成测试(sit2和sit3 的用例来源:冒烟测试用例、上一个版本bug的用例、相关联模块的用例、你认为可疑的用例、补充测试用例),有bug提交给开发,开发修改bug,提交代码包,测试测试将代码包部署到环境中,进行sit3系统集成测试,先冒烟测试,冒烟测试通过,就测试用例,达到准出要求:用例100%执行,0bug,输出测试报告。通过uat验收测试,验收通过,封装版本,等待上线,准备线上数据,上线,线上测试,测试无bug,上线成功。(上线出去bug,根据bug的影响程度,影响大就回退版本,影响下就备注下一个版本解决)

测试计划:测试背景、测试目的、测试环境、测试范围、测试准入、测试准出、测试进度、测试人力、测试安排、测试风险、测试文档

测试报告:测试概述(测试时间、测试人力、测试bug数量)、测试背景、测试目的、测试范围、测试环境、测试实际人员、bug清单、用例清单

准入:测试 用例编写、用例评审通过、环境搭建好

准出:测试 用例100%执行、0bug 、输出测试报告

每次用例的来源:

第一次sit系统集成测试:全部用例

第二次sit系统集成测试或第三次:

冒烟测试用例、上一个版本bug的用例、相关联模块的用例、你认为可疑的用例、补充测试用例

自动化部署H模型:(拓展)jenkins自动化部署工程,是自动化部署环境

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

敏捷开发模型(重点)

敏捷开发模型是一个新型模型适应快速需求变化,交付周期比较短,轻量级的开发模式。

时间:一周,两周,一个月

产品拿到一个需求,开发一周,测试编写用例,第二周测试去测试,开发修改,修改好就上线

================================================

增量开发模型

项目被分为一系列的增量,每一个增量都交付整个项目需求中的一部分功能,需求按优先级进行划分增量的交付。

如:买家版,卖家版, 商家版, 先买家版,

================================================

迭代开发 模型(重点)

项目被分为大量的迭代过程,一次迭代就是一个完整的开发流程,也是一个可以发布的可执行的产品,输入软件开发周期中最终产品的一个子集。

如:拍拍,微信、qq

posted @   YCHYYDS  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示