测试的重要性: 在上一个公司的时候,公司是没有测试这个岗位的,而我当时也认为测试这个岗位要不要都行,因为一般自己写的代码都会自己测过,会觉得没有问题。 但事实上是,自己写的代码都是按照自己的逻辑思维去测试,很多情况下都觉得测的没问题,就导致了线上频繁出现bug,因为用户的操作是各种各样的,自己一个人是可能考虑不全的。 在线上出bug是比较严重的,还可能连带同事加班改bug,甚至造成不可逆的数据。 种种问题的出现,公司在后来也是招了一个测试,极大的降低的线上出现bug的概率。因为在测试环境 测试人员就测出很多bug然后由开发人员修改完。
一,开发流程
技术部门,一个完整的技术团队都哪些角色:
产品经理:接收各方(运营,销售等)的需求,整理需求,开需求评审会,分配需求给后端,前端,测试等。需求上线后验收 后端开发:后端的开发,处理数据库。对接所有前端(前端,IOS,安卓) 前端开发:PC网页开发,wap嵌入开发(就是在IOS和安卓直接嵌入网页) IOS:苹果app开发 安卓:安卓app开发 软件测试:等程序员开发完,或者快开发完,可以测试时,就测试需求。测得没问题就上线。上线后在线上测试,线上测试没问题,这个需求就算完成了 运维:部署项目,监控好项目,服务器性能,防止被攻击,爬虫;服务器续费 UI,网页设计:设计图片提供给网站用
一个需求的整个过程流程图:
二,计算机基础
1.会基本的电脑操作,普通软件的安装,卸载,任务管理器 2.必须会使用浏览器(一般是谷歌浏览器),会安装插件,F12,无痕浏览 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.写死的和动态的 写死的:代码里直接写死固定不变 动态的:是可以动态配置或在数据库里这种是可以动态改动的
六,业务
七,实操和解决问题
|