iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >关于彻底测试你需要知道的所有事情
  • 178
分享到

关于彻底测试你需要知道的所有事情

2023-06-04 16:06:56 178人浏览 薄情痞子
摘要

什么是穷举测试?当您的团队中的所有测试人员都用尽并且所有计划的测试都已执行时,就会发生详尽的测试(也称为完整测试)。它是一种质量保证测试技术,其中测试所有场景或数据以进行测试。以更容易理解的方式,详尽的测试意味着确保在测试阶段结束时没有未发

什么是穷举测试

当您的团队中的所有测试人员都用尽并且所有计划的测试都已执行时,就会发生详尽的测试(也称为完整测试)。它是一种质量保证测试技术,其中测试所有场景或数据以进行测试。以更容易理解的方式,详尽的测试意味着确保在测试阶段结束时没有未发现的故障。除了微不足道的情况之外,测试一切(输入和前置条件的所有组合)是不可行的。作为测试人员,我们经常说,“好吧,我从来没有足够的时间进行测试。”即使你在这个世界上有所有时间,你仍然没有足够的时间来测试所有可能的输入组合和输出组合。

穷举测试策略

我们知道,软件测试的7个测试原则之一表明无法进行详尽的测试。现在的问题是,由于无法进行详尽的测试,我们应该如何获得足够的覆盖率来判断被测应用程序是否倾向于没有任何缺陷?

我们不是试图用我们倾向于做的事情来测试所有内容,而是想要应用一些有用的方法,而是使用风险和优先级来集中测试工作。我们可能会采用成对测试等技术来减少组合的数量,或者使用因果图形等方法,并采用更多基于逻辑的方法来优化我们的测试。以下是可以在测试计划中明确包含的基本和基本策略:

  • 对业务的影响:这不是唯一的,而是了解风险的最重要参数之一。测试人员应该质疑,如果被测模块的某个功能失效,它将给整个模块带来多大的风险。测试人员应该不断与模块的业务分析师合作,以了解每个功能失败带来的威胁,以便在测试中优先考虑它。

  • 失败的可能性:此参数在理解功能的健康状况方面也起着重要作用。与其他功能相比,某些功能可能具有很高的失败概率。例如,让我们考虑一个电子商务网站,该网站将具有以用户身份登录的一种功能,以及确定用户浏览历史记录并正确地为用户提供更多选项(交叉销售/追加销售)。作为测试人员,我们可以确定第二个功能具有更高的破解概率,因为与可能具有较低失败概率的登录页面相比,它包含许多要实现的业务算法

  • 回归:测试人员应该通过识别在AUT的某些区域发生变化或增加时必须更频繁地回归的功能来查看此参数。应该进行正确的影响分析,以正确确定区域。影响分析应始终涉及开发人员,QA和业务分析师团队,以便正确了解受影响的区域。

  • 恢复:如果某个功能会破坏恢复的速度或恢复所需的时间。质量保证人员可以从开发人员那里获得被测应用程序的每个功能的恢复时间。

为什么穷举测试是不切实际和不可能的

无法执行完整测试或详尽测试。对于大多数系统而言,由于以下原因几乎不可能:

  • 程序可能输入的域太大,无法完全用于测试系统。有效输入和无效输入。

  • 该计划可能有大量的州。输入可能存在时序约束,即输入可能在某个时间有效而在其他时间无效。有效但未正确定时的输入值称为不合适输入。系统的输入域可以非常大,以完全用于测试程序。

  • 设计问题可能太复杂而无法完全测试。设计可能包含隐式设计决策和假设。例如,程序员可以使用全局变量或静态变量来控制程序执行。

  • 可能无法创建系统的所有可能的执行环境。当软件系统的行为取决于真实的外部世界时,例如天气,温度,海拔高度,压力等,这变得更加重要。

详尽的测试示例

例1:

关于彻底测试你需要知道的所有事情IE工具>高级选项窗口:

  • 53二元条件

  • 1条件有3个选项

  • 1个条件有4个选项

  • 2 ^ 53 = 9,007,199,254,740,992 x 12 = 108,086,391,056,891,904条件的可能组合

每次测试执行一秒钟:

108,086,391,056,891,904 / 360 = 300,239,975,158,033.067小时(12,509,998,964,918.04天或34,273,969,766.9年)测试所有可能的组合。

例2:

我们来看一个具有以下功能的电子商务网站:

  • 登录

  • 选择产品

    • 过滤产品的颜色

    • 按价格过滤产品。

  • 添加到购物车

  • 购买产品(支付门户)

在风险识别参数的基础上,用户可以创建一个矩阵以包含在测试计划中。每个参数都可以给出分数,这样我们就可以有一个正确的方法来识别高风险区域。

  • 对业务的影响:1-10

  • 失败的可能性:1-10

  • 回归:1-5

  • 恢复:1-5

根据上述方法,得分高于25的区域应被视为极高风险区域,并且需要进行近乎彻底的测试。因此,对于上面的示例,“添加到购物车”应该对所有测试类型实施深入测试,并且应该进行详尽的测试。

让我们为上面的例子创建一个矩阵:

