什么是网络测试?


什么是网络测试技术?

网络测试的定义:网络测试是为利益相关者提供有关产品或服务质量测试是否合格的一项调查。 网络测速的目的:为企业了解和理解网络实施风险提供了一个客观、独立的网络视图。

简述网络测试的概念  

什么是网络测试方法?网络测试的类型和方法:

软件测试方法是使用各种策略或方法来测试应用程序以确保其功能运行和外观设计符合客户需求。 软件测试方法和技术包括了从前端到后端的所有测试,以及单元测试和系统测试。

简述网络测试的分类

功能测试和非功能测试:

在软件开发过程中我们会使用各种测试方法,目的是为了确保开发的软件能够在不同环境、跨不同平台正常运行。 而这一目的的实现是通过功能测试方法和非功能测试方法一分为二的进行。功能测试方法是根据业务需求测试应用程序。功能测试的方法包含了所有的测试类型,并借鉴设计团队或业务分析师提供的使用案例,旨在保证软件的各个功能可以如期运行。以下的功能测试方法都是按序进行的:

  • 单元测试
  • 集成测试
  • 系统测试
  • 验收测试

非功能性测试方法包含了所有偏向于软件操作方面的测试类型,包括:

  • 性能测试
  • 安全测试
  • 可用性测试
  • 兼容性测试

发布一个易于被终端客户所接纳的高质量软件,关键是建立一个能够执行功能和非功能软件测试方法的健壮性测试框架。

一)、功能测试的基本方法:

  • 单元测试分析

什么是单元测试? 如何做好单元测试?

单元测试是测试的第一级,通常由开发人员自己操作。 单元测试的对象是软件中最小可测试单元。单元测试的目标是确保软件(代码级别)的单个模块能按设计要求正常运行。在测试驱动环境中,开发人员通常会在将软件或软件某块功能交付给测试团队之前为其编写代码并进行测试。单元测试可以手动进行,也可以采用自动化测试方法,自动化测试可以加快软件的交付周期并扩大测试范围。

单元测试的优势及优点:单元测试更易于调试,因为越早地发现问题就能越早的修复问题,这比在测试后期发现问题、修复问题耗时要短、效率要高。 Testleft是一种自动化测试工具,它允许高级测试人员和开发人员将自动化测试工具嵌入到IDE(Integrated Development Environment, 集成开发环境) 中以快速实现测试左移。

  • 集成测试

什么是集成测试?集成测试包括哪些内容?

每个单元测试完成后需要与其他单元集成来创建用于完成具体任务或活动的模块或组件。创建的模块或组件再经集成测试分组进行测试以确保应用程序所有的分段都能按预期正常工作(即单元之间无缝交互)。这些测试通常是从用户体验角度出发设计的,例如测试人员会登录到应用程序或打开文件进行相关测试。集成测试可以是由开发团队一起来完成或由软件测试人员独立完成,通常会采用功能自动化测试和手动测试结合的方式来完成。

  • 系统测试

系统测试是什么?它有什么作用?

系统测试是一种黑匣子测试方法,用于评估已完成的系统和集成系统作为一个整体是否能满足规定要求。 软件功能测试是端到端的测试,通常是由一个单独的测试团队完成,而不是由产品投入生产前的开发团队完成。

  • 验收测试

验收测试是功能测试的最后阶段,用于评估软件的最终版本是否准备就绪以便交付。验收测试要确保产品完全符合预期的商业规范、并能满足终端用户的需求。验收测试需要将测试产品的内部功能和外观设计,并连同QA团队作出的测试报告一起交付给终端用户进行测试。Beta测试是验收测试的一种,它是从潜在客户那里获得真正反馈的关键,也是解决产品可用性问题的重要依据。

二)、非功能测试方法

  • 性能测试

什么是性能测试?性能测试是怎么测试的?

性能测试(Performance testing)是一种非功能测试技术,用于测试应用程序如何在不同环境中工作。性能测试的目的是测试应用程序在实际用户访问情况下的响应能力及稳定性。性能测试包括以下四种类型:

1)、负载测试:

简述什么是负载测试?负载测试(Load testing):网络负载测试是在设计的软件、应用程序、或网站上渐增模拟需求数量以验证它们能否按设计要求处理这些请求。

