目前网络协议有许多种,但是最基本的协议是TCP/IP协议,许多协议都是它的子协议。下面我们就对TCP/IP协议作一下简单介绍。
1 TCP/IP协议基础
TCP/IP协议包括两个子协议:一个是TCP协议(Transmission Control Protocol,传输控制协议),另一个是IP协议(Internet Protocol,互联网协议),它起源于20世纪60年代末。
在TCP/IP协议中,TCP协议和IP协议各有分工。TCP协议是IP协议的高层协议,TCP在IP之上提供了一个可靠的,连接方式的协议。TCP协议能保证数据包的传输以及正确的传输顺序,并且它可以确认包头和包内数据的准确性。如果在传输期间出现丢包或错包的情况,TCP负责重新传输出错的包,这样的可靠性使得TCP/IP协议在会话式传输中得到充分应用。IP协议为TCP/IP协议集中的其它所有协议提供“包传输”功能,IP协议为计算机上的数据提供一个最有效的无连接传输系统,也就是说IP包不能保证到达目的地,接收方也不能保证按顺序收到IP包,它仅能确认IP包头的完整性。最终确认包是否到达目的地,还要依靠TCP协议,因为TCP协议是有连接服务。
在计算机服务中如果按连接方式来分的话,可分为“有连接服务”和“无连接服务”两种。“有连接服务”必须先建立连接才能提供相应服务,而“无连接服务”则不需先建立连接。TCP协议是一种典型的有连接协议,而UDP协议则是典型的无连接服务。
TCP/IP协议所包括的协议和工具
TCP/IP协议是一组网络协议的集合,它主要包括以下几方面的协议和工具。
·TCP/IP协议核心协议
这些核心协议除了自身外,还包括用户数据报协议(UDP协议)、地址代理协议(ARP协议)以及网间控制协议(ICMP协议)。这组协议提供了一系列计算机互连和网络互连的标准协议。
·应用接口协议
这类协议主要包括Windows套接字(Socket,用于开发网络应用程序)、远程调用、NetBIOS协议(用于建立逻辑名和网络上的会话)和网络动态数据交换(Network,用于通过网络共享嵌入在文本中的信息)。
·基本的TCP/IP协议互连应用协议
主要包括finger、ftp、rep、rsh、telnet、tftp等协议。这些工具协议使得Windows系统用户使用非Microsoft系统计算机上(如UNIX系统计算机)的资源成为可能。
·TCP/IP协议诊断工具
这些工具包括arp、hostname、ipconfig、nbstat、netstat、ping和route,它们可用来检测并恢复TCP/IP协议网络故障。
·有关服务和管理工具
这些服务和管理工具包括FTP服务器服务(用于在两个远程计算机之间传输文件,这是远程控制通信中的关键功能)、网际命名服务WINS(用于在一个网际上动态记录和询问计算机的名字)、动态计算机配置协议DHCP(用于在Windows NT计算机上自动配置TCP/IP协议)以及TCP/IP协议打印(主要用于远程打印和网络打印)。
·简单网络管理协议代理(SNMP)
这个工具允许通过使用管理工具(如“Sun Net Manages” 或“HP Open View”),从远程管理Windows NT计算机。
(2)TCP/IP的主要协议简述
为了使读者能全面了解一些基本的网络通信协议和服务,本节就对TCP/IP协议所包括的几种主要协议进行简要说明。
·远程登录协议(Telnet)
Telnet协议是用来登录到远程计算机上,并进行信息访问,通过它可以访问所有的数据库、联机游戏、对话服务以及电子公告牌,如同与被访问的计算机在同一房间中工作一样,但只能进行些字符类操作和会话。
·文件传输协议(Ftp)
这是文件传输的基本协议,有了FTP协议就可以把的文件进行上传,也可从网上得到许多应用程序和信息(下载),有许多软件站点就是通过FTP协议来为用户提供下载任务的,俗称“FTP服务器”。最初的FTP程序是工作在UNIX系统下的,而目前的许多FTP程序是工作在Windows系统下的。FTP程序除了完成文件的传送之外,还允许用户建立与远程计算机的连接,登录到远程计算机上,并可在远程计算机上的目录间移动。
·电子邮件服务(Email)
电子邮件服务是目前最常见、应用最广泛的一种到联网服务。通过电子邮件,可以与Internet上的任何人交换信息。电子邮件的快速、高效、方便以及价廉,越来越得到了广泛的应用,目前只要是上过网的网民就肯定用过电子邮件这种服务。目前,全球平均每天约有几千万份电子邮件在网上传输。
·WWW服务
WWW服务(3W服务)也是目前应用最广的一种基本互联网应用,我们每天上网都要用到这种服务。通过WWW服务,只要用鼠标进行本地操作,就可以到达世界上的任何地方。由于WWW服务使用的是超文本链接(HTML),所以可以很方便的从一个信息页转换到另一个信息页。它不仅能查看文字,还可以欣赏图片、音乐、动画。最流行的WWW服务的程序就是微软的IE浏览器。
·简单邮件传输协议(SMTP)
SMTP是TCP/IP协议族的一个成员,这种协议认为你的计算机是永久连接在Internet上的,而且认为你在网络上的计算机在任何时候是可以被访问的。它适用于永久连接在Internet的计算机,但无法使用通过SLIP/PPP协议连接的用户接收电子邮件。解决这个问题的办法是在邮件计算机上同时运行SMTP和POP协议的程序,SMTP负责邮件的发送和在邮件计算机上的分拣和存储,POP协议负责将邮件通过SLIP/PPP协议连接传送到用户计算机上。
·信息服务(Gopher)
Gopher最早出现在1991年,它是第一个操作简便、使用广泛的从Internet服务器上获取信息的客户应用程序。除了操作简便外,它的另一个特点是速度快。Gopher运行时,将显示一个交互式的供用户选择的菜单,菜单中的选项由简单的短句组成,每个短句通常指向另一个菜单,并最终指向有用的文件。Gopher是帮助用户在Internet信息海洋中搜索有用信息的导航器。用户只要关心浏览的内容,而不必关心具体的服务器。
·文件检索服务(Archie)
它是一个从整个Internet上匿名FTP服务器获取文件的服务。其完全依赖于匿名FTP系统的管理员,他们将站点在全世界的Archie服务器进行了注册,Archie仅通过文件名进行检索。
2 IP协议
目前正在使用的IP协议是第4版的,称之为“IPv4”,新版本的IP协议正在完善过程中,它就是经常可以在各大IT媒体中见到的IPv6。IPv6所要解决的主要是IPv4协议中IP地址远远不够的现象。IPv4所采用的是32位,而IPv6则是128位,是原来的4倍。IPv6所提供的IP地址数已可算是天文数字了,据专家们分析,这个数字的IP地址可以使全球的每一个人都可拥有10以上的IP地址,这么多的IP地址相信再也不会出现IPv4那样除了美国外,各国都出现IP地址短缺现象,为将来实现移动上网打下了坚实的基础。但这属于较新技术,在此就不作详细介绍,本文仍以目前主流的IPv4协议为基础进行介绍。
IP协议的功能是把数据报在互联的网络上传送,通过将数据报在一个个IP协议模块间传送,直到目的模块。网络中每个计算机和网关上都有IP协议模块。数据报在一个个模块间通过路由处理网络地址传送到目的地址,因此搜寻网络地址对于IP协议十分重要的功能。另外,因为各个网络上的数据报大小可能不同,所以数据报的分段也是IP协议的不可或缺的功能,不然对于一些网络带宽较窄的网络,大的数据报就无法正确传输了。下面主要介绍我们初级学者所关心的现行方面问题。
(1)IP地址
在计算机寻址中经常会遇到“名字”、“地址”和“路由”这三个术语,它们之间是有较大区别的。名字是要找的,就像的人名一样;而地址是用来指出这个名字在什么地方,就像人的住址一样;路由是解决如何到达目的地址的问题,就像已经知道了某个人住在什么地方,现在要考虑走什么路线、采用什么交通工具到达目的地方最为简便。
这里所介绍的IP协议主要是解决地址的问题。名字和地址进行解析的工作是由其上层协议--TCP协议完成。IP协议模块将地址和本地网络地址加以映射(就像写信一样,IP协议只负责把收、发信人的地址写上,把信投进邮箱就可不管了),而将本地网络地址和路由进行映射则是低层协议(如路由协议)的任务,所以说IP协议是一个无连接的服务。
IP协议要寻找的“地址”是32位长(4个分段的16进制组成),由网络号(网络ID)和主机号(主机ID)两部分构成,按照IP协议规定因特网上的地址共有A、B、C、D、E五类.
按照IP协议规定因特网上的地址共有A、B、C、D、E五类·A类IP地址:用前面8位来标识网络号,其中规定最前面一位为“0”,24位标识主机地址,即A类地址的第一段取值(也即网络号)可以是“00000001 ̄01111111”之间任一数字,转换为十进制后即为1~128之间。主机号没有做硬性规定,所以它的IP地址范围为“1.0.0.0-128.255.255.255”。A类地址是为大型政府网络而提供,因为A地址中有10.0.0.0-10.255.255.254和127.0.0.0-127.255.255.254这两段地址有专门用途,所以全世界总共只有126个可能的A类网络。每个A类网络最多可以连接16777214台计算机,这类地址数是最少的,但这类网络所允许连接的计算机是最多的。
·B类IP地址:用前面16位来标识网络号,其中最前面两位规定为“10”,16位标识主机号,也就是说B类地址的第一段“10000000 ̄10111111”,转换成十进制后即为128~191之间,第一段和第二段合在一起表示网络地址,它的地址范围为“128.0.0.0-191.255.255.255”。B类地址适用于中等规模的网络,全世界大约有16000个B类网络,每个B类网络最多可以连接65534台计算机。这类IP地址通常为中等规模的网络提供。其中172.16.0.0-172.31.255.254地址段有专门用途。
·C类IP地址:用前面24位来标识网络号,其中最前面三位规定为“110”,8位标识主机号。这样C类地址的第一段取值为“11000000 ̄11011111”之间,转换成十进制后即为192~223。第一段、第二段、第三段合在一起表示网络号,最后一段标识网络上的主机号,它的地址范围为“192.0.0.0-223.255.255.255”。C类地址适用于校园网等小型网络,每个C类网络最多可以有254台计算机。这类地址是所有的地址类型中地址数最多的,但这类网络所允许连接的计算机是最少的。这类IP地址可分配给任何有需要的人。其中192.168.0.0-192.168.255.255为企业局域网专用地址段。
·D类地址:它用于多重广播组,一个多重广播组可能包括1台或更多主机,或根本没有。D类地址的最高位为1110,第一段八位体为“11100000 ̄11101111”,转换成十进制即为224 ̄239,剩余的位设计客户机参加的特定组,它的地址范围为“224.0.1.1-239.255.255.255”。在多重广播操作中没有网络或主机位,数据包将传送到网络中选定的主机子集中,只有注册了多重广播地址的主机才能接收到数据包。Microsoft支持D类地址,用于应用程序将多重广播数据发送到网络间的主机上,包括WINS和Microsoft NetShow。
·E类地址:这是一个通常不用的实验性地址,保留作为以后使用。E类地址的最高位为11110,第一段八位体为“11110000 ̄11110111”,转换成十进制即为240 ̄247。
IPv4协议中对首段位为248 ̄254 的地址段暂无规定。
其实还有一类IP地址,就是以“127”开头的IP地址,这类IP地址也是属于保留使用的,这类地址属于环路测试类IP地址。这类IP地址不能作为计算机的IP地址用,也就不能在网络上使用这样的IP地址来标识计算机的位置,更不能通过在浏览器或者其他搜索位置输入这样的IP地址,来搜索想要查找的计算机,因为它只能在本地计算机上用于测试使用。
其实还有一类IP地址,就是以“127”开头的IP地址,这类IP地址也是属于保留使用的,这类地址属于环路测试类IP地址。这类IP地址不能作为计算机的IP地址用,也就不能在网络上使用这样的IP地址来标识计算机的位置,更不能通过在浏览器或者其他搜索位置输入这样的IP地址,来搜索想要查找的计算机,因为它只能在本地计算机上用于测试使用。
其实还有一类IP地址,就是以“127”开头的IP地址,这类IP地址也是属于保留使用的,这类地址属于环路测试类IP地址。这类IP地址不能作为计算机的IP地址用,也就不能在网络上使用这样的IP地址来标识计算机的位置,更不能通过在浏览器或者其他搜索位置输入这样的IP地址,来搜索想要查找的计算机,因为它只能在本地计算机上用于测试使用。
(2) 子网掩码和域名
以上介绍的是网络IP地址,但随着网络的发展,IPv4标准中的IP地址远不够用,为了解决这一矛盾,于是又在IP地址加上子网掩码来进一步识别。在TCP/IP协议中规定,A类网络的子网掩码格式为“255.0.0.0”形式,后面的“0”可以为“0 ̄254”之间任一数字。B类网络的子网掩码格式为“255.255.0.0”,C类网络的子网掩码为格式为“255.255.255.0”,同样其中的“0”可以是“0 ̄254”之间任一数字。如果没有子网,可以为“0”,也可以不配置,如果有子网则一定要配置。
前面介绍的IP地址都是以数字形式表示计算机的地址,这种IP地址人们记忆起来是非常困难的。对非计算机和网络的专业人士来说,记住这种地址是很不现实的。因此,Internet还采用域名地址来表示每台计算机。通过为每台计算机建立IP地址与域名地址之间的映射关系,用户可以在网上避开难以记忆的IP地址,而用域名地址来唯一标记网上的计算机。域名地址与IP地址的关系类似于一个人的姓名与身份证号码之间的关系。
要把计算机连入Internet,必须获得网上唯一的IP地址与对应的域名地址。域名地址由域名系统(DNS)管理。每个连到Internet的网络中都有至少一个DNS服务器,其中存有该网络中所有计算机的域名和对应的IP地址,通过与其他网络的DNS服务器相连就可以找到其他站点。这也是在TCP/IP协议属性中要进行DNS配置的原因。
域名地址也是分段表示的,每段分别授权给不同的机构管理,各段之间用圆点(.)分隔。与IP地址相反,各段自左至右级别是越来越高。
B. 网络协议是什么
网络协议
1、协议:通信双方所共同遵守的规则。
2、网络协议:计算机在网络中实现通信时必须遵守的规则和约定。
每个网络中至少要选择一种网络协议。具体选择哪一种网络通信协议主要取决于网络的规模、网络的兼容性和网络管理等几个方面。常接触的局域网中,一般使用NETBEUT、IPX/SPX和TCP/IP三种协议。
NETBEUI:是为IBM开发的非路由协议,用于携带NETBIOS通信。NETBEUI缺乏路由和网络层寻址功能,既是其最大的优点,也是其最大的缺点。因为它不需要附加的网络地址和网络层头尾,所以很快并很有效且适用于只有单个网络或整个环境都桥接起来的小工作组环境。
IPX/SPX:它是由Novell提出的用于客户/服务器相连的网络协议。使用IPX/SPX协议能运行通常需要NetBEUI支持的程序,通过IPX/SPX协议可以跨过路由器访问其他网络。IPX具有完全的路由能力,可用于大型企业网。
TCP/IP:TCP/IP是在60年代由麻省理工学院和一些商业组织为美国国防部开发的,即便遭到核攻击而破坏了大部分网络,TCP/IP仍然能够维持有效的通信。TCP/IP同时具备了可扩展性和可靠性的需求。每种网络协议都有自己的优点,但是只有TCP/IP允许与Internet完全的连接。TCP/IP的32位寻址功能方案不足以支持即将加入Internet的主机和网络数。因而可能代替当前实现的标准是IPv6。
C. 计算机协议有哪些
1、物理层:以太网·调制解调器· 电力线通信(PLC) ·SONET/SDH· G.709 ·光导纤维· 同轴电缆 · 双绞线等。
2、数据链路层:Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) ·ATM · DTM ·令牌环·以太网·FDDI ·帧中继· GPRS · EVDO ·HSPA · HDLC ·PPP· L2TP ·PPTP · ISDN·STP · CSMA/CD等。
3、网络层协议:IP (IPv4 · IPv6) · ICMP· ICMPv6·IGMP ·IS-IS · IPsec · ARP · RARP · RIP等。
4、传输层协议:TCP · UDP · TLS ·DCCP· SCTP · RSVP · OSPF 等。
5、应用层协议:DHCP ·DNS· FTP · Gopher · HTTP· IMAP4 · IRC · NNTP · XMPP ·POP3 · SIP · SMTP ·SNMP · SSH ·TELNET · RPC · RTCP · RTP ·RTSP· SDP · SOAP · GTP · STUN · NTP· SSDP · BGP 等。
D. 学软件测试要会哪些知识(软件测试要学哪些东西知乎)
学习软件测试需要学习哪方面的内容?软件测试需要学的内容:1、测试环境(网络环境,windows环境等)2、数据库管理3、编程技巧(java编程设计,脚本语言,设计工具,XML编汪氏程)4、软件测试技术(测试理论,方法,流程,文档写作,测试工具,自动测试)5、测试技术实践软件测试的发展趋势从整体行业背景看,一方面,在中国的很多软件企业存在着重开发、轻测试的现象困姿散,造成日后的软件产品的质量问题频出,亟待解决;另一方面市场上的软件测试人员偏少,岗位缺口较大,不少企业以开发暂代测试,以作急用。目前软件测试人才的缺口在30万人以上。从个人职业发展看,软件测试人才更强调岗位的经验积累。从业者在拥有几年的测试经验背景后,可以逐步转向管理或者资深测试工册乎程师,担当测试经理或者部门主管,所以职业寿命更长。另外,由于国内软件测试工程师人才奇缺,并且一般只有大中型企业才会单独设立软件测试部门,所以很有保障,待遇普遍较高。
软件测试要学哪些内容1.测试基础理论
不管有没有计算机基础,测试理论的学习都是首要的,不管你的目标是功能测试、性能测试、测试开发,这些基础知识必须优先掌握。主要包括常见的软件开发流程及模型,尤其是解敏捷开发相关知识。然后,要学习软件测试的定义、分类、测试的流程、测试用例编写方法以及缺陷(bug)的管理及生命周期。其次,要了解web端和app的常见测试点和测试方法。最后,要会编写常见的测试文档,如bug单,测试计划、软件测试报告等。
2.数据库学习
数据库是开发和测试的最基本技能,软件前后端的交互,本质就是数据的交互,不管是功能测试、接口测试、性能测试、自动化测试等,都离不开数据库的支撑和使用。这一部分,主要了解数据库的基本概念,数据库SQL增删改查,常见的表操作语句,以及数据库工具(Navicat)的使用。
3.Linux学习
Linux操作系统一直被用作重要的服务端操作系统,作为软件测试工程师,我们常常需要在服务器端查看日志,从而定位问题的轮升源头。当然,更多的场景是,我们需要在linux系统上搭建测试环境。这些都需要我们掌握基本的linux系统知识,熟悉常见的命令及工具。更高级的使用,是通过编写shell脚本,自动化完成测试任务。
4.接口测试
接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。熟练掌握接口测试已经是软件测试招聘的基本要求了。
5.性能测试
性能测试的技术要求很枯桐拿高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。性能测试常用的工具有jmeter和loadrunner,大家可以根据需要进没搭行学习。
6.自动化测试
学习自动化测试的基础是掌握一门编程语言,个人优先推荐Python,其次Java,并且还要掌握一定的前端知识。另外,还要掌握相关的自动化测试工具selenium、appium等,当然还要掌握常用的自动化测试框架。对于接口自动化测试,如果用python实现的话,则需要掌握requests库和unittest框架的使用。
从事软件测试的工作,需要学点什么?软件测试就是对开发的软件功能进行测试,找出软件的bug,也就是要找出软件的缺陷和不足,在找出问题之后,还需要把问题整理成报告,让软件开发人员根据所呈现的报告去修复去完善。软件测试主要需要学的东西有很多,具体分析如下:
需要学习测试基础和理论知识,包括测试计划编写、设计测试用例、编写BUG报告单;需要学习python语言以及计算机的硬件知识;需要学习数据库知识,包括MySQL数据并则枣库、Redis数据库等;需要学习自动化测试工具、性能测试工具、接口测试工具绝拆的使用。比如在性能测试则会用到Loadrunner软件,它包含Controller、VuGen、Analysis
这些组件。VuGen用于协议、参数化、事务、集合点、检查点、关联、思考时间、文件下载、浏览器模拟设置。Controller用于手动场景设计、IP
Wizard应用盯昌、场景运行、负载生成器、场景监控、服务水平协议(SLA)、服务器硬件监测。Analysis则用于HTTP报文结构、事务相关、吞吐量相关、执行结果分析、网页细分图、图表分析。
软件测试需要学什么软件测试需要学习测试基础和理论知识。
其中需要学习的包括测试姿誉计划编写、设计测试用例、编写BUG报告单;需要学习python语言以及计算机的硬件知识;需要学习数据库知识,包括MySQL数据库、Redis数据库等;需要学习自动化测试工具、性能测试工具、接口测试工具的使用。比如在性能测试则会用到Loadrunner软件,它包含Controller、VuGen、Analysis。
一、软件的结构和组成
既然是做软件测试,势必要对测试迹弊段对象卜消有充分的了解。大体方向如下:
1、前端和后端
前端:用户直接使用的地方我们称之为前端,前端处于用户直接能用的东西,对于用户而言是最靠“前”的。
后端:用户看不见的东西,用于做数据处理和交换。举个例子,知乎的登录,我们在网页(前端)上输入用户名和密码,那知乎咋个晓得我们是不是当前这个用户登录成功的?这个判断操作就是由后端来完成的。
接口:前端和后端进行数据传输的通道,同样的例子,知乎登录,用户在前端输入了账号密码,点击登录后,我们输入的账号和密码就通过登录接口传给后端,后端拿到账号和密码后,再进行判断。
如果判断通过,则通过登录接口把登录成功的信息返回给前端,前端再让我们去访问有权限的功能,反之,就提示登录失败。
2、数据库SQL
数据库是整个软件必备的知识点,主要是关于sql语句的应用,尤其是多表联查。在面试中,通常出现的笔试环节,这部分要不就是很简单的sql查询,要不就是很复杂的多表查询,零基础的小伙伴推荐大家从这里开始。
3、Linux学习
Linux是测试也要掌握的技能之一。
二、功能测试用例设计(重中之重)
功能测试用例太重要了,软件测试工程师80%的工作都跟这个相关,而且面试100%必出的问题。搭建测试环境,查看日志,定位BUG,所以需要掌握其中的一些基础用法。
三、实战练习项目(重点)
说实话,这块自学真的有点难受,实际的项目怎么可能这么容易就找到了。自学的小伙伴可以去找一些开源项目来练习。
四、接口测试和接口用例设计
接口测试是对系统接口级别的测试。
1、抓包工具和前后端Bug定位。
2、Postman。
3、Jmeter。
以上,应该是最最最精简的学习路线了。
软件测试需主要需要学哪些东西
1、测试用例
测试用例是测试的根本,良好的测试用例,对测试起到的作用不言而喻。所以对于一个有一定基础的测试新人,应首先学习如何编写合理、有效的测试用例,同时,高效的执行测试用例,也是可以思考的问题。
2、测试方法
测试的方法有很多种,每种方法如何使用,使用的技巧,应做为一个重点去学习,毕竟快速、尽量多的发现BUG,是测试人员工作中重要的一个环节。
3、测试工具
自动化测试工具、测试管理工具、配置管理工具、其它测试辅助工具的使用,有一定的了解,能使用它提高测试工作的效率。
4、业务知识(需求理解)
能快速了解被测程序的业务知识及功能使用。对被测试对象有一个全面而正确的理解是做好测试工作的前提。即测试人员要知道它的业务流程、功能使用等。
5、文档撰写
文档在测试流程中有着举足轻重的地位,测试人员经常渗隐见到的,如:用例设计、缺陷报告、测试方案、测试计划等。所以,要成为一名优秀的测试人员或向上有一个好的发展,除了技术因素,良好的文档及文字处理能力也是不可或缺的。
6、操作系统使用与维护
熟悉当前最流行的操作系统,包括MS的Windows系列、Linux系列。比如现在使用比较多的是MS的Windowsxp。熟知起码的操作和快捷键使用,熟练常用工具安装卸载。
7、熟练使用Word、Excel,文字输入
编写测试用例、测试报告(BUG单)、软件使用手册是测试工程师必不可少的工作,因此word、Excel常用功能使用必须要熟练,如常用的插入图片、表格绘制等。快速的文字输入,也是体现工作效率的一个方面。
8、能碰喊空处理日常工作中经常出现的计算机问题。除了会使用计算机,学会如何修理他,如何更好的使用它也是很重要的功课。
9、沟通技巧
学会和团队内部人员的沟通,学会如何与程序员打交道。沟通是人学习和进步的一个捷径。做为一个新人也许会有很多地方不足,如技术上的缺陷,公司业务的不了解,良好的沟通可以尽快的弥补不足。
10、学习能力
主动、自觉、积极是必须的,他人教授的知识往往太有限,笑瞎不能等到知识要用的时候才去学,要在平常的学习中积累。现在的技术日新月异,不会很正常,学习即可,须知人皆由学习从无知者变成智者。
做软件测试需要具备哪些技能?1、软件测试基础知识:
测试计划编写、设计测试用例、编写测试报告、编写BUG报告单、跟踪BUG修复情况、还需要良好的沟通能力、以及各种测试阶段所使用的测试方法、单元测试、功能测试、集成测试、系统测试等等、CMMI/ISO9001
2、各种测试工具的使用:
我们在测试的工作中为了能够提高工作效率进程会用到很多工具、QTP、LR、QC、TD、Bugfree、VSS、SVN等等工具、虽然说工具不是万能的但是工具能为我们提高工作效率所以不能吧工具当神一样看待、但是必须得会熟练的使用
3、操作系统相关知识:
Windows、linux、uinx这些都必须会使用、而且不仅仅是简单的操作、一般的服务管理、注册表编辑、命令行操作都需要会、可以想象下一个连apache服务都不会安装配置的人、谁能想象你可以做好基于apache环境的测试工作、什么?不知道怎么查看磁盘压力、IO数据。windowslinux都有提供自带的工具可用于查看这些数据、perfmon、top什么的。
4、数据库知识:
现在Oracle的DBA待遇比一般的开发人员待遇还高就知道数据库在企业中的重要性了、作为测试人员虽然不需要有DBA的能力、但是基本的数据库操作你必须得会把、不管是Oracle、DB2、MSsql还是mysql最少都应该能熟悉使用其中的一二。
5、计算机硬件知识:脊好
做过性能测试的朋友都知道在性能测试过程中硬件性能也是一个非常重要的指标、CPU、内存、IO、带宽等等、如果你是做硬件测试的。那么就更不用说了。交换机、路由器、防火墙这些设备都需要有所了解。
6、网络协议:
如果你还知道TCP和UDP有什么不一样的话请赶快去补充点知识吧、互联网时代、一切都通过网络传输、常用协议必须得了解、曾经面试了一个测试工程师做了2年的测试居然不知道自己测试软件使用什么协议、这样的人是你的话你敢招么?
7、开发语言即代码编写能力:
虽然不会写代码也能做测试、但是如果你想做到高级测试工程师以上、那么代码编写能力就是必选项、如果不会写代码、那么你不可能成为高级测试。高级测试工程师的一部分工作就是在写测试工具。虽然测试也需要写代码但不需要和开发一样那么精通某一门语言、可是测试却需要了解很多门开发语言(举一个简单的例子:你现在所在的项目从C++语言、2年后你换工作了、新公司的开发语言是java或者是VB什么的)所以在开发语言中测试需要更广的学习。
8、行业知识:
行业知识之所简野销以写在最后面是因为前面的7条我们都可以通过学习来掌握、但是唯独行业知识却只能通过工作经验来积累、不要说你去看几本书就知道通信行业、医疗行业、或者是航天行业、你认为在书本上面能学到么?
由于行业知识的特殊性所以建议朋拦游友们不要频繁的跳槽、经验的积累是需要时间来沉淀的。
9、具有一定的美学观:
这个说起来比较拗口一点、简单来说不管是开发活动还是测试活动、最后的目标就是将产品推向市场、而且得到用户的认可。所以如果产品在需求分析阶段就出现了偏离用户航道、那么就算测试开发做得再好这个项目也是一样会失败。所以各位如果有幸能够参加需求评审的话、请不要吝啬你的言论。
10、请不要忘记时刻学习着:
这点我相信大家应该都能理解所以不用写什么:仅此一点“不学习就会落后”
总结:说了那么多技能或者是说是需要掌握的技术、如果你没有一颗发现缺陷之美的心态、没有一颗以提高质量为前提来投入工作中、那么就算你其他做得再好也不过是万千软件测试从业人员中的一枚。测试活动大部分用于发现缺陷、而发现缺陷之后的工作尤为重要:怎么样从发现缺陷到提高质量。
E. 常见的网络协议有哪些
第一章 概述
电信网、计算机网和有线电视网 三网合一
TCP/IP是当前的因特网协议簇的总称,TCP和 IP是其中的两个最重要的协议。
RFC标准轨迹由3个成熟级构成:提案标准、草案标准和标准。
第二章 计算机网络与因特网体系结构
根据拓扑结构:计算机网络可以分为总线型网、环型网、星型网和格状网。
根据覆盖范围:计算机网络可以分为广域网、城域网、局域网和个域网。
网络可以划分成:资源子网和通信子网两个部分。
网络协议是通信双方共同遵守的规则和约定的集合。网络协议包括三个要素,即语法、语义和同步规则。
通信双方对等层中完成相同协议功能的实体称为对等实体 ,对等实体按协议进行通信。
有线接入技术分为铜线接入、光纤接入和混合光纤同轴接入技术。
无线接入技术主要有卫星接入技术、无线本地环路接入和本地多点分配业务。
网关实现不同网络协议之间的转换。
因特网采用了网络级互联技术,网络级的协议转换不仅增加了系统的灵活性,而且简化了网络互联设备。
因特网对用户隐藏了底层网络技术和结构,在用户看来,因特网是一个统一的网络。
因特网将任何一个能传输数据分组的通信系统都视为网络,这些网络受到网络协议的平等对待。
TCP/IP 协议分为 4 个协议层 :网络接口层、网络层、传输层和应用层。
IP 协议既是网络层的核心协议 ,也是 TCP/IP 协议簇中的核心协议。
第四章 地址解析
建立逻辑地址与物理地址之间 映射的方法 通常有静态映射和动态映射。动态映射是在需要获得地址映射关系时利用网络通信协议直接从其他主机上获得映射信息。 因特网采用了动态映射的方法进行地址映射。
获得逻辑地址与物理地址之间的映射关系称为地址解析 。
地址解析协议 ARP 是将逻辑地址( IP 地址)映射到物理地址的动态映射协议。
ARP 高速缓存中含有最近使用过的 IP 地址与物理地址的映射列表。
在 ARP 高速缓存中创建的静态表项是永不超时的地址映射表项。
反向地址解析协议 RARP 是将给定的物理地址映射到逻辑地址( IP地址)的动态映射。RARP需要有RARP 服务器帮助完成解析。
ARP请求和 RARP请求,都是采用本地物理网络广播实现的。
在代理ARP中,当主机请求对隐藏在路由器后面的子网中的某一主机 IP 地址进行解析时,代理 ARP路由器将用自己的物理地址作为解析结果进行响应。
第五章 IP协议
IP是不可靠的无连接数据报协议,提供尽力而为的传输服务。
TCP/IP 协议的网络层称为IP层.
IP数据报在经过路由器进行转发时一般要进行三个方面的处理:首部校验、路由选择、数据分片
IP层通过IP地址实现了物理地址的统一,通过IP数据报实现了物理数据帧的统一。 IP 层通过这两个方面的统一屏蔽了底层的差异,向上层提供了统一的服务。
IP 数据报由首部和数据两部分构成 。首部分为定长部分和变长部分。选项是数据报首部的变长部分。定长部分 20 字节,选项不超过40字节。
IP 数据报中首部长度以 32 位字为单位 ,数据报总长度以字节为单位,片偏移以 8 字节( 64 比特)为单位。数据报中的数据长度 =数据报总长度-首部长度× 4。
IP 协议支持动态分片 ,控制分片和重组的字段是标识、标志和片偏移, 影响分片的因素是网络的最大传输单元 MTU ,MTU 是物理网络帧可以封装的最大数据字节数。通常不同协议的物理网络具有不同的MTU 。分片的重组只能在信宿机进行。
生存时间TTL是 IP 数据报在网络上传输时可以生存的最大时间,每经过一个路由器,数据报的TTL值减 1。
IP数据报只对首部进行校验 ,不对数据进行校验。
IP选项用于网络控制和测试 ,重要包括严格源路由、宽松源路由、记录路由和时间戳。
IP协议的主要功能 包括封装 IP 数据报,对数据报进行分片和重组,处理数据环回、IP选项、校验码和TTL值,进行路由选择等。
在IP 数据报中与分片相关的字段是标识字段、标志字段和片偏移字段。
数据报标识是分片所属数据报的关键信息,是分片重组的依据
分片必须满足两个条件: 分片尽可能大,但必须能为帧所封装 ;片中数据的大小必须为 8 字节的整数倍 ,否则 IP 无法表达其偏移量。
分片可以在信源机或传输路径上的任何一台路由器上进行,而分片的重组只能在信宿机上进行片重组的控制主要根据 数据报首部中的标识、标志和片偏移字段
IP选项是IP数据报首部中的变长部分,用于网络控制和测试目的 (如源路由、记录路由、时间戳等 ),IP选项的最大长度 不能超过40字节。
1、IP 层不对数据进行校验。
原因:上层传输层是端到端的协议,进行端到端的校验比进行点到点的校验开销小得多,在通信线路较好的情况下尤其如此。另外,上层协议可以根据对于数据可靠性的要求, 选择进行校验或不进行校验,甚至可以考虑采用不同的校验方法,这给系统带来很大的灵活性。
2、IP协议对IP数据报首部进行校验。
原因: IP 首部属于 IP 层协议的内容,不可能由上层协议处理。
IP 首部中的部分字段在点到点的传递过程中是不断变化的,只能在每个中间点重新形成校验数据,在相邻点之间完成校验。
3、分片必须满足两个条件:
分片尽可能大,但必须能为帧所封装 ;
片中数据的大小必须为8字节的整数倍,否则IP无法表达其偏移量。
第六章 差错与控制报文协议(ICMP)
ICMP 协议是 IP 协议的补充,用于IP层的差错报告、拥塞控制、路径控制以及路由器或主机信息的获取。
ICMP既不向信宿报告差错,也不向中间的路由器报告差错,而是 向信源报告差错 。
ICMP与 IP协议位于同一个层次,但 ICMP报文被封装在IP数据报的数据部分进行传输。
ICMP 报文可以分为三大类:差错报告、控制报文和请求 /应答报文。
ICMP 差错报告分为三种 :信宿不可达报告、数据报超时报告和数据报参数错报告。数据报超时报告包括 TTL 超时和分片重组超时。
数据报参数错包括数据报首部中的某个字段的值有错和数据报首部中缺少某一选项所必须具有的部分参数。
ICMP控制报文包括源抑制报文和重定向报文。
拥塞是无连接传输时缺乏流量控制机制而带来的问题。ICMP 利用源抑制的方法进行拥塞控制 ,通过源抑制减缓信源发出数据报的速率。
源抑制包括三个阶段 :发现拥塞阶段、解决拥塞阶段和恢复阶段。
ICMP 重定向报文由位于同一网络的路由器发送给主机,完成对主机的路由表的刷新。
ICMP 回应请求与应答不仅可以被用来测试主机或路由器的可达性,还可以被用来测试 IP 协议的工作情况。
ICMP时间戳请求与应答报文用于设备间进行时钟同步 。
主机利用 ICMP 路由器请求和通告报文不仅可以获得默认路由器的 IP 地址,还可以知道路由器是否处于活动状态。
第七章 IP 路由
数据传递分为直接传递和间接传递 ,直接传递是指直接传到最终信宿的传输过程。间接传递是指在信
源和信宿位于不同物理网络时,所经过的一些中间传递过程。
TCP/IP 采用 表驱动的方式 进行路由选择。在每台主机和路由器中都有一个反映网络拓扑结构的路由表,主机和路由器能够根据 路由表 所反映的拓扑信息找到去往信宿机的正确路径。
通常路由表中的 信宿地址采用网络地址 。路径信息采用去往信宿的路径中的下一跳路由器的地址表示。
路由表中的两个特殊表目是特定主机路由和默认路由表目。
路由表的建立和刷新可以采用两种不同 的方式:静态路由和动态路由。
自治系统 是由独立管理机构所管理的一组网络和路由器组成的系统。
路由器自动获取路径信息的两种基本方法是向量—距离算法和链路 —状态算法。
1、向量 — 距离 (Vector-Distance,简称 V—D)算法的基本思想 :路由器周期性地向与它相邻的路由器广播路径刷新报文,报文的主要内容是一组从本路由器出发去往信宿网络的最短距离,在报文中一般用(V,D)序偶表示,这里的 V 代表向量,标识从该路由器可以到达的信宿 (网络或主机 ),D 代表距离,指出从该路由器去往信宿 V 的距离, 距离 D 按照去往信宿的跳数计。 各个路由器根据收到的 (V ,D)报文,按照最短路径优先原则对各自的路由表进行刷新。
向量 —距离算法的优点是简单,易于实现。
缺点是收敛速度慢和信息交换量较大。
2、链路 — 状态 (Link-Status,简称 L-S)算法的基本思想 :系统中的每个路由器通过从其他路由器获得的信息,构造出当前网络的拓扑结构,根据这一拓扑结构,并利用 Dijkstra 算法形成一棵以本路由器为根的最短路径优先树, 由于这棵树反映了从本节点出发去往各路由节点的最短路径, 所以本节点就可以根据这棵最短路径优先树形成路由表。
动态路由所使用的路由协议包括用于自治系统内部的 内部网关协 议和用于自治系统之间的外部网关协议。
RIP协议在基本的向量 —距离算法的基础上 ,增加了对路由环路、相同距离路径、失效路径以及慢收敛问题的处理。 RIP 协议以路径上的跳数作为该路径的距离。 RIP 规定,一条有效路径的距离不能超过
RIP不适合大型网络。
RIP报文被封装在 UDP 数据报中传输。RIP使用 UDP 的 520 端口号。
3、RIP 协议的三个要点
仅和相邻路由器交换信息。
交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
按固定的时间间隔交换路由信息,例如,每隔30秒。
4、RIP 协议的优缺点
RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。
RIP 协议最大的优点就是实现简单,开销较小。
RIP 限制了网络的规模,它能使用的最大距离为15(16表示不可达)。
路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。
5、为了防止计数到无穷问题,可以采用以下三种技术。
1)水平 分割 法(Split Horizon) 水平分割法的基本思想:路由器从某个接口接收到的更新信息不允许再从这个接口发回去。在图 7-9 所示的例子中, R2 向 R1 发送 V-D 报文时,不能包含经过 R1 去往 NET1的路径。因为这一信息本身就是 R1 所产生的。
2) 保持法 (Hold Down) 保持法要求路由器在得知某网络不可到达后的一段时间内,保持此信息不变,这段时间称为保持时间,路由器在保持时间内不接受关于此网络的任何可达性信息。
3) 毒性逆转法 (Poison Reverse)毒性逆转法是水平分割法的一种变化。当从某一接口发出信息时,凡是从这一接口进来的信息改变了路由表表项的, V-D 报文中对应这些表目的距离值都设为无穷 (16)。
OSPF 将自治系统进一步划分为区域,每个区域由位于同一自治系统中的一组网络、主机和路由器构成。区域的划分不仅使得广播得到了更好的管理,而且使 OSPF能够支持大规模的网络。
OSPF是一个链路 —状态协议。当网络处于收敛状态时, 每个 OSPF路由器利用 Dijkstra 算法为每个网络和路由器计算最短路径,形成一棵以本路由器为根的最短路径优先 (SPF)树,并根据最短路径优先树构造路由表。
OSPF直接使用 IP。在IP首部的协议字段, OSPF协议的值为 89。
BGP 是采用路径 —向量算法的外部网关协议 , BGP 支持基于策略的路由,路由选择策略与政治、经济或安全等因素有关。
BGP 报文分为打开、更新、保持活动和通告 4 类。BGP 报文被封装在 TCP 段中传输,使用TCP的179 号端口 。
第八章 传输层协议
传输层承上启下,屏蔽通信子网的细节,向上提供通用的进程通信服务。传输层是对网络层的加强与弥补。 TCP 和 UDP 是传输层 的两大协议。
端口分配有两种基本的方式:全局端口分配和本地端口分配。
在因特网中采用一个 三元组 (协议,主机地址,端口号)来全局惟一地标识一个进程。用一个五元组(协议 ,本地主机地址 ,本地端口号 ,远地主机地址 ,远地端口号)来描述两个进程的关联。
TCP 和 UDP 都是提供进程通信能力的传输层协议。它们各有一套端口号,两套端口号相互独立,都是从0到 65535。
TCP 和 UDP 在计算校验和时引入伪首部的目的是为了能够验证数据是否传送到了正确的信宿端。
为了实现数据的可靠传输, TCP 在应用进程间 建立传输连接 。TCP 在建立连接时采用 三次握手方法解决重复连接的问题。在拆除连接时采用 四次握手 方法解决数据丢失问题。
建立连接前,服务器端首先被动打开其熟知的端口,对端口进行监听。当客户端要和服务器建立连接时,发出一个主动打开端口的请求,客户端一般使用临时端口。
TCP 采用的最基本的可靠性技术 包括流量控制、拥塞控制和差错控制。
TCP 采用 滑动窗口协议 实现流量控制,滑动窗口协议通过发送方窗口和接收方窗口的配合来完成传输控制。
TCP 的 拥塞控制 利用发送方的窗口来控制注入网络的数据流的速度。发送窗口的大小取通告窗口和拥塞窗口中小的一个。
TCP通过差错控制解决 数据的毁坏、重复、失序和丢失等问题。
UDP 在 IP 协议上增加了进程通信能力。此外 UDP 通过可选的校验和提供简单的差错控制。但UDP不提供流量控制和数据报确认 。
1、传输层( Transport Layer)的任务 是向用户提供可靠的、透明的端到端的数据传输,以及差错控制和流量控制机制。
2 “传输层提供应用进程间的逻辑通信 ”。“逻辑通信 ”的意思是:传输层之间的通信好像是沿水平方向传送数据。但事实上这两个传输层之间并没有一条水平方向的物理连接。
TCP 提供的可靠传输服务有如下五个特征 :
面向数据流 ; 虚电路连接 ; 有缓冲的传输 ; 无结构的数据流 ; 全双工连接 .
3、TCP 采用一种名为 “带重传功能的肯定确认 ( positive acknowledge with retransmission ) ”的技术作为提供可靠数据传输服务的基础。
第九章 域名系统
字符型的名字系统为用户提供了非常直观、便于理解和记忆的方法,非常符合用户的命名习惯。
因特网采用层次型命名机制 ,层次型命名机制将名字空间分成若干子空间,每个机构负责一个子空间的管理。 授权管理机构可以将其管理的子名字空间进一步划分, 授权给下一级机构管理。名字空间呈一种树形结构。
域名由圆点 “.”分开的标号序列构成 。若域名包含从树叶到树根的完整标号串并以圆点结束,则称该域名为完全合格域名FQDN。
常用的三块顶级域名 为通用顶级域名、国家代码顶级域名和反向域的顶级域名。
TCP/IP 的域名系统是一个有效的、可靠的、通用的、分布式的名字 —地址映射系统。区域是 DNS 服务器的管理单元,通常是指一个 DNS 服务器所管理的名字空间 。区域和域是不同的概念,域是一个完整的子树,而区域可以是子树中的任何一部分。
名字服务器的三种主要类型是 主名字服务器、次名字服务器和惟高速缓存名字服务器。主名字服务器拥有一个区域文件的原始版本,次名字服务器从主名字服务器那里获得区域文件的拷贝,次名字服务器通过区域传输同主名字服务器保持同步。
DNS 服务器和客户端属于 TCP/IP 模型的应用层, DNS 既可以使用 UDP,也可以使用 TCP 来进行通信。 DNS 服务器使用 UDP 和 TCP 的 53 号熟知端口。
DNS 服务器能够使用两种类型的解析: 递归解析和反复解析 。
DNS 响应报文中的回答部分、授权部分和附加信息部分由资源记录构成,资源记录存放在名字服务器的数据库中。
顶级域 cn 次级域 e.cn 子域 njust.e.cn 主机 sery.njust.e.cn
TFTP :普通文件传送协议( Trivial File Transfer Protocol )
RIP: 路由信息协议 (Routing Information Protocol)
OSPF 开放最短路径优先 (Open Shortest Path First)协议。
EGP 外部网关协议 (Exterior Gateway Protocol)
BGP 边界网关协议 (Border Gateway Protocol)
DHCP 动态主机配置协议( Dynamic Host Configuration Protocol)
Telnet工作原理 : 远程主机连接服务
FTP 文件传输工作原理 File Transfer Protocol
SMTP 邮件传输模型 Simple Message Transfer Protocol
HTTP 工作原理