【软件测试】软件测试-----概念篇

news2024/11/16 6:00:01

软件测试相关概念

  • 一.需求的相关概念
    • 1.1 用户需求
    • 1.2 软件需求
  • 二. 开发模型
    • 2.1 模型的基本概念.
    • 2.2 软件的生命周期
      • 2.2.1 理解软件生命周期每个阶段的具体任务
    • 2.3 常见的开发模型.
      • 2.3.1 瀑布模型(适用场景:需求固定的小项目).
      • 2.3.2 螺旋模型(适用场景:规模庞大、复杂度高、风险大的项目)
      • 2.3.3 增量模型. 迭代模型
        • 1、增量模型
        • 2、迭代模型
      • 2.3.4 敏捷模型
        • Scrum开发模型.
          • 1、核心概念
        • 2、Scrum角色
        • 3、Scrum的工作流程.
  • 三. 测试模型.
    • ‌3.1 V模型‌.
    • ‌‌3.2 W模型‌(也称为"双V"模型).
    • 3.3 H模型‌.
    • ‌3.4 X模型‌:
    • 3.5 敏捷测试模型

一.需求的相关概念

  • 在多数的软件公司,会有两部分需求, 一部分是用户需求, 另一部分是软件需求.

1.1 用户需求

  • 用户需求: 可以理解为甲方提出的需求, 也可以理解为用户提出的需求. 就是一句没有经过合理评估的一句话.
  • 举个例子:
    • 用户需要一种智能手表,能够准确监测心率和睡眠质量,同时能接收手机通知,并通过简易的操作界面进行互动操作。这一需求合理,因为它解决了用户健康管理和便捷通信的实际问题,且技术上可行,用户价值明显。
    • 用户希望开发一款能100%准确预测未来市场变化的软件。这一需求是不合理的,因为目前技术和信息的限制,无法确保市场预测的绝对准确性,这种需求忽视了实际的技术限制市场复杂性

1.2 软件需求

  • 软件需求: 也可以叫做功能需求, 该需求会**详细的描述开发人员必须实现的软件功能. 软件需求也是测试人员进行测试工作的基本依据.
  • 举个例子:
    • 开发一个学生在线考试系统,该系统能够让学生在网络环境中完成在线考试、成绩查询等操作,同时允许教师对试题库进行维护和更新。(此处只是一个简略的过程,在实际的工作中软件需求文档会更加的详细)
      • 考生身份验证:考生进入系统前需要进行身份验证,以确保考试的公正性和安全性。
        考试难度选择:考生可以根据自己的需求选择不同级别的考试难度,如顶级、甲级、乙级,这有助于评估不同层次的学生能力。
      • 随机抽题功能:为了确保考试的规范性,每位考生接收到的试卷内容和题量应相同,但具体试题可以不同。这通过从服务器数据库中随机抽取试题来实现。
      • 时间控制机制:系统需要具备时间控制功能,确保考试时间的公平性,到时系统将自动要求考生交卷。
      • 自动判卷功能:考生提交答案后,系统应能自动进行判卷并显示成绩,减少人工干预,保证评分的客观性。
      • 成绩查询功能:考试结束后,考生应能在系统中查询自己的成绩和排名,以便了解自己的学习状况。
      • 试题库管理:管理员有权对试题库进行维护,包括添加、修改和删除试题,从而更新和优化题库资源。

二. 开发模型

2.1 模型的基本概念.

  • 在软件开发中,“模型”二字通常指的是指导开发过程的框架和方法。具体来说,开发模型为软件项目提供了一种结构化的方法和步骤,确保开发流程有序进行并达到预期目标。不同的开发模型适用于不同的场景和需求,选择合适的模型对于项目的成功至关重要。