2)、压力测试

压力测试 (Stress testing):软件压力测试比负载测试工作强度要更高,压力测试是用来衡量软件在达到最大负荷量或超过最大负荷量时会作出怎样的响应。压力测试的目标是故意使应用程序处于负载状态,直到应用程序无法负载实际的压力测试情景和虚拟的压力测试情景而响应退化或失败。压力测试的作用是帮你找到软件的故障点。

3)、浸泡测试:

什么叫浸泡测试?软件测试中的soak testing是什么意思?如何做的?

耐力测试 (Endurance testing):也称浸泡测试(soak testing),用于分析应用程序在长时间内对一定数量的模拟用户访问作出怎样的响应。浸泡测试的目的是为了了解系统在持续使用的情况下如何运行。从测试进程来看,负载测试或压力测试用时较短,一般会在几小时内完成,而浸泡测试的进程要比负载测试或压力测试用时更长。浸泡测试的关键作用在于帮你找出应用程序的内存泄漏

4)、尖峰测试

尖峰测试(Spike testing)是负载测试的一种,用于测试在不同时间段内软件对大量并发用户或大量系统活动作出的响应。理论上讲,尖峰测试可以让你了解当用户数量突然急剧增加时网络的运行情况。

  • 安全测试

安全测试怎么测?安全测试包含哪些内容?

随着基于云的测试平台的兴起和网络攻击的泛滥,企业也愈加关注正在使用的及存储于软件中的数据安全性。安全测试是一种非功能性的软件测试技术。安全测试服务用于测试系统中的信息和数据是否被妥当保管。安全测试的目的和方法:果断地找出系统中的漏洞和安全风险,这些漏洞和风险可能会导致未经授权的访问或应用程序的弱点被探查致使信息丢失。安全测试的常用方法有多种,每种安全性测试的方法目的都是为了验证信息安全的六个要素:

  1. 数据完整性
  2. 数据保密性
  3. 数据验证性
  4. 数据权威性
  5. 数据可用性
  6. 数据不可否认性
  • 可用性测试

什么是可用性测试?怎么做可用性测试?

可用性测试是从终端用户的角度出发来检测应用程序易用性的一种测试方法。可用性测试通常是在系统测试或验收测试阶段执行的。可用性测试用于测试应用程序的视觉设计(visible design)和审美是否符合不同进程的预期工作流,例如看是否能正常登录到应用程序。可用性测试方法是团队审查单一功能或整个系统是否好用的最佳方法。

  • 兼容性测试

什么是兼容性测试?如何进行兼容性测试?

兼容性测试怎么做?兼容性测试用于衡量应用程序或软件是如何在不同环境中工作的。 兼容性测试用于检查开发的产品能否与多个操作系统、多个平台、多种浏览器或不同分辨率的配置相兼容。兼容性测试的目的是确保软件功能可以在终端用户被授权的访问环境中正常运行。

Testcomplete是由Smartbear推出的功能强大的自动化GUI(Graphical User Interface,图形用户界面)测试工具。TestComplete擅长兼容性测试和集成测试,还可以帮助QA团队创建测试并测试桌面应用程序、移动应用程序和Web应用程序。TestComplete在帮助测试人员加快产品交付周期的同时也提高了软件质量。Testcomplete为各种测试环境提供了内置支持,并与性能测试工具相集成,形成易于开发人员操作的SCMs(软件配置管理(程序),Software configuration management)。TestComplete可以被无缝集成到开发过程中,还能帮你构建一个健壮的测试框架,所有常见的软件测试方法都可适用其中。

网络测试的测试类型:   

软件测试类型可以根据各种不同的测试目标进行分类。从概念层面来讲,在网络环境中,可以使用Silk Test Classic自动化工具测试的自动化应用程序类型有:

  • 自动化功能测试
  • 自动化配置测试
  • 自动化并发测试

