软件测试之计算机网络

网络的定义:

1、利用通信线路将地理位置分散的、具有独立功能的许多网络主机联系起来。

2、按照特定的协议标准进行数据通信,以实现资源共享的信息系统。由此引申出tcp/ip协议

网络协议:网络实现通信时必须遵守的规则和约定。

举例双方通话时约定使用的同一种语言。

OSI 7层模型:

https://www.cnblogs.com/qishui/p/5428938.html 这个博客非常的简单易懂。

https://www.cnblogs.com/shiyuheng/p/8760210.html 表格很详细。

应用层:为计算机用户提供应用接口,也为用户提供各种网络服务。

表示层:就是数据格式的转换,对发送端和接收端的数据进行压缩解压缩、加密加密。

会话层:发送端和接受端建立会话,使用和断开会话连接。

传输层:为主机提供端到端的连接。比如MySQL数据库,如果使用,必须填写默认端口号3306,其他的数据库都有不同端口号。

网络层:网络连接服务。

数据链路层:将比特合成字节,再将字节组合成帧,使用链路层地址来访问介质,并进行差错检测。

物理层:主要包含物理连接媒介,比如双绞线、水晶头、电缆、光缆等。

各层对应的功能和协议:主要看应用层。

应用层常见的协议:HTTP、HTTPS、FTP、SMTP、DNS等。

Arp:地址解析协议,根据IP地址获取物理地址的一个tcp/ip协议。主机发送消息时,给广播所有人发送,并接受返回消息,以此确定目标的物理地址

http端口号80

1.         常用的tcp/IP协议,Telnet:远程连接,arp:地址解析协议,ICMP:控制报文协议,在主机和路由器之间传递控制消息。

2.         ftp:远程文件传输协议。

3.         SMTP:简单的邮件传输协议

4.         Nfs:网络文件系统

5.         Udp:用户数据报协议,可靠的、无连接的传输层协议

6.         超文本传输协议:应用最广泛的一种网络协议,所有的www文件都必须遵守这个标准。

tcp和udp的区别:

Tcp:面向连接的、可靠的传输层通信协议

UDP: 用户数据报协议,无连接的传输层协议

区别:

  1. tcp是面向连接,比如打电话要先拨号再建立连接,udp是无连接的。
  2. tcp提供可靠的服务。通过tcp连接传送的数据,无差错,不丢失,不重复,但是交付速度比较慢,udp传送数据会有丢失重复等现象。
  3. udp具有较好的时效性,传送速度快,适用于高速传输,比如看视频等。Tcp与之相反。
  4. tcp连接是一对一,而udp则是一对多。

一些简称:

IT:information technology英文缩写,全称信息技术。

IP:网络协议地址,是给用户上网使用的网际协议。

网络测试:

127.0.0.1本机ip地址

Nslookup www.baidu.com 测试dns解析是否正确。

软件的生命周期:

问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与执行

软件的开发模型:

瀑布模型:

需求分析——设计——编码——实现——【软件测试——完成——维护】

优点:开发的各个阶段比较清晰,2、当前阶段完成后只需要关注后续阶段

缺点:依赖于早期的需求调查,不适应需求的变化。2、风险后期显露,失去及早纠正的机会。3、前面未发现的错误会传递并扩散到后面的阶段,可能导致项目的失败。

1、开发步骤是独立的,不交叉

快速原型模型:快速分析——构造原型——运行原型——评价原型——修改

在开发真实的系统之前,创建一个原型模型,然后在此原型的基础上不断的完善。

优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。

注意,这种模型适合余下不能确切定义需求的软件系统的开发。

缺点:1、所选用的开发技术和工具不一定符合主流的发展,快速建立的系统结构并且不断修改可能会导致产品质量低下。2、使用这个模型的前提是要有一个展示性的产品原型,因此在一定程度上回限制开发人员的创造力。

螺旋模型:制定计划——风险分析——实施开发——客户评估

是一种演化软件开发过程的模型,兼顾了快速原型的迭代特征以及瀑布模型的系统化与严格化。强调风险,在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。

周期性的开发方法、四种象限

优点:设计上的灵活性,可以在项目的各个阶段进行变更。成本计算简单容易,客户参与每个阶段的开发,保证了项目不偏离正确方向,以及项目的可控性。

缺点:建设周期长,而软件技术发展较快,无法满足当前用户的需求。

V-模型

【开发】需求分析-概要设计-详细设计-编码——【测试】单元测试-集成测试-系统测试-验收测试

每一个环节都依赖于前一个环节。

单元测试:验证最小的模块,详细设计中的每一个细节

集成:验证概要设计,接口

系统测试:需求分析。检测已集成在一起的产品是否符合系统规格说明书(SRS、PRD)

验收测试:用户需求。检测产品是否符合最终用户的需求。

优点:包含底层测试和高层测试,开发的阶段十分清晰,便于控制开发过程。

缺点:顺序性所致,前期的错误后期测试阶段才发现。无法很好的适应需求的变化。

W模型:又称为双V模型

第一个是开发模型,第二个是测试模型

测试与开发并行

特点1:1、测试伴随着整个软件开发周期,2、测试的对象不仅仅是程序,需求、设计等同样要测试,3、测试与开发是同步进行的。

优点:W模型有利于尽早的全面的发现问题,有利于降低开发成本。

特点2:需求、设计、编码等活动被视为串行,2、测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。

局限性:无法支持迭代的开发模型(需求变更,更新)2、对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。

V模型和W模型优缺点对比:

H模型:

交叉进行,更多的是迭代执行。

将测试活动独立出来

优点:

1、软测完全独立,贯穿整个生命周期,且与其他流程并发进行

2、软测活动具有很强的灵活性。

软件的分类:

单机软件:不联网就能玩耍比如ps、ai、

分布式软件:C/s(client/sever)软件,必须装有软件才能使用,

            B/s(browser/server)软件,京东、淘宝

            是否需要客户端。

B/s只用浏览器就能使用,比如百度、谷歌、等,整个系统的事务处理都要用服务器来完成,浏览器起显示作用。京东、淘宝

c/s:需要下载专用的客户端,客户端的电脑也可以参与整个系统的事务处理,可以处理一些不需要服务器处理的事务。极域电子教室软件

猜你喜欢

转载自blog.csdn.net/qq_40320030/article/details/88680951