2.2 软件的生命周期

  • 生命周期: 指的是从生命的开始到生命结束的一段时间。以人为例,人类的生命周期是从生命孕育的开始,中间会经历幼年,童年,少年,青年,老年,最终直至死亡。而软件/产品的生命周期也是如此,需求的开始是软件生命的起点,中间会经历需求的计划、设计,程序开发,程序测试等阶段,直至软件不再进行维护便到了生命的终点。
  • 举个例子:(现在我们需要盖一个房子,我们来看看房子的生命周期是怎么样的)
步骤总结映射软件流程
为什么要建房⼦?商品房还是普通住宅?建造100层技术上是否可⾏?明确合理的建房⽬标需求分析
什么时候开发建房⼦?计划竣⼯时间?多久可以交房?计划好时间计划
建房前明确流程:先打地基,做基础框架,砌墙、粉刷、水电工程…设计好具体的建房流程设计
按照前面的流程和时间实施建房中…施工中编码
房屋建造完成,开发商验收成果、买家验收房子品质(房子是否牢固,是否漏水及其他偷工减料的地方,是否按照规定来建造的)检查房屋的建造结果测试
检查结束开始逐步入住,使用中出现了各种情况如房屋漏水、墙⾯掉皮、下水道堵塞等问题,一边使用一边找物业修理使用房屋并进行房屋的维护运行维护

由此我们得出了软件的生命周期: 需求分析---->计划---->设计---->编码---->测试---->运行维护

2.2.1 理解软件生命周期每个阶段的具体任务

  • 需求分析 : 分析用户的需求是否合理,分别从市场需求、技术等方面进行分析。这个阶段完成后会输出需求文档.
  • 计划 : 对成立的需求执行需求执行计划,多长时间内完成该需求,每段时间具体完成哪些功能。 这个阶段完成后会输出计划文档.
  • 设计 : 将需求细化成一个个任务,团队成员各司其职领取任务并进行技术设计(如何进行架构设计,设计哪些接口、采用什么技术) 这个阶段完成后会输出技术文档.
  • 编码 : 开发⼈员参考需求需档、设计文档、交互图等等文件进行代码的编写。 这个阶段完成后会输出代码文件文档.
  • 测试 : 测试人员需要介入到软件的测试中来,参考测试用例对软件进行测试。这个阶段完成后会输出测试用例, 测试设计与计划, 测试报告文档
  • 运行维护 : 项目测试结束之后,项目需要进行上线,并对产品进行线上的维护。线上的维护主要分为三个方面。分别为修复性维护、完善性维护和预防性维护。
    • 修复性维护 : 对项目中未发现的问题进行修复.
    • 完善性维护 : 对项目中的功能进行完善.
    • 预防性维护 : 居安思危, 为了避免产品在线上出现一些其他不可预料的问题, 进行一些预防的手段.

2.3 常见的开发模型.

2.3.1 瀑布模型(适用场景:需求固定的小项目).

在这里插入图片描述

  • 瀑布模型在软件工程中占有重要地位,是所有其他模型的基础框架。瀑布模型的每一个阶段都只执行一次,因此是线性顺序进⾏的软件开发模式
  • 瀑布模型的一个最大缺陷在于,可以运行的产品很迟才能被看到。这会给项目带来很大的风险,尤其是集成的风险。因为如果在需求引入的一个缺陷要到测试阶段甚至更后的阶段才发现,通常会导致前面阶段的工作大面积返工,业界流行的说法是:“集成之日就是爆炸之日”。
  • 尽管瀑布模型存在很大的缺陷,例如,在前期阶段未发现的错误会传递并扩散到后面的阶段,而在后面阶段发现这些错误时,可能已经很难回头再修正,从而导致项目的失败。但是目前很多软件企业还是沿用了瀑布模型的线性思想,在这个基础上做出自己的修改。例如细化了各个阶段,在某些重点关注的阶段之间掺入迭代的思想。在瀑布模型中,测试阶段处于软件实现后,这意味着必须在代码完成后有足够的时间预留给测试活动,否则将导致测试不充分,从而把缺陷直接遗留给用户.
  • 瀑布模型的优缺点(特点)总结:
    • 优点(特点) :
      • 强调开发的阶段性;
      • 线性结构,每个阶段只执行一次
      • 是其他模型的基础框架
    • 缺点:
      • 测试后置
        • 前⾯各阶段遗留的风险推迟到测试阶段才被发现,导致项目大面积返工,失去了及早修复的机会
        • 必须留有足够的时间给测试活动,否则导致测试不充分,将缺陷直接暴露给用户(产品质量差)
      • 周期太长,产品很迟才能被看到和使用,可能会导致需求/功能过时

