测试基础
一、什么是软件测试?需求:来源于客户,项目里对接需求对接客户的是产品经理。
UI设计工程师:画图(高保真图/原型图/效果图)
可靠性测试:在规定的时间完成规定的事情,比如电梯-在2分钟内完成升降。
可用性测试:产品可以使用--电梯超过2分钟完成升降
可靠性包含可用,还是可用包含可靠?
可靠包含可用。
兼容性:Android 4.X 5.X6.X ....12.X iOSios6ios7...ios15塞班windows phone 黑莓
以用性测试:用户可以非常容易的使用(比如微信的支付功能放在设置里;抖音不需要登录就可以使用)
压力测试:属于性能测试当中的类型。比如电梯的最大承受能力为2000KG,施加重量,加到2100KG,2200,看能否承受。临界值: 2000 压力测试可以理解为突破临界值
负载测试:临界值为2000 逼近临界值,看能持续运行多久。比如负重跑步
二、【IT常见基本术语】
pc机:个人电脑
物理机:比如像大型的实验室,可以当作服务器来使用(物理机是相对于虚拟机而言的实体计算机的称呼)。
便携机:中兴通讯(基建和工程作业使用),本质还是一台计算机
os(operating system):操作系统
pc端的操作系统:window10 window7 window8 window xp mac os:苹果电脑的操作系统(类unix系统) Linux系统
手机端的操作系统:Android 4.X 5.X6.X ....12.X iOSios6ios7...ios15 塞班 、windows phone、 黑莓
dos命令:打开dos窗口,按win+r 键→输入cmd进入dos命令窗口。输入 d: 可以进入到d 盘,输入ipconfig查看IP地址,输入dir显示 当前目录下面所有的目录。
共享:SVN
备份:U盘
文件:用来编写信息进行呈现
文件夹:文件夹用来存放文件或者文件夹的,文件夹也称为目录
路径:相对路径和绝对路径。
相对路径:比喻和熟悉的人说话(相邻的)
绝对路径:比喻和陌生人说话。
单机软件:指只能在一台电脑上使用,开发过程都由一个人完成;比如CS
共享软件:有道云、SVN、git等
项目与项目需求
客户与客户需求
项目需求就是在客户提的需求的基础上进行提炼出来的。
项目组当中的角色:
项目经理 简称:PM(project manager)掌控项目组的所有进度(管理项目组所有成员),进度包括开发进度和测试进度等等。
产品经理:对接客户、对接需求的
开发经理:管理开发人员
开发人员:写代码
测试经理:简称 TPM,管理测试人员
测试组长:简称 TL
测试人员:简称 TE (test enginer)软件测试工程师
运维人员:维护公司的开发和测试环境,项目的发布和部署
ui设计工程师:画图
DBA:数据库管理员
测试用例:测试人员根据需求文档先梳理测试点,再根据测试点编写测试用例,最后测试人员再执行测试用例。
三、IT行业的2大架构:
1、客户机与服务器(可以说成是手机移动端)
client-server简称叫做C/S架构
优点:手机携带非常方便,安全性相对较高,上传下载网速相对较快。
缺点:功能没有电脑全面、下载app需要耗流量(需要更新和维护),占内存
目前有哪些应用:抖音、知乎、快手
2、浏览器与服务器
browser-server 简称B/S架构
优点:资源多、容易维护(新功能上线只需要刷新网页即可)
缺点:安全性相对较差,上传下载网速相对较慢。
目前有哪些应用:腾讯视频、百度贴吧
四、【V模型】
用户需求:根据用户需求进行提炼变为项目需求
需求分析:
召开需求澄清会议:对需求进行分析
需求澄清会议:由产品经理进行讲解
对需求进行分析和讨论,所有的项目组同事都达成一致的意见并且形成一个基线化文档。
基线化文档:表示当前状态已经非常稳定,可以随时进入下一个阶段。
需求文档基线化文档称为《需求规格说明书》(SRS)。
概要设计:开发编写,简称 HLD,就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。
详细设计:开发编写简称 LLD,就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的,结构化的过程描述。
单元测试:unit test由开发人员自测,又被称为白盒测试(透明盒子的测试),对程序的内部数据,内部结构和内部逻辑进行测试。
集成测试:又称为接口测试(灰盒测试),比如QQ由5个模块组成,给到不同的开发小组去实现,5个模块是通过接口进行集成/连接的。
系统测试:除了保证自身系统功能正常使用,可能还要考虑与第三方软件的结合/对接。
系统测试和集成测试放在一起进行测试,称为系统集成测试(SIT测试)也叫做功能测试,就是功能和接口测试一起测。
验收测试:
α(阿尔法)测试:模拟用户的使用行为去操作应用程序或者产品,是有测试人员和开发人员在现场,如果发现了bug直接让开发 人员进行修复。---此时产品还没有交付到客户的手中。
β(贝塔)测试:产品已经交付到客户手中,直接由客户去进行验收,如果发现问题(bug),客户会把bug提单发邮件的方式抄送 给项目组所有成员。
对v模型进行一个总结:
你做过的项目当中有哪些项目阶段?并且每个阶段的输入与输出有哪些?
总共7个阶段
阶段 输入 输出
需求分析 对需求进行分析 需求文档/需求规格说明书(SRS)
概要设计 需求规格说明书 概要设计说明书(HLD)
详细设计 概要设计说明书 详细设计说明书(LLD)
编码 编写代码 整个项目的代码包(.war 和 .jar)
单元测试 根据代码进行单元测试 单元测试报告
系统集成测试 根据测试用例进行测试 系统集成测试报告
验收测试 用户参与验收测试/产品经理验收 验收测试报告
五、【H模型】:主要体现整个项目的流程
1、项目和版本的区别:比如微信项目运营10年,可能3个月一个版本,一个项目有多个版本。
2、项目和产品的区别:先有项目然后才有产品。比如一个电商平台项目==》1个月。
3、工作日:周一到周五 自然日:周一到周天(循环)
4、步骤:拿到需求文档之后通过多次的修改,让项目组所有同事都一致认可后,形成一个基线文档,就叫做需求规格说明书(SRS)
基线化:表示当前的状态很稳定,随时可以进入下一个阶段。
HLD:编写概要设计说明书
LLD:详细设计说明书
review:评审,测试人员也参与过需求澄清会议,所以可以评审HLD
TPM:测试经理编写测试计划(规定测试的范围,人力的安排,软件和硬件的资源,测试进度,风险评估等等)
TE:软件测试工程师
TC:test case==>测试用例或者测试案例
5、问题:项目组当中常见的评审有哪些?【用例评审,谁写的谁主讲】
交叉评审:测试组内的测试同事之间进行交换用例评审
组内评审:项目组的相关同事,比如开发、测试、产品经理等等
会议评审:正式评审,有客户参与。
6、testlink:是一款用例管理工具。
7、TPM或测试骨干或者运维人员去搭建测试环境。
8、公司里面会有哪些环境?
开发环境:开发人员使用的环境,编写代码的环境
测试环境:测试人员使用的环境,用于进行测试工作
预发布环境:即将上线的一个环境,用来验收测试
生产环境:线上环境/真实环境,有真实用户使用的环境。(比如大家在软件商城下载的软件,这些都是属于生产环境)
9、测试环境搭建好之后,开发负责人会将开发的代码打包成war包,交给TPM或者运维人员进行部署到测试环境。
部署成功之后启动服务器,就可以通过浏览器去访问到网页。项目一般都会部署在Linux服务器上面。
10、冒烟测试:冒烟测试在sit系统集成测试用例中选取20-30条用例进行测试。对主体功能进行测试,最早源于硬件行业的电路板测试
(1) QQ登录功能的主体功能是什么? QQ登录成功
(2)找回密码的主体功能是什么? 成功找回密码
(3)QQ注册功能的主体功能? 注册新的QQ账号
冒烟测试通过则执行sit测试(系统集成测试)
冒烟测试不通过,则把版本打回,开发人员重新修改代码,修改完之后重新打包→部署→测试。
11、sit1:称为系统集成测试,又称为全量测试,需要将所有测试用例都执行一遍,比如写了1000条都要执行完。
12、sit2:称为回归测试,又称为增量测试(测试用例数量上面的增加),比如增加了50条用例。回归测试还需要测试上一轮发现的bug ,如果已修复则关闭,没有修复就激活bug。
13、回归测试包括哪些测试内容?
(1)、测试上一轮发现的bug
(2)、测试新增加的用例
(3)、每一轮系统集成测试之前都要进行冒烟测试
(4)、测试与上一轮发现bug的相关联模块
14、上线硬性标准,准出的标准有哪些?
1、bug为0
2、可以允许有一两个建议性/易用性bug存在(不影响主体功能)。在当前版本发现的易用性bug需要记录,拿到下一个版本解决
15、一个版本迭代中有20个需求点:比如微信就是用迭代开发模型:聊天、发语音、发视频、发朋友圈、小程序、发红包、视频号等
16、总结 H 模型:
(1)、首先产品经理召开并主讲需求澄清会议,对需求进行多次评审,得到项目组所有成员的一致认可,得到《需求规格说明书》
(2)、开发编写概要设计说明书,测试评审概要设计说明书,继续了解需求规格说明书。
(3)、开发编写详细设计说明书,测试评审详细说明书,深入了解需求规格说明书。测试经理编写测试计划。
(4)、开发写代码,测试编写测试用例,用例进行多次评审,形成基线文档,测试经理将基线文档导入到用例管理工具里面,并且 分配给写该测试用例的测试人员。
(5)、测试经理或测试骨干或运维人员搭建环境
(6)、测试环境搭建完成,开发负责人将代码打包成war包给到测试经理,部署到linux测试环境中,启动服务器,便可以进行测试了。
(7)、首先进行冒烟测试,对主体功能进行测试,测试不通过则该版本打回,开发修改代码,然后部署,再给到测试
(8)、冒烟测试通过就进入系统集成测试,将所有用例执行一遍,发现bug提交给开发,开发修复,然后测试进行回归测试,每一 次回归测试都先要进行冒烟测试,成功了再进行回归测试,直到达到测试准出
(9)、最后编写测试报告。
页:
[1]