功能对业务的影响失败的可能性回归复苏
登录10311 = 15
选择带滤色镜的产品22 = 14
选择带有价格过滤器的产品822 = 17
添加到购物车10834 = 25
购买该产品10722 = 21

因此,根据得分,我们将“添加到购物车”功能作为“最高风险区域”的最重要竞争者,因此现在我们可以优先考虑测试。我们还可以确定QA团队需要进行近乎详尽的测试。 

质量保证团队可以通过查看他们的分数来简化风险缓解计划

  • 分数1-5: - 单元测试和评论。

  • 分数5-10: - 单元测试+黑盒测试(回归和高业务影响区域)

  • 分数10-15: - 深度有限的典型测试类型。

  • 分数15-25: - 某些测试类型中具有深度的典型测试类型。

  • 分数25-30: - 高风险区域。对所有测试类型进行全面覆盖和深入测试。

根据上述方法,得分高于25的区域应被视为极高风险区域,并且需要进行近乎彻底的测试。因此,对于上述示例,“添加到购物车”应实施深入测试对于所有测试类型和应该进行详尽的测试。

详尽测试和有效测试之间有什么区别?

有效的测试彻底的测试
有效的测试强调了测试软件的有效技术,以便在受限资源内测试重要的功能穷举或完全测试意味着必须执行程序中的每个语句和每个可能的数据路径组合
这是一种实用的方法,因为:
  • 最终产品没有错误

  • 它测试每个阶段的开发周期

  • 它使用受限资源

无法执行,因为:
  • 实现截止日期

  • 各种可能的选择

  • 时间限制

  • 可能的测试环境数量

它具有成本效益这不符合成本效益
它不那么耗时,也不那么复杂这既耗时又复杂
它被采用,以便最好地覆盖关键测试用例它涵盖了所有测试用例
为了进行有效的测试,我们可以使用等价类方法,BVA等来最小化穷举测试所面临的问题假设密码字段接受3个混乱。因此,我们必须在穷举测试期间测试大约256x256x256的输入组合。

--结束END--

本文标题: 关于彻底测试你需要知道的所有事情