2.3.2 螺旋模型(适用场景:规模庞大、复杂度高、风险大的项目)

在这里插入图片描述

  • 螺旋模型本质上就是在瀑布模型的基础之上每一步都加入了原型和风险分析
  • 一般在软件开发初期阶段需求不是很明确时,采用渐进式的开发模式。螺旋模型是渐进式开发模型的代表之一。
  • 这对于那些规模庞大、复杂度高、风险大的项目尤其适合。这种迭代开发的模式给软件测试带来了新的要求,它不允许有一段独立的测试时间和阶段,测试必须跟随开发的迭代而迭代。因此,回归测试的重要性就不言而喻了。
  • 螺旋模型的优缺点(特点)总结:
    • 优点(特点) :
      • 强调严格的全过程风险管理。
      • 强调各开发阶段的质量。
      • 增加风险分析和原型
    • 缺点 :
      • 项目中可能存在的风险性与风险管理人员的技能水平有直接关系
      • 需求人员、资金、时间的增加和投入,可能会导致项目的成本太高

2.3.3 增量模型. 迭代模型

1、增量模型
  1. 核心概念:增量模型是将软件产品划分为一系列增量构件,以便分批次地分析、设计、编码和测试。每个增量都是软件功能的一个子集,它们集成在一起,共同构成完整的软件产品。
  2. 主要特点
    • 逐步构建:通过逐步构建软件系统的各个部分,每增加一个部分就离整体目标更近一步。
    • 模块化:各个增量可以独立开发和测试,便于团队并行工作,提高工作效率。
    • 易于管理:由于是分批次开发,项目管理者可以更容易地监控进度和质量,及时调整计划。
  3. 优点
    • 快速交付:增量模型允许开发团队在短时间内交付可用的软件产品,让客户尽早看到成果。
    • 风险管理:通过分批次开发,可以降低整体项目风险,因为每个增量的开发和测试都相对独立。
    • 灵活性:根据项目需求和客户反馈,可以灵活调整增量的内容和优先级。
  4. 缺点
    • 集成问题:随着增量的增加,系统集成的难度可能会逐渐增大,需要仔细规划集成策略。
    • 需求变更:如果需求频繁变更,可能导致已开发的增量需要大幅度修改,影响项目进度。
    • 文档更新:增量模型要求持续更新文档,以反映每个增量的最新状态,这可能增加管理成本。
2、迭代模型
  1. 核心概念:迭代模型是一种循环开发的方法论,每个迭代周期(或称为迭代)都是一个完整的小型项目,包括需求分析、设计、编码、测试和评估等环节[3]。
  2. 主要特点
    • 循环迭代:每次迭代都是对软件产品的一次改进,每次迭代结束后都会产出一个可运行的软件版本。
    • 客户反馈:迭代模型强调客户参与,客户的反馈是迭代过程中的重要输入,用于指导后续迭代的方向。
    • 持续改进:通过不断的迭代,软件产品会逐渐完善,直至满足最终的需求。
  3. 优点
    • 适应性强:迭代模型能够快速适应需求变更,特别适合于需求不明确的项目。
    • 客户满意度高:由于客户参与整个开发过程,产品更符合客户的实际需求,提高客户满意度。
    • 风险降低:通过多次迭代,可以及时发现和修复问题,降低项目失败的风险。
  4. 缺点
    • 管理复杂:迭代模型要求项目管理具有较高的灵活性和适应性,对项目管理的要求较高。
    • 资源消耗:每次迭代都需要完整的开发流程,可能会导致资源重复消耗,增加项目成本。
    • 效率问题:如果迭代次数过多,可能会导致开发效率降低,项目延期。

