当前位置: 首页 > article >正文

软件测试基础知识③—计算机网络基础

在软件测试领域,计算机网络知识不可或缺。如今多数软件依赖网络环境运行,了解计算机网络基础,对全面、高效开展软件测试意义重大。接下来,让我们一同深入探索计算机网络的世界。

在这里插入图片描述

一、计算机网络的发展历程

计算机网络从诞生到如今的高度发达,历经了多个重要阶段:

  1. 面向终端的计算机网络(20世纪50 - 60年代):这是计算机网络发展的雏形。当时计算机昂贵且稀少,为实现多用户使用,人们将一台主机与多个终端通过通信线路相连,终端仅负责输入输出,数据处理由主机集中完成。比如早期的航空公司订票系统,多个终端连接到一台中央计算机,实现票务信息的查询与预订。此阶段奠定了计算机与通信技术结合的基础。
  2. 计算机 - 计算机网络(20世纪60 - 70年代):随着计算机技术发展,为实现计算机间资源共享与协同工作,计算机 - 计算机网络应运而生。以美国国防部高级研究计划局网络(ARPANET)为代表,它采用分组交换技术,将多台计算机连接起来,是现代互联网的前身。ARPANET的成功运行,标志着计算机网络进入新的发展阶段。
  3. 标准化网络(20世纪70 - 90年代):网络规模扩大,不同网络互联需求增加,网络标准化提上日程。国际标准化组织(ISO)制定开放系统互连参考模型(OSI/RM),为网络体系结构标准化提供框架。同时,TCP/IP协议逐渐成熟并广泛应用,因其简洁实用,成为事实上的网络标准协议,推动了互联网发展。
  4. 互联网与高速网络(20世纪90年代至今):互联网商业化开启网络发展新篇章,用户数量和网络应用爆发式增长。万维网(WWW)出现使信息传播更便捷。同时,网络技术不断革新,高速以太网、光纤通信、无线网络等技术涌现,满足了人们对高速、稳定网络连接的需求。

二、计算机网络的定义与分类

(一)定义

计算机网络指将地理位置不同、具独立功能的多台计算机及外部设备,通过通信线路连接,在网络操作系统、管理软件及通信协议协调管理下,实现资源共享与信息传递的系统。简单说,就是让不同地方计算机能相互“交流”与共享资源。

(二)分类

  1. 按地理范围分类
    • 局域网(LAN):覆盖范围通常在几百米到数千米间,如办公室、大楼或校园网络。局域网内设备连接紧密,数据传输快,安全性较高。常见家庭网络、企业办公网络多属局域网。例如办公室通过路由器连接多台计算机,方便员工共享文件与打印机。
    • 城域网(MAN):覆盖范围一般为城市,跨度几千米到几十千米。城域网由多个局域网连接而成,用于连接城市内企业、学校、政府机构等。如城市教育城域网,连接市内学校局域网,实现教育资源共享。
    • 广域网(WAN):覆盖范围广阔,可跨越城市、国家甚至全球。互联网是最大广域网,通过通信线路和设备连接世界各地网络。企业全球分支机构借此进行数据传输与业务沟通。
  2. 按拓扑结构分类
    • 总线型拓扑:所有设备连在一条总线上,数据沿总线传输。结构简单、成本低,但总线故障会致网络瘫痪,节点增加会降低性能。早期小型网络常用此结构。
    • 星型拓扑:以中央节点为中心,其他节点与之相连。便于集中管理,单个节点故障不影响其他节点,但中央节点故障会致全网瘫痪。目前多数企业和家庭网络采用此结构,路由器是中央节点。
    • 环型拓扑:各节点通过通信线路连成闭合环,数据单向传输。结构简单,传输延迟固定,但节点故障会致全网瘫痪,且不易扩展。

三、网络协议

网络协议如同网络世界的“语言规则”,规定设备通信方式。以下是常见网络协议:

(一)TCP/IP协议族

  1. IP(网际协议):负责数据包从源到目标地址传输,实现网络层寻址与路由。IP地址是设备标识,常用IPv4(如192.168.1.1),因资源有限,IPv6逐渐推广。
  2. TCP(传输控制协议):建立在IP之上,提供可靠、面向连接的数据传输。传输前通过三次握手建立连接,传输中通过确认、重传机制保证数据准确完整。HTTP、SMTP等基于TCP传输数据。
  3. UDP(用户数据报协议):基于IP,无连接且不可靠。不保证数据有序到达与完整性,适用于实时性高但准确性要求低的场景,如音视频流传输。