本文链接: https://www.lsjlt.com/news/238482.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 关于彻底测试你需要知道的所有事情
    什么是穷举测试?当您的团队中的所有测试人员都用尽并且所有计划的测试都已执行时,就会发生详尽的测试(也称为完整测试)。它是一种质量保证测试技术,其中测试所有场景或数据以进行测试。以更容易理解的方式,详尽的测试意味着确保在测试阶段结束时没有未发...
    99+
    2023-06-04
  • PHP日志文件同步:你需要知道的所有事情。
    PHP日志文件同步:你需要知道的所有事情 在现代的Web应用程序中,日志文件是非常重要的组成部分。它们记录了应用程序的运行情况,包括错误、警告、调试信息和性能数据等。在开发和维护应用程序时,日志文件是一个非常有用的工具,可以帮助我们快速定位...
    99+
    2023-07-09
    日志 文件 同步
  • 关于Emacs中的变量需要知道的事情有哪些
    关于Emacs中的变量需要知道的事情有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。学习 Elisp 是如何处理变量的,以及如何在你的脚本与配置中使用它们。GNU Em...
    99+
    2023-06-16
  • ASP shell 容器:你需要知道的一切关于响应的事情!
    ASP shell 是一种常用的 Web 攻击工具,它可以通过 Web 应用程序的漏洞来获得系统的控制权。然而,这种攻击手法也可以被用来进行安全测试和漏洞挖掘。ASP shell 容器就是一个用来模拟 ASP shell 攻击的工具,它可...
    99+
    2023-06-21
    shell 容器 响应
  • Python shell 打包到 Linux:你需要知道的所有事情是什么?
    Python是一种高级编程语言,广泛应用于Web开发、数据分析、人工智能等领域。在Linux系统中,Python的应用非常广泛,从系统管理到网络编程,从数据处理到机器学习,都有Python的身影。如果你想将Python shell程序打包...
    99+
    2023-10-19
    shell 打包 linux
  • 你需要知道的关于ASP和npm日志接口的所有信息
    ASP和npm日志接口都是非常有用的工具,它们可以帮助开发人员更好地了解他们的应用程序在运行时的状态。在本文中,我们将介绍ASP和npm日志接口的所有信息,包括它们的基本概念、使用方法、以及演示代码。 ASP日志接口 ASP日志接口是用于在...
    99+
    2023-10-05
    npm 日志 接口
  • 你需要知道的关于Go和Django接口文件的所有内容。
    Go和Django都是非常流行的Web开发框架,它们都有着非常强大的功能,支持快速开发高效的Web应用程序。其中一个重要的概念就是接口文件,这个文件定义了应用程序的接口和数据格式。在本文中,我们将介绍Go和Django接口文件的所有内容,以...
    99+
    2023-08-25
    django 接口 文件
  • PHP 容器日志:你需要知道的所有关键字。
    PHP 容器日志:你需要知道的所有关键字 在使用 PHP 容器化部署时,日志记录是一个必不可少的功能。它可以帮助我们了解应用程序的运行状况,及时发现问题并进行处理。在本文中,我们将介绍一些与 PHP 容器日志相关的关键字,帮助读者更好地理解...
    99+
    2023-10-23
    容器 关键字 日志
  • 面试中的Java和Bash:你需要知道的所有内容!
    在计算机科学领域,Java和Bash是两种非常重要的编程语言。Java是一种面向对象的编程语言,广泛用于Web应用程序、企业级应用程序和移动应用程序的开发。Bash是一种Unix shell和命令语言,用于自动化任务和系统管理。在面试中,...
    99+
    2023-09-18
    bash 教程 面试
  • Linux Shell 中的 Java 函数:你需要知道的事情!
    在 Linux Shell 中使用 Java 函数是一项非常有用的技能。尤其是在需要对大量数据进行处理时,Java 函数可以帮助我们快速高效地完成任务。在本文中,我们将介绍使用 Java 函数在 Linux Shell 中进行编程的基本知...
    99+
    2023-08-10
    函数 linux shell
  • 学习Numpy:你需要知道的最重要的事情是什么?
    Numpy是Python中最常用的科学计算库之一。它提供了高效的多维数组对象和用于操作数组的各种函数。在本文中,我们将学习Numpy的一些基础知识,并且演示一些代码,以帮助你更好地了解如何使用这个库。 数组的创建 首先,我们需要学会创...
    99+
    2023-07-10
    django numpy leetcode
  • PHP函数numy教程:你需要知道的所有关键信息。
    PHP函数numy教程:你需要知道的所有关键信息 在PHP编程中,函数是非常重要的一部分。函数允许开发人员将一些常用的代码片段打包成一个单元,以便在程序中多次使用。numy函数是PHP中非常重要的函数之一,本文将介绍numy函数的所有关键信...
    99+
    2023-06-26
    函数 numy 教程
  • PHP文件Shell面试题解析:你需要知道的所有细节!
    在PHP开发领域中,Shell脚本是一个十分重要的概念。在面试中,经常会被问到关于Shell脚本的问题。今天我们就来探讨一下PHP文件Shell面试题解析,让你了解所有的细节。 Shell脚本的定义 Shell脚本是一种在Unix或L...
    99+
    2023-05-30
    文件 shell 面试
  • Unix 上的 Go IDE:你需要知道的所有信息。
    Unix 上的 Go IDE:你需要知道的所有信息 Go(也称为 Golang)是一种开源编程语言,由 Google 开发并推广,适用于构建高效、可伸缩和可靠的软件。自问世以来,Go 一直备受关注,因其简单、易学、高效和可靠的特性而备受开发...
    99+
    2023-08-26
    unix ide 索引
  • ASP 框架与 Apache、Linux 系统之间的关系,你需要知道的事情。
    ASP框架与Apache、Linux系统之间的关系,你需要知道的事情 ASP框架是一种基于Microsoft的Web应用程序开发技术,它提供了许多功能强大的工具和库,帮助开发者快速构建高性能的Web应用程序。但是,随着Linux和Apach...
    99+
    2023-10-13
    框架 apache linux
  • Java 框架中的 Path 索引:你需要知道的所有关于优化你的应用程序的知识。
    Java 是一种广泛使用的编程语言,它提供了丰富的编程框架,以便开发人员可以更快速地开发高质量的应用程序。其中,Path 索引是一个非常重要的概念,在 Java 应用程序的性能优化中扮演着关键的角色。在本文中,我们将探讨 Path 索引的概...
    99+
    2023-06-26
    框架 path 索引
  • 二维码在ASP路径中的应用:您需要知道的所有事情
    二维码在ASP路径中的应用:您需要知道的所有事情 随着二维码技术的不断发展,越来越多的企业和个人开始使用二维码来传递信息和进行营销。而在ASP路径中应用二维码也成为了一个越来越热门的话题。在本文中,我们将为您介绍二维码在ASP路径中的应用,...
    99+
    2023-10-06
    path 二维码 http
  • Python 面试中的实时 API 考察,你需要知道的所有细节
    在 Python 面试过程中,常常会涉及到实时 API 考察,这是考察面试者对于 Python API 的理解以及应用能力的重要环节。如果你正在准备 Python 面试,那么本文将为你介绍实时 API 考察的所有细节,帮助你在面试中有所斩...
    99+
    2023-08-17
    面试 实时 api
  • 面试官问关于Go和Linux的问题?这是你需要知道的。
    面试官问关于Go和Linux的问题?这是你需要知道。 随着互联网的发展,越来越多的企业开始采用Go语言进行开发。而Linux作为最流行的服务器操作系统,也成为了Go语言开发的首选平台。在面试中,关于Go和Linux的问题也成为了考察候选人技...
    99+
    2023-08-22
    linux 响应 面试
  • PHP和Django中的重定向:你需要知道的所有知识
    PHP和Django中的重定向:你需要知道的所有知识 重定向是Web开发中常见的操作之一,它能够在服务器端引导用户浏览到另一个页面。在PHP和Django中,重定向也是非常常见的操作。在本文中,我们将深入探讨PHP和Django中的重定向,...
    99+
    2023-11-12
    django 教程 重定向
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作