在这里插入图片描述

2.3.4 敏捷模型

  • 在早期,迭代瀑布模型非常流行来完成一个项目。但是现在开发人员在使用它开发软件时面临着各种各样的问题。主要困难包括在项目开发期间处理来自客户的变更请求以及合并这些变更所需的高成本和时间。为了克服瀑布模型的这些缺点,在1990年代中期提出了敏捷软件开发模型。
  • 敏捷模型主要旨在帮助项目快速适应变更请求。因此,敏捷模型的主要目的是促进项目的快速完成。要完成这项任务,需要敏捷。敏捷性是通过使过程适应项目,删除对特定项目可能不是必需的活动来实现的。此外,避免任何浪费时间和精力的事情。
  • 在敏捷模型中,需求被分解成许多可以增量开发的小部分。敏捷模型采用迭代开发。每个增量部分都是在迭代中开发的. 每次迭代都旨在小而易于管理,并且只能在几周内完成。一次为客户计划、开发和部署一个迭代。没有制定长期计划。
  • 敏捷模型中有⼀个非常重要的《敏捷宣言》,宣言内容:
    • 个体与交互重于过程和工具----->强调高效的沟通
    • 可用的软件重于完备的文档----->强调轻文档, 文档不应该作为工作验收的标准
    • 客户协作重于合同谈判----->强调应该主动了解当下的需求
    • 响应变化重于遵循计划----->强调能够主动迎接变化

==总结出敏捷开发模型的四个特点—>轻文档 , 轻流程 , 重目标 , 重产出 . ==

Scrum开发模型.
  • Scrum是敏捷开发模型中的一种, 又称为迭代式增量软件开发模型.
1、核心概念
  1. 团队协作:Scrum强调团队合作的重要性,团队成员需要相互协作,共同面对挑战。
  2. 快速迭代:通过短周期的迭代开发,Scrum确保团队能够快速交付软件,并及时获得反馈。
  3. 适应性:Scrum框架允许团队在面对不断变化的需求时,能够灵活调整计划和优先级。
2、Scrum角色
  1. Product Owner(产品负责人):负责定义产品待办事项列表,确定优先级,发布计划, 对产品负责 , 以确保团队工作与业务目标一致。
  2. Scrum Master(项目经理):帮助团队遵守Scrum规则,召开各种会议, 协助解决阻碍进展的问题,促进团队间的有效沟通。
  3. Team(开发团队):执行迭代计划的工作,包括设计、编码、测试等,通常由跨职能的团队成员组成。
3、Scrum的工作流程.
  • scrum的基本流程如下:
    • 产品负责人负责整理user story,形成左侧的product backlog。就是生成一个产品待办事项列表
    • 发布计划会议:product owner负责讲解user story,对其进行估算和排序,发布计划会议的产出就是制定出这一期迭代要完成的story列表,sprint backlog。就是生成一个迭代代办的事件
    • 迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每个任务都有明确的负责人,并完成工时的初估计。进行任务拆解, 明确负责人和完成任务所需的时间
    • 每日例会:每天scrum master召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题。了解项目的进度,及时解决问题,确保能够及时交付
    • 演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由po整理,形成新的story。演示看是否有可以继续优化, 或者修改的地方
    • 回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,以达到持续改进的效果. 回顾迭代过程中出现的问题, 在迭代的过程中不断改进.

三. 测试模型.

‌3.1 V模型‌.

  • V模型是从瀑布模型演变过来的测试模型.
  • 特点‌:V模型是最具有代表意义的测试模型,它反映了测试活动与分析和设计的关系,标明了测试过程中存在的不同类型的测试,从左到右描述了基本的开发过程和测试行为。‌
  • 优势‌:
    • V模型非常明确地标明了测试过程中存在的不同级别,清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。‌
    • V模型指出:
      • 单元和集成测试应检测程序的执行是否满足软件设计的要求;
      • 系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;
      • 验收测试确定软件的实现是否满足用户需要或合同的要求
  • 局限性‌:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现。
  • 在这里插入图片描述