以上自动化应用程序测试类型的排序使用的是Silk Test Classic的增量式功能测试方法。自动化测试的每个阶段都取决于前一阶段的测试是否成功有效地完成。功能测试、配置测试和并发测试是不同于回归测试的,回归测试是所有负载测试的先决条件。使用Silk Test可以进行负载测试、压力测试和性能测试,也可以通过单个客户机执行功能测试。并发测试、配置测试、功能测试可以使用两个客户端的测试台来进行操作,峰值负载测试和容量测试支持数量庞大的多用户负载,因此需要更大的测试台。

  • 并发测试-描述了如何在同一台服务器上测试两个客户端。
  • 配置测试-描述了如何测试可能的不同类型客户端平台与不同类型服务器平台之间的兼容性。
  • 功能测试-描述了如何测试单个应用程序实例的功能。
  • 峰值负载测试-描述了如何在短时间内添加大量用户到服务器并模拟应用程序在用户高峰期可能生成的最大需求。
  • 容量测试-描述了在大量数据传输进行的情况下如何在服务器上添加大量用户。

为什么要网络测试?

网络测试的目的是确保网络配置可以按设计要求正常运行。网络测试跟软件测试相类似,但有一点例外:与软件测试不同的是,网络测试需在更改好配置后再进行联网测试。实际上,要在实验环境中建立像大型企业网络如此复杂的网络系统或互联网是极其困难的一件事。因此,网络测试是网络实施过程中必不可少的一步。

网络测试用例

网络测试应该在配置更改后进行以确保网络连接能一直正常运行下去,此外,你还需要通过活动网络监测工具帮你实时监测网络异常。在网络配置更改完成后,你可以运用以下方式来验证你的网络设计和实施假定是否成立:

  • 启动电路或新站点:一旦安装了新的远程站点或WAN链路,你可以使用iPerf网络宽带测试工具来验证你的网络请求是否成功,再运行ping命令以确保电路不会出现丢包现象。
  • 修改路由策略:由于网络连接的错综复杂,连接的网络越多,在路由表上修改路由策略产生的不可预期后果风险也就越高。通过使用分布式监控智能代理软件,在全网络范围内运行连续的ping命令和traceroute测试,你可以实时验证路由策略的修改是否能如预期般在修改路由表配置。
  • 更新防火墙设置:阻止或允许某些特定流量的传入和输出是验证一个新的防火墙规则是否设置成功并执行良好的最佳实例。为了验证防火墙是否成功更新,你可以使用nmap端口扫描器,或者从一个未受保护的网络到一个受保护的网络执行TCP-based 的ping测试。
  • 服务质量(QoS):将QoS配置到网络设置中并不是一件容易的事,有许多安装项目运行时所依赖的模块很有可能会报错,你必须通过测试来验证网络是否运行无误,最终网络可以按照设计要求将数据流很好的进行分配、标识和排序。

如何进行网速测试呢?

那么,我们如何进行网络测试呢?你可以借助一种被称为terminal的工具。无论你的电脑系统配置的是unix/linux、windows或mac系统,开箱即用(out-of-the-box, 即不修改软件配置)命令行接口(CLI,command line interface )都可以提供许多可用于执行网络测试的实用程序,包括ping和traceroute。

唯一的问题是CLI是本地的,而不是分布式的。 你可以将telnet或SSH连接到不同的远程主机,并远程执行与本地运行相同的测试。 然而,这种方法没有缩放功能,也不提供历史数据。 由于这个原因,使用分布式的、GUI驱动的测试解决方案是很重要的,它同时在许多主机上运行网络测试命令,并将它们的结果存储以供历史审查。 Netbez是一种网络监控解决方案,它在基于浏览器的界面中提供这些功能。 你可以运行临时或永久命令,如ping、traceroute和iperf。

Author: Maha

我是Wintesting中国站的 Maha,目前职位是市场营销&内容经理,负责CN Wintetsing网站内容的设计、编写与发布,同时还监管国内市场营销工作。与此同时,我也是一名IT培训教员,我的教育背景和所从事的行业都是与IT工程师行业及信息通信技术相关。此外,除了编写中英双语的新兴技术文稿外,我还是一名IT翻译工作者,累积翻译字数逾近10万,涉及的领域有大数据、人工智能、IoT、机器学习、云计算、AR&VR、计算机网络技术、计算机网络安全技术、应用程序测试、软件测试、系统测试、网络测试及IT基础设施等。如果你需要相关领域的内容编写或翻译工作请联系我。