目录
基础知识
1、目标:可掌握的核心能力:
1.熟悉计算机相关概念;
2.掌握基础的测试理论;
3.熟练掌握HTML常用标签喝语法规范;
4.掌握使用CSS定义网页样式;
5.掌握js的基本用法;
一、计算机基础
1、计算机组成部分
计算机组成指的是系统结构的逻辑实现,包含机器内的数据流和控制流的组成及逻辑设计等。
主要分为五个部分:控制器、运算器、存储器、输入设备、输出设备。
1)分为两大类软件和硬件
①硬件(三大件,输入设备,输出设备)
三大件:CPU,内存、硬件、主盘
输入设备:鼠标,键盘,手写板,摄像头等
输出设备:显示器,打印机,投影仪等
1、 控制器(control):
是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。
2、运算器(datapath):
运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。
3、存储器(memory):分内存和外存
- 存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。
- 分为内存储器和外存储器,内存是主存储器,简称主存;外存是辅助存储器,简称辅存。
- 按读写功能分为只读存储器ROM和随机存储器RAM。
- 我们通过各种输入设备向计算机中输入的信息,都是暂时存放在内存的随机存储器中,只有经过存盘操作,信息才能由内存存放到外存中,所以当运行外存中的程序时,需要先调入内存才能运行,因此,内存的运行速度比外存快,但内存不能永久保存信息,断电后会丢失;
- 存储器是由许多存储单元组成的,每个存储单元都分配有一个编号叫地址,一般用十六进制表示存储单元的地址,每个存储单元的存储容量是一个字节(byte)
4、输入设备(input system):
输入设备是计算机的重要组成部分,输入设备与输出设备合称为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。
5、输出设备(output system):
输出设备与输入设备同样是计算机的重要组成部分,它把计算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。
另外:
cpu=控制器+运算器
运算器、控制器经常被集成在一个芯片上,合称中央处理器(Central Processing Unit)
主机=中央处理器(CPU)+内存储器外部设备=输入设备+输出设备+外存储器
主板=I/O总线,输入输出系统
存储器=内存+硬盘(外存)
I/O设备:键盘,鼠标,扫描仪,显示器等等鼠标,扫描仪数字化仪,读卡机,纸带等。
② 软件分为(应用软件和系统软件)
1、应用软件:除了操作系统软件外的,都是应用软件(浏览器,QQ,Word,APP等)
2、系统软件:
(1)桌面操作系统(PC端操作系统):Windows(用户量大),Linux(应用软件较少、it从业人员必须掌握的系统)、macosx(苹果电脑的默认系统)
(2)移动端系统:Android(安卓)、IOS(苹果)
(3)服务器端系统:Linux(开源、免费、稳定、用户量非常大)、Windows server(收费,用户量少)
2、操作系统分类
操作系统的分类有多种,主要包括桌面操作系统、手机操作系统、服务器操作系统、嵌入式操作系统等
- 桌面操作系统:这是最常见的操作系统类型,为用户提供图形用户界面(GUI),如Windows、MacOS和Linux等。
- 手机操作系统:专为移动设备设计,如Android和iOS
- 服务器操作系统:用于大型服务器,如Windows Service和Linux的各种发行版
- 嵌入式操作系统:运行在嵌入式系统中的操作系统,如VxWork和Windos Embedded等
此外,操作系统还可以根据运行环境、功能和用途进一步细分:
- 单用户操作系统、多道批处理系统、分时系统、实时系统、通用操作系统、网络操作系统、分布式操作系统等
这些分类反映了操作系统在不同应用场景下的特性和需求。例如,实时操作系统主要应用于对时间敏感的系统,如航空航天、工业自动化等领域;而分布式操作系统则是一种多台计算机协同工作的操作系统,将计算存储任务分布道多台计算机上,以提高整个系统的性能和可靠性。
3、B/S架构和C/S架构的区别?
- 架构不同:B/S架构是浏览器/服务器,C/S架构是客户端/服务器架构。
- 客户端不同:B/S架构的客户端是浏览器,C/S架构的客户端是客户端程序。
- 功能不同:B/S架构主要用于网络服务,C/S架构主要用于应用程序服务。
- 维护不同:B/S架构的维护主要在服务器端,C/S架构的维护主要在客户端和服务器端
- 安全性不同:B/S架构的安全性较低,C/S架构的安全性较高。
4、常用DOS命令
1、徽标键+R 打开运行窗口
2、cmd 回车或者点击确定,会打开一个黑窗口,从中写代码即可控制系统
3、ipconfig/all 回车
查看当前电脑的网络连接情况;
以太网连接,以太网本地连接,在下面的值中找到物理地址(也叫它mac地址),后面的一串数据就是本机是识别码(唯一的)
4、ping 网址 回车 查看当前电脑和目标网址之前的网络连通状态
5、盘符加冒号,例子: f: 切换盘符
6、cd 目录的名字(文件夹的名字) 进入道指的文件夹中
7、cd..——返回上一级目录(文件夹)
8、cd/——返回根目录(最顶端的目录一般就是C、D、F)
9、md xx——创建文件夹(目录)
10、re xx——删除文件夹(目录),只能删除空的目录;如果想删除有内容的目录,再加上空格/s——例:re xx /s——>提示,输入y回车,就会删除,输入n回车,就不删除
11、del——文件名——例:del 1.txt
12、del——文件夹的名称(目录名)——例:del 11
注意:如果写的是文件夹的名字,只能删除当前文件夹中的第一级中的文件,带子级的文件不会删除;也不会删除文件夹(目录)
13、copy——文件目录/文件名——想要粘贴道哪个目录——例:copy X:\hehe\1.txt X:gaga\heihei
注意:文件的目录可以直接在Windows的地址栏复制粘贴即可(win10复制后直接在cmd中ctrl+V;win7、8右键选择粘贴)
14、move——文件目录/文件名——想要移动、剪切道哪个目录——例:move X:\hehe\1.txt X:\gaga\heihei
15、echo——内容文件>文件名字——例:echo 熊出没>2.txt
16、键盘上下可以快速的打出之前写过的代码
17、ctrl+c——快捷键组合,退出当前执行的命令(time 回车,ctrl+c)
5、服务器域名
- 服务器:提供服务的一台电脑
- 域名:网站的服务器的地址,可以去国内的服务器域名运行商去购买
- URL:统一资源定位符(输入网址的那个框)
二、测试理论
1、软件测试的目的
减少软件缺陷(bug),保障软件质量!
软件测试的主要目的包括但不限于:
- 发现软件中的缺陷和错误。
- 确保软件系统的功能和性能符合需求。
- 提高软件质量,降低软件维护成本。
- 增强软件的可靠性和稳定性。
- 提供对软件的客观评价。
2、 软件测试定义
使用技术手段验证软件是否满足使用需求。
使用手工或自动手段来进行软件的测试,目的是查看预期结果和实际结果之间的差异;
软件测试是通过执行软件系统的程序或者模块,以发现错误并评估其质量的过程。其目标是确定软件产品是否满足预期的需求、设计和用户期望,以及发现潜在的缺陷和问题。
3、软件测试原则
测试应该尽可能地覆盖软件的各个方面,包括功能、性能、安全性等。测试用例应该涵盖所有的预期和可能的情况,以确保软件在不同条件下的行为正确和一致。
- 测试能证明软件存在缺陷,不能证明软件不存在缺陷
- 不能进行穷举(一个个的把所有可能性都列举)测试
- 测试工作要尽早的介入
- 缺陷存在集群现象(二八原则,20%的模块存在着80%的缺陷)
- 某些测试依赖测试环境(系统或浏览器)
- 杀虫剂现象
- 不存在缺陷谬论
4、产品质量模型
- 功能性:能够满足明确和隐含要求的功能
- 可靠性:能够处理异常情况,在错误中很快恢复
- 易用性:易懂、易学、易用、漂亮好看
- 效率性:占用少量的资料,提供适当的性能
- 维护性:是指产品可被修改的能力
- 可移植性:是指软件产品从一种环境迁移到另外一种环境的能力
5、测试基本流程
- 掌握需求:保障软件质量的前提是,理解软件何为正确
- 测试计划:有计划才能按时上线,才能控制成本
- 测试用例:用例就是测试工作执行的细节
- 测试执行:按照计划和用例,执行具体的测试工作
- 测试报告:测试完之后,对软件质量的一个评估报告
- 回归测试:之前测试发现问题,开发修复后,再次测试
三、HTML基础
1、 HTML基础语法
很多可参考下面博主:
https://www.cnblogs.com/password12321/p/17188157.html
1)标记语法
① 封闭类型标记:也叫双标记
语法:<标记> 内容</标记>
注意:封闭标记必须成对出现,在结束标记里,先写一个/,再写标记名称如果没有在结束标记里写/,会报错
② 非封闭类型标记:也叫单标记
语法:<标记/> 或 <标记>
注意:非封闭标记不包含内容
2、标签属性
1.html标签:定义HTML文档,这个元素我们浏览器看到后就明白这是个HTML文档了,所以你的其它元素要包裹在他里面,标签限定了文档的开始点和结束点
2.head标签:head标签用于定义文档 的头部。文档的头部描述了文档的各种属性和信息,包括文档的标题、在Web中的位置以及其他文档的关系等。绝大多数文档头部包含的数据都不会真正作为内容显示给读者
3.body标签:body元素定义文档的主体。boyd元素包含文档的所有内容(比如文本、超链接、图像、表格和列表等等) 它会直接在页面中显示出来,也就是用户可以直观看到的内容
4.title标签: ①可定义文档的标题
②它显示在浏览器窗口的标题栏或状态栏上
③title标签是head标签中唯一必须要求包含的东西,就是说写head一定要写title
④title的增加有利于SEO优化,SEO是搜索引擎优化的英文缩写。通过对网站内容调整,满足搜索引擎的排名需求
5.meta标签:meta标签用来描述一个HTML网页文档的属性,关键词等,例如:charset="utf-8"是说当前使用的是utf-8编码格式
3、图片标签
<img src=”图片的名字” />
解释:图片标签属于单标签,src是设置图片资源的(要显示哪一张图片)
属性名=“属性值” 我们管这种属性名和属性值的组合叫“键值对”也叫“KV对”
width=”宽度值”
height=”高度值”
title=”鼠标悬停后的提示文字”
alt=”1、图片没有加载出来时候的提示文字2、网页阅读器可以读取此处的文字给视障用户听,增加用户体验”
- .jpg 普通的图片格式
- .png 可以实现透明的图片效果
- .gif 可以实现动图效果
- .psd 多个图片组合起来的(设计师使用ps软件实现的,我们叫它psd设计稿)
4、超链接
定义:点击之后,可以实现页面的跳转
普通超链接点击之后会在本窗口打开页面;还可以实现点击之后在新窗口打开页面;
在某些情况下,程序员还不知道如何写具体的链接地址,此时就会设置空链接(点击之后不跳转)
5、锚点
项目中经常会出现点击跳转锚点的方法,比如给一个a标签一个href=“#锚点”,然后要跳的锚点给个id=“锚点”,这样就实现简单的跳转,但是这样在url地址栏后面都会出现一个诸如www.geekjc.com/#锚点,然后你点击给一次后退都是退回上一个选择的锚点url,这里我总结4个跳转锚点的方法。
a标签进行定位,也是最简单的方法是锚点用标签,在href属性中写入div的id
这种方法的缺点是点击锚点之后,浏览器的URL会发生变化,如果刷新可能会出现问题。
6、表单
定义:所有的用户输入的:用户名、账户、密码、邮箱。。。。统一称他们表单数据,
表单数据必须要放在form标签中;
form中的属性:action中的值代表,当前的表单数据要提交给那个后台程序xxx.php;
method中的值代表传输数据的过程中使用哪种方法:
(1)get 不加密的传输
(2)post 加密传输
Input标签的type类型不同就可以实现不一样的效果:
(1)type=”text” 普通文本框
(2)type=”submit” 提交按钮
(3)type=”password” 密码框(输入的文字会加密显示)
(4)type=”radio” 单选框:
测试细节:
1、点击查看是否实现的单选效果
2、点击文字查看是否能切换(用户体验的提升)
3、默认是否有某一个是选中状态(根据用户和产品经理的要求来定)
(5)type=”checkbox” 复选框、多选框
测试细节:
1、点击文字查看是否能切换(用户体验的提升)
2、默认是否有某一个或多个是选中状态(根据用户和产品经理的要求来定)
注释:被注释的内容,不会被浏览器解析(打开浏览器查看的时候,不会显示),作用是给程序员自己的提醒的文字。测试细节:在最后一个阶段的测试过程中,必须要求程序员删除所有的注释代码,因为注释代码也会影响页面的打开速度;ctrl+?
(6)下拉菜单的测试细节
1、测试数据是否满足用户的要求:顺序、个数
2、刷新页面的时候的默认选中是哪一个数据
(7)文本域测试细节:
定义:可以多行输入内容的文本框
1、测试ie、谷歌、火狐浏览器最终的显示大小是否一致
2、查看文本域右下角是否可以拖拽放大缩小(要求程序员禁止此功能)
(8)type=”button”
普通按钮,需要js控制才能实现其它效果
(9)type=”reset”
点击之后,可以让当前的表单数据恢复到默认状态(不是清空)
注意:按钮建议设置value属性,此属性在按钮中,表示按钮的提示文字,如果不写,有可能会导致浏览器的兼容性问题;(测试ie、谷歌、火狐提示文字一致即可)
四、CSS基础
1、CSS基础语法
- 选择器:用于选择要应用样式的HTML元素。例如,
p
用于选择所有段落元素,#myId
用于选择ID为myId
的元素,.myClass
用于选择类名为myClass
的元素。 - 声明:包含属性和值,用于定义所选元素的外观。例如,
color: red;
定义文本颜色为红色。 - 声明块:由一对大括号
{}
包围,包含多个声明。每个声明由属性名、冒号、值和分号组成。
2、CSS四类选择器
1.标签选择器:针对一类标签
2.ID选择器:针对某一个特定的标签使用
3.类选择器:针对你想要的所有标签使用
4.通用选择器(通配符):针对所有的标签都适用(不建议使用)
1.标签选择器:一个完整的HTML页面是有很多不同的标签组成,而标签选择器,则是决定哪些标签采用相应的CSS样式,(在大环境中你可能出于不同的位置,但是不管怎么样,你总是穿着同一套衣服,这件衣服就是由标签选择器事先给你限定好的,不管走到哪里都是这身衣服)
style type="text/css"> p{ font-size:40px; }</style> <body> <p>标签选择器</p> </body>
2.id选择器:根据元素ID来选择元素,具有唯一性。前面以”#”号来标志。
<head> <title>Document</title> <style type="text/css"> #good { border:3px dashed green; } </style> </head> <body> <h2 id="good">id选择器</h2> </body>
3.类别选择器:类选择器根据类名来选择。和id非常相似,任何的标签都可以携带id属性和class属性。但是id属性只能被某一特定标签引用一次。
<style type="text/css"> .xl{ color: green; } .xd{ font-size: 40px; } </style> <p class="xl xd">段落</p> <p class="xl">段落</p> <p class="xd">段落</p>
4.通配符*:匹配所有标签不建议使用。
<style type="text/css"> /*定义通用选择器*,希望所有标签的颜色是绿色字符大小40磅*/{ color: green; font-size: 40px; } </style>
3、常用文字属性
1)文本颜色
- 属性名:color
- 可选值:
1、颜色名
2、rgb 或 rgba
3、HEX 或 HEXA(十六进制)
4、HSL 或 HSLA开发中常用的是:rgb/rgba或HEX/HEXA(十六进制)
div { color: rgb(112,45,78); }
2)文本间距
- 字母间距:letter-spacing
- 单词间距:word-spacing
- 属性值为像素(px),正值让间距增大,负值让间距缩小
3)文本修饰
属性名:text-decoration
可选值:
1、none:无装饰线(常用)
2、underline:下划线(常用)
3、overline:上划线
4、line-through:删除线可搭配如下值使用:
1、dotted:虚线
2、wavy:波浪线
3、也可以指定颜色a { text-decoration: underline wavy rgb(255,0,0); }
4)文本缩进
- 属性名:text-indent
- 属性值:css中的长度单位,例如:px
- 举例:如果字体大小为20px,那这里的意思就是文字开头空两个字体
div { text-indent: 40px; }
CSS中还有其他长度单位
5)文本对齐-水平
- 属性名:text-align
- 常用值:
1、left:左对齐(默认值)
2、right:右对齐(默认值)
3、center:居中对齐div { text-align: center; }
6)文本对齐-垂直
- 顶部:无需任何属性,在垂直方向上,默认就是顶部对齐
- 居中:对于单行文字,让height=line-height即可
- 底部:对于单行文字,目前一个临时的方式:
让line-height=(height✖️2)-font-size - x。
备注;x是字体族,动态决定的一个值。
7)vertical-align
- 属性名:vertical-align
- 作用:用于指定同一行元素之间,或表格单元格内文字的垂直对齐方式。
- 常用值:
1、baseline(默认值):使元素的基线与父元素的基线对齐
2、top:使元素的顶部与其所在行的顶部对齐
3、middle:使元素的中部与父元素的基线加上父元素字母X的一半对齐(父元素x的中心点)。
4、bottom:是元素的底部与其所在行的底部对齐特别注意:vertical-align 不能控制块元素
4、行高属性
- 属性名:line-height
- 可选值:
1、normal:由浏览器根据文字大小决定一个默认值
2、像素(px)
3、数字:参考自身font-size的倍数(很常用)
4、百分比:参考自身font-size的百分比
备注:由于字体设计的原因,文字在一行中,并不是绝对垂直居中,若一行中都是文字,不会太影响观感。div { line-height: 60px; line-height: 1.5; line-height: 150%; }
- 行高的注意事项:
1、line-height 过小会怎么样? --文字产生重叠,且最小值是0,不能为负数
2、line-height 是可以继承的,且为了能更好的呈现文字,最好写数值
3、line-height 和 height 是什么关系?
设置了 height ,那么高度就是 height 的值
不设置 height 的时候,会根据line-height计算高度
- 应用场景:
1、对于多行文字:控制行与行之间的距离
2、对于单行文字:让 height 等于 line-height,可以实现文字垂直居中备注: 由于字体设计原因,靠上述办法实现的居中,并不是绝对的垂直居中,但如果一行中都是文字,不会太影响观感
5、边框
就是给页面中的元素添加的外围边框线属性;
程序员叫他们“边框”,ui设计师叫“描边”
注意:只有实线(下面右侧)和虚线(下图上边)没有兼容性问题,其它的都不能出现;
6、盒子模型
边框+内容+内边距(内填充、padding)+外边距(外填充、margin)组合起来叫盒子模型
掌握下图中的内边距(内容和边框之间的距离)、外边距(盒子与其它盒子之间距离)在哪里;
7、内外边距
五、JS基础
1、JS基础语法
- 写script标签,放在html页面的最后位置
- 从script标签中间
alert(‘这里写什么就会弹出什么’);
2、JS引入方式
- 写在html中放在script标签里面的,叫内嵌式
- 写在单独的js文件,通过script中的src来链入到html页面的,叫外链式
- 写在html标签身上的,叫行内式
注意:行内js和行内css一样,都是不推荐使用的!内嵌和外链随意使用,还是建议使用外链式,因为能实现js代码和html代码的分离,更方便代码的修改;
3、JS的事件
定义:在什么情况下,执行什么命令
事件三要素:
事件源.事件类型=执行的命令
document.getElementById('div1').οnclick=function(){
alert('我点击的时候才会弹出来呦~');
}
document 代表整个html文档
getElementById 使用id的名字来找标签
onclick 在点击的时候
function(){ 此处就写最终点击的时候要执行什么命令 }
4、js常见特效
1、Js实现动画效果:
测试的时候一定要多次触发动画,查看动画是否有累积的情况;
2、模态窗口:
弹出两个层:1个负责盖住下面的其它页面内容,另一个是让用户操作的层;只允许用户操作弹出的那个层;
3、自定义单选、多选、下拉菜单:
只要不是系统原生的,就算是自定义;这些程序,需要js+html+css组合才能实现,肯定比原生的写法浪费时间,但是为了整体页面的美观,必须要求程序员按照设计师的要求来实现;