‌‌3.2 W模型‌(也称为"双V"模型).

  • V模型中未将测试前置的问题在W模型中得以解决.W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程.
  • 特点‌:测试的对象不仅是程序,需求、设计等同样要测试,测试与开发是同步进行的。
  • 优势‌:测试与开发同步进行,有利于尽早地发现问题。
  • 局限性‌:
    • 需求、设计、编码等活动被视为串行的;
    • 测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工
      作。
    • 重流程,无法支持敏捷开发模式。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑
      在这里插入图片描述

3.3 H模型‌.

  • H模型将测试活动与其他研发流程独立,测试活动分为测试准备与测试执行两个部分,便于测试设计与测试执行活动定义。测试准备活动包括测试需求分析、测试计划、测试设计、测试编码和测试验证等,测试执行包括测试运行、测试报告、测试结果分析和确认回归测试等。‌
  • 特点‌:H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行。‌
  • 优势‌:软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发进行,测试可以尽早进行,并且可以根据被测物的不同而分层次进行
  • 局限性‌:不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,对测试员的熟练程度要求比较高。
    在这里插入图片描述

‌3.4 X模型‌:

  • X模型左边表明针对单独的程序片段 n 进行独立的编码和测试活动,以此为基本过程,不断迭代,通过集成活动最终成为可执行程序,然后再对这些可执行程序进行测试。通过集成测试的成品可以进行封装并提交给系统测试环节或直按给用户。多条并行的曲线表示变更可以在各个部分发生。
  • X模型提出了探索性测试的概念。探索性测试与常规的测试方法不同,无须事先制定测试计划或设计,有经验的测试工程师可根据自己的思维活动及对被测对象的理解,在测试计划之外发现更多的软件错误。但探索性测试通常情况下仅作为其他测试方法的补充,因其消耗测试资源较多,且受制于测试工程师的经验,所以不能成为独立的测试方法。‌
  • 特点‌:X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序。
  • 优势‌:定位了探索性测试,不进行事先计划的特殊类型的测试,往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。
  • 局限性‌:可能对测试造成人力、物力和财力的浪费,对测试员的熟练程度要求比较高。
    在这里插入图片描述

3.5 敏捷测试模型

  • 其实软件测试中并无敏捷测试模型,为了对应敏捷开发,才提出了敏捷测试的概念。
  • 敏捷开发的最大特点是高度迭代,周期性强,能够及时、持线地响应需求的频繁变更反馈。敏捷测试即是不断修正被测对象的质量指标,正确建立测试策略,确认客户的有效需求得以圆满实现和确保整个生产过程安全、及时地发布最终产品
  • 敏捷测试工程师在高速迭代、沟通之上的敏捷开发团队中,需要关注需求变更、产品设计、源代码设计。通常情况下,需要全程参与敏捷开发团队的团队讨论评审活动,并参与次策制定等。在独立完成测试设计、测试执行、测试分析输出的同时,关注用户、有效沟通,从而协助敏捷流程推动产品的快速开发。
  • 在传统开发模型下,一个测试版本生成周期可能为几个月,但在敏捷模型中,可能几周一个版本,甚至几天一个测试版本,因此敏捷团队中的测试工程师在技术技能、业务理解、产品设计等方面都需要熟练,否则很难快速高效地完成测试任务,给项目带来风险。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2076490.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ollama+llama3.1 405B 简介

ollamallama3.1 简介 Llama 3.1是一款来自Meta的最新型号,提供8B、70 B和405 B模型。 llama3.1:latestllama3.1:8bllama3.1:70bllama3.1:405bllama3.1:8b-instruct-fp16llama3.1:8b-instruct-q2_Kllama3.1:8b-instruct-q3_K_Sllama3.1:8b-instruct-q3_K_Mllama3.1…

