软件测试之基础篇

测试的重要性:
在上一个公司的时候,公司是没有测试这个岗位的,而我当时也认为测试这个岗位要不要都行,因为一般自己写的代码都会自己测过,会觉得没有问题。
但事实上是,自己写的代码都是按照自己的逻辑思维去测试,很多情况下都觉得测的没问题,就导致了线上频繁出现bug,因为用户的操作是各种各样的,自己一个人是可能考虑不全的。
在线上出bug是比较严重的,还可能连带同事加班改bug,甚至造成不可逆的数据。
种种问题的出现,公司在后来也是招了一个测试,极大的降低的线上出现bug的概率。因为在测试环境 测试人员就测出很多bug然后由开发人员修改完。

一,开发流程

技术部门,一个完整的技术团队都哪些角色:

产品经理:接收各方(运营,销售等)的需求,整理需求,开需求评审会,分配需求给后端,前端,测试等。需求上线后验收
后端开发:后端的开发,处理数据库。对接所有前端(前端,IOS,安卓)
前端开发:PC网页开发,wap嵌入开发(就是在IOS和安卓直接嵌入网页)
IOS:苹果app开发
安卓:安卓app开发
软件测试:等程序员开发完,或者快开发完,可以测试时,就测试需求。测得没问题就上线。上线后在线上测试,线上测试没问题,这个需求就算完成了
运维:部署项目,监控好项目,服务器性能,防止被攻击,爬虫;服务器续费
UI,网页设计:设计图片提供给网站用

一个需求的整个过程流程图:
在这里插入图片描述

二,计算机基础

1.会基本的电脑操作,普通软件的安装,卸载,任务管理器
2.必须会使用浏览器(一般是谷歌浏览器),因为浏览器是日常使用的一个软件,使用好浏览器可以少安装很多软件,利用好在线工具,在我看来浏览器是一个百宝箱

  • 浏览器F12调试
    打开调试面板:在浏览器按F12 或 在浏览器页面空白处右键 检查
    在这里插入图片描述
    测试人员一般就关注两个:网络和控制台
    1.网络:当前端发起一个请求,就能在网络里看到

    请求里面重要的是:标头,载荷,预览和响应(这两个是一样的)
    标头:第一看请求地址,请求方式,状态码;
    为什么要看请求地址?因为一般是区分环境的:正式环境,测试环境,本地环境,看地址可以知道调用的是哪个环境的地址,以免误判。
    请求方式:测试人员了解下就行
    状态码:需要知道常用的状态码:200(请求正常),404(地址错误,找不到),400,500,503等等服务器错误
    在这里插入图片描述
    荷载:请求的参数,如果有经验和有了解业务的回去看请求的参数对不对,从而分析bug的原因
    在这里插入图片描述
    预览和响应:当这个请求被服务器接收,且正常返回,在预览和响应中会有数据。
    在排除404的情况下,响应可以看返回的数据正不正常,有没有报错
    在这里插入图片描述
    这里只是大概的介绍,更多要实际的操作,才能深入体会。

2.控制台
当前端的代码报错了,会在控制台打印信息

那会调试面板会给测试带来什么帮助呢?
当在测试出现报错的时候,可以打开调试面板分析错误的原因
第一,错误是前端的还是后端的,
前端报错:不发送请求,控制台有报错信息
后端报错:已经发送请求,返回了报错信息
第二,看接口传参和返回的数据对不对

  • 浏览器无痕浏览
    测试如何利用无痕浏览,在什么情况下使用呢?

  • 安装浏览器插件
    插件是软件额外添加的功能,并不会影响工作

3.网络基础:网站,IP,域名,局域网,公网

三,软件知识基础

1.知道什么是前端,后端,后台
前端:一般包括(PC端,IOS,安卓),发请求到后端获取数据
后端:处理前端发起的HTTP等请求,返回数据
后台:一般也叫管理后台,是给工作人员管理公司,业务的网站
后台要知道的权限关系:角色,权限
角色:权限的集合,如管理员,客服,开发,测试这些都是角色
权限:是否有打开某个页面的权限,是否有操作某项数据的权限
后台用户和角色和权限的关系:一个用户可以有多个角色,一个角色可以有多个权限,都是可以灵活配置的

2.知道什么是服务器
公司的软件项目都是要部署到服务器的,包括前端项目(网页)和后端项目。部署到服务器才有公网,全国用户才可以访问。

3.为什么IOS和安卓不需要部署到服务器呢?
因为软件包是一个静态包,是需要上传到各种手机应用商城(华为商城,小米应用商城等等),上传到商城是要审核的。用户从商城下载到软件包,安装好使用。

4.app嵌入网页
网页是可以实时改变的,在浏览器就可以直接访问。比如某个网站更新了一些功能,用户只需要刷新下浏览器,就能直接看到并且使用这个功能,因为网页的代码是部署在服务器的,实时可以请求的。所以网页是可以实时改动的。
那app呢?app是已经写好的一个静态包,所有软件的布局都固定好了,如果app要上线新功能,是要重新打包上传到各个应用商城的。这也是为什么app都有版本号,就是为了记录,因为每个包的功能可能有些不同。
可能这时你也会想到,app每次上线都要上传到商城,还要审核,用户可能还要更新软件包,不是很麻烦?对用户也不友好。所以就会有在app端嵌入网页,那么嵌入网页的页面我们可以叫wap。所以这种频繁变动的,不确定性的都可以用网页来做。像微信,支付宝等等都少不了

四,应用技能

1.mysql
测试人员一般不需要mysql很厉害,但是要知道怎么用,会普通的查询便于测试

例如1:我要测某个功能,一个用户肯定是不够的,要多拿几个用户试试,那么就可以自己写看数据库,看账号密码,然后自己登录
如随机查询几个用户  select * from user order by rand() limit 5

例如2:现在要测试一个抽奖的功能,但是每个用户默认只给一个抽奖机会,那么我先给这个账号多几次抽奖机会便于测试(不用老是换账号),那么就问后端是哪个表,那个字段是抽奖次数,那么就可以自己来修改了(当然,像这种是可以直接叫后端开发改的,如果涉及数据表或字段多,不建议自己改,因为数据改乱了,导致测试没有找到错误原因反而自己背锅)

2.Jmeter
这是一个测试并发的工具,那么就要知道什么是并发了,这里涉及的知识会比较多。一般出现并发的情况不多,但是要成为一个中高级测试,是要懂这些东西的。

五,常用术语

1.写死的和动态的
写死的:代码里直接写死固定不变
动态的:是可以动态配置或在数据库里这种是可以动态改动的

六,业务

七,实操和解决问题

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值