(二)HTTP协议

超文本传输协议,用于Web浏览器与服务器间传输超文本(如HTML页面)。基于请求 - 响应模型,客户端发请求,服务器回响应。如在浏览器输入网址,浏览器向服务器发HTTP请求,服务器返回网页内容。常见HTTP状态码有200(请求成功)、404(页面未找到)、500(服务器内部错误)等,对排查Web应用问题很重要。

(三)FTP协议

文件传输协议,用于网络文件上传与下载。用户可借此在计算机间传输文件,常用于网站更新、文件共享。FTP用两个端口,一个控制连接(默认21),一个数据传输(默认20)。

四、网络设备

(一)路由器

连接不同网络,主要功能是依路由表转发数据包。可连接多个局域网与广域网,实现网络间通信。如家庭路由器连接家庭局域网与ISP提供的广域网,使设备能上网。

(二)交换机

工作在数据链路层,连接局域网内设备,如计算机、服务器。通过学习设备MAC地址,准确转发数据帧,提高局域网传输效率,减少冲突。企业办公网络中,交换机连接各办公室计算机,形成高效局域网。

(三)防火墙

网络安全设备,位于内外网间,依预设规则监控过滤流量,防外部非法访问与内部信息泄露,保护内网安全。可基于IP地址、端口号、协议等过滤。企业防火墙可阻止外部非法访问内部财务系统服务器。

五、计算机网络在软件测试中的应用

(一)功能测试

软件功能测试时,了解网络协议与环境,有助于判断软件在不同网络条件下功能是否正常。如Web应用程序,测试人员需模拟不同带宽、延迟情况,检查页面加载速度、数据传输准确性。高延迟下,若应用出现数据丢失或页面加载异常,说明存在功能缺陷。

(二)性能测试

网络性能是软件性能测试重要部分。测试人员关注带宽、吞吐量、延迟等指标对软件性能影响。如在线游戏,带宽不足可能致画面卡顿、数据更新不及时;高延迟会使操作与响应延迟,影响体验。通过模拟不同网络环境,获取性能指标数据,助开发团队优化性能。

(三)安全测试

网络安全是软件安全关键。测试人员利用网络设备与协议知识,检查软件网络安全性。如测试防火墙规则配置是否合理,防外部入侵;检查数据传输是否加密(如HTTPS),防数据窃取篡改。

掌握计算机网络基础,对软件测试人员而言,如同掌握打开复杂网络环境软件测试大门的钥匙。它助于深入理解软件运行机制,发现潜在问题,提升软件质量与可靠性。希望本文能为大家软件测试学习与实践提供帮助,让我们在网络世界的软件测试中更加游刃有余。

以上是本次计算机网络基础作为软件测试基础知识的全部内容,后续将继续分享相关实用知识,敬请关注!


http://www.kler.cn/a/487948.html

相关文章:

  • ubuntu20下编译linux1.0 (part1)
  • 2024年华为OD机试真题-判断一组不等式是否满足约束并输出最大差-Python-OD统一考试(E卷)
  • [笔记] 使用 Jenkins 实现 CI/CD :从 GitLab 拉取 Java 项目并部署至 Windows Server
  • python【数据结构】
  • 【算法】算法大纲
  • 在JavaScript开发中,如何判断对象自身为空?
  • redis 模糊删除
  • 电脑每次开机卡到windows图标界面进不去
  • 设计模式 行为型 模板方法模式(Template Method Pattern)与 常见技术框架应用 解析
  • Git:merge合并、冲突解决、强行回退的终极解决方案
  • 社交新零售下开源 AI 智能名片 2+1 链动模式 S2B2C 商城小程序的创新实践与发展剖析
  • 【MySQL】数据库可视化工具,MySQL命令
  • ClickHouse vs StarRocks 选型对比
  • 红帽认证 VS 华为HCIP哪个有用?
  • 执行这个composer require topthink/think-mongo 报错
  • elasticsearch常见故障汇总
  • 2025年伊始:回顾 ChatGPT 引发的 AI 变革以及未来展望
  • xfs扩容目录lvm
  • 2025年XR行业展望:超越虚拟,融合现实
  • 浏览器网络插件
  • Linux 正则表达式 ⑪
  • 动漫周边商城系统|Java|SSM|VUE| 前后端分离
  • 【网络安全渗透测试零基础入门】之XSS攻击获取用户cookie和用户密码(实战演示)
  • HarmonyOS(ArkUI框架介绍)
  • 集成Log4j2以及异步日志
  • C++ 各标准的新特性