python如何调用另一个文件中的函数

在同一个文件夹下 调用函数: A.py文件: def add(x,y):print(和为:%d%(xy)) B.py文件: import A A.add(1,2) 或 from A import add add(1,2) 在不同文件夹下 A.py文件的文件路径:E:\PythonProject\winycg B.py文件&a…

构建并升级openssh至OpenSSH_9.8p1

组件说明OpenSSH_9.8p1最新版本(2024年8月)OpenSSL 1.1.1pCentOS7中默认是OpenSSL 1.0.2k-fips 26 Jan 2017版本,OpenSSH_9.8p1不支持CentOS7主要是因为有大量CentOS老版本需要升级RPM,需要适配,故选择此版本。AnolisO…

输入一个正的奇数n(1≤n≤9),打印一个高度为n的、由“*”组成的沙漏图案。当n=5时,输出如下沙漏图案:

输入一个正的奇数n&#xff08;1≤n≤9&#xff09;&#xff0c;打印一个高度为n的、由“*”组成的沙漏图案。当n5时&#xff0c;输出如下沙漏图案&#xff1a; int main(){int i,j,n,m;scanf("%d",&n);m n / 2;for(im1;i<1;i--){ //m1是中间数for(jm1-i;j&g…

音频筑基:为啥一个压缩率概念,中文搜索结果都是错的?

音频筑基&#xff1a;为啥一个压缩率概念&#xff0c;中文搜索结果都是错的&#xff1f; 缘起概念分析小结 缘起 最近看一些数据压缩类的文章&#xff0c;对不同场合下表达的压缩率概念分歧&#xff0c;产生了疑问。有的说&#xff0c;压缩率越小越好&#xff0c;有的又说&…

信刻光盘摆渡机——完全物理隔离,安全合规

信刻光盘摆渡机是一款跨网安全数据摆渡设备&#xff0c;用于不同等级网络之间数据跨网安全传输的需求&#xff0c;采用智能光盘机械手臂&#xff0c;模拟人工取放光盘&#xff0c;在保持物理隔离的条件下&#xff0c;安全合规实现网间信息系统数据库及文件同步、网间信息数据交…

下载B站视频作为PPT素材

下载B站视频作为PPT素材 1. 下载原理2. 网页分析3. 请求页面&#xff0c;找到数据4. 数据解析5. 音频、视频下载6. 合并音频与视频7. 完整代码 其实使用爬虫也不是第一次了&#xff0c;之前从网站爬过图片&#xff0c;下载过大型文件&#xff0c;如今从下载视频开始才想到要写一…

搭建自己的GPT

搭建自己的GPT 文章说明核心代码效果展示源码下载 文章说明 目前GPT的使用比较主流&#xff0c;现有开源大模型&#xff0c;可以拉取到本地进行部署&#xff0c;搭建属于自己的GPT对话工具&#xff1b;主要用于熟悉大模型的本地搭建&#xff1b;本文采用开源的Ollama进行服务提…

MyBatis中的#{}和${}区别、ResultMap使用、MyBatis常用注解方式、MyBatis动态SQL

#{}和${}区别&#xff1a; #{}&#xff1a;是占位符&#xff0c;采用预编译的方式sql中传值&#xff0c;防止sql注入&#xff0c;如果我们往sql中列值传递一般使用 #{}。 ${}&#xff1a;采用字符串拼接的方式直接拼接到sql语句中&#xff0c;一般不用于sql列值传递&#xf…

高可用 Go 服务开发

高可用的含义是尽量减少服务的不可用&#xff08;日常维护或者突发系统故障&#xff09;时长&#xff0c;提升服务的可用时长。如何衡量一个服务的可用性呢&#xff1f;或许你也听说过&#xff0c;通常企业可能会要求服务的可用性能能够达到三个 9(也就是 99.9%)或者 4个 9 &am…

C# 自动化抢购脚本:基于商品链接的实现方案

实现思路&#xff1a; 启动参数: options.AddArgument("start-maximized"); 用于启动浏览器时使其窗口最大化。 创建 EdgeDriver 实例: EdgeDriver driver new EdgeDriver(options); 用于初始化 WebDriver 实例。导航到 URL: driver.Navigate().GoToUrl("请输入…

详谈进程等待

目录 前言1. 进程等待的必要性1.1 进程等待的定义 2. 如何进行进程等待2.1 wait 单进程2.2 wait 多进程2.3 status && 退出情况2.3.1 status 参数构成2.3.2 简证 status 参数构成2.3.3 进程等待失败2.3.4 宏调用查看退出信息 3. 进程等待的原理 前言 本篇文章继上一篇…

一款免费且功能强大的图像查看和编辑软件

IrfanView是一款免费且功能强大的图像查看和编辑软件&#xff0c;以其小巧的体积、快速的运行速度和丰富的功能而闻名。它不仅支持多种图像格式&#xff0c;如JPEG、PNG、BMP、GIF等&#xff0c;还支持视频和音频文件的播放。 IrfanView的主要特点包括&#xff1a; 广泛的文件…

Tomcat启动过程是怎么样的?

一、Tomcat 启动流程 步骤&#xff1a; 1、启动tomcat&#xff0c;需要调用 bin/startup.bat (在linux 目录下&#xff0c;需要调用 bin/startup.sh)&#xff0c;在startup.bat 脚本中&#xff0c;调用了catalina.bat。 2、在catalina.bat 脚本文件中&#xff0c;调用了BootS…

【栈与递归】-------简单了解

1.递归的定义&#xff1a; 若一个对象部分地包含它自己&#xff0c;或用它自己给自己定义&#xff0c;则称这个对象是递归的 例如&#xff1a; 链表的结构&#xff0c;树的结构等等 若一个过程直接地或间接地调用自己&#xff0c; 则称这个过程是递归的过程。 例如&#xf…

不确定性环境下的自动驾驶汽车行为决策方法

在高度交互的复杂驾驶环境中考虑不确定性因素的影响&#xff0c;做出合理的决策&#xff0c;是当前决策规划系统须解决的主要问题之一。本文提出了一种不确定性环境下的自动驾驶汽车行为决策方法&#xff0c;为消除不确定性的影响&#xff0c;将行为决策过程转化为部分可观察马…

如何使用ssm实现基于jsp的快递管理系统的开发

TOC ssm226基于jsp的快递管理系统的开发jsp 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规…

达梦数据库的系统视图v$db_object_cache

达梦数据库的系统视图v$db_object_cache 达梦数据库&#xff08;DM Database&#xff09;中的 V$DB_OBJECT_CACHE 视图提供了数据库对象缓存的相关信息。这些信息包括缓存中的各种数据库对象&#xff08;如表、索引、存储过程等&#xff09;的具体状态和属性。通过 V$DB_OBJEC…

基于SpringBoot的滴答拍摄影项目

你好&#xff0c;我是计算机专业的学生&#xff0c;专注于摄影项目的开发与实现。如果您对我的项目感兴趣或有任何建议&#xff0c;欢迎随时联系我。 开发语言 Java 数据库 MySQL 技术 SpringBoot框架 工具 MyEclipse、Tomcat服务器 系统展示 首页 管理员功能模块 用…

网络安全-安全渗透简介和安全渗透环境准备

文章目录 前言1. 安全渗透简介1.1 什么是安全渗透&#xff1f;1.2 安全渗透所需的工具1.3 渗透测试流程 2. 使用 Kali Linux 进行安全渗透2.1 下载ISO镜像2.2 下载VMware Workstaion软件2.3 Kali Linux简介2.4 准备Kali Linux环境2.5 Kali Linux初始配置2.6 VIM鼠标右键无法粘贴…