1005笔记

  1. JY软件测试有什么特点?与普通的软件测试有什么不同?

    • 军用软件的特点:军用软件通常用于执行极其关键的任务,涉及国家安全、军事指挥、战场控制等重要领域。因此,军用软件需要具备高安全性、高可靠性和高稳定性,能够在复杂或极端的环境中运行。此外,军用软件还需要支持长期使用和维护,具有严格的保密和信息保护机制,同时能够与复杂的硬件和其他军事系统无缝集成。此外,军用软件研制通常会随装备研制阶段进行迭代,需考虑开展回归测试等相关售后服务需求因素。
    • 军用软件测试的特点:军用软件测试不仅需要涵盖功能性测试、性能测试,还必须进行严格的安全性测试和可靠性测试,以确保软件在极端条件下的稳定运行。测试过程通常非常严谨,遵循严格的标准和流程,同时对测试的覆盖率、精确性和容错性有极高要求。此外,军用软件测试还涉及系统集成测试,确保软件能够在软硬件系统协同下无误运行。军用软件测试过程具有投资大、周期长、风险高的特点,在测试过程存在很多的不确定因素,导致了测试结果的不确定性和不可预见
      • 军用软件测试的特点
        1. 安全性要求:
          军用软件通常涉及国家安全、军事任务和保密信息,因而测试过程中需要极高的安全性标准。必须确保软件在恶劣环境中和面对潜在攻击时的可靠性和防御能力.因此,测试中会涉及更多的渗透测试、漏洞扫描和代码审查。

        2. 高可靠性和稳定性要求:
          军用软件需要在极端情况下(如战场环境、自然灾害或敌方干扰下)保持正常运作,系统需要具备非常强的抗故障能力,甚至在部分功能失效时仍需继续运作。军用软件的可靠性测试会包括诸如断网、信号干扰、过载处理等特定场景。

        3. 长生命周期支持:
          军用软件的使用周期通常较长,可能跨越多个技术迭代期。因此,测试不仅需要针对当前系统的功能,还必须保证系统能够长期运行和持续更新.普通软件(尤其是互联网类应用)更新频率较高,生命周期短暂,因此主要关注功能快速迭代,较少涉及长期支持的测试

        4. 合规性与标准化要求:
          军用软件测试需要遵循严格的行业标准和国家军用规范(如GJB、CCSDS等),包括对安全、功能性和质量的要求。这些标准要求非常细致的文档和测试流程控制。普通软件测试虽然也有一定标准化要求,但通常不会达到军用软件如此高的规范程度。

        5. 功能的严谨性和精确性:
          军用软件的功能容错性极低,特别是战术决策支持系统、武器控制系统等,任何一个小的功能错误都会导致重大失误甚至灾难性后果。

        6. 高容灾性和快速恢复能力:
          军用软件在测试中需要验证其容灾能力,保证在发生紧急状况或局部故障时,能够迅速切换到备份系统,或恢复正常功能。

    • 与普通软件测试之间的不同:相比于普通软件测试,军用软件测试更加复杂、严谨。普通软件测试侧重功能、性能及用户体验等方面,而军用软件测试则重点关注安全性、可靠性和容灾性,尤其是在极端或战场环境下的表现。同时,军用软件测试的标准更加严格,需要符合国家或军事标准,测试过程中的失误或遗漏可能带来严重后果,这与普通软件在商业环境中的迭代和灵活更新大相径庭。
  2. 当前存在什么问题?智能化有哪些应用?具体到什么程度了?为什么需要大模型?

    • 军用软件测试过程具有投资大、周期长、风险高的特点,在测试过程存在很多的不确定因素,导致了测试结果的不确定性和不可预见.

    • 当前军用软件测试存在问题
      1. 成本高:
        军用软件的测试过程和维护成本非常高,尤其是长期支持和升级的情况下,测试工具、环境和人力成本都极为昂贵。军用系统往往是定制化的,需求复杂且频繁变动,测试工具和流程需要持续更新和维护。同时,硬件设备的复杂性进一步增加了成本。

      2. 测试效率低下,周期长
        军用软件测试的复杂性导致测试周期极长。测试涵盖从需求审查、架构设计评估到功能验证和安全性测试等多个环节,每个环节都要求精确、无遗漏。测试流程中大量手动操作,如代码审查、测试用例设计和需求验证,耗费大量人力,且容易出错。

      3. 通用性不足:
        现有的测试工具和方法通用性较差,难以适应不同类型的军用软件,尤其是跨平台或多系统集成的测试需求。军事领域的多样性和军事保密引起的非公开性等因素在无形中形成了技术门槛. 军用软件涉及大量特定领域的知识和技术,现有的测试工具通常针对某一类系统设计,难以覆盖所有可能的应用场景,尤其在软硬件协同的复杂环境中表现不足。

      4. 依赖人工经验,自动化程度低:
        军用软件测试过程中,仍然依赖测试人员的经验和手动操作来编写测试用例、分析结果,自动化程度较低,导致测试周期长、错误率高.

      5. 测试覆盖不完整,漏报和误报率高:
        由于测试工作量大,容易出现测试覆盖不全面、未识别的漏洞,尤其在代码缺陷和安全漏洞方面,漏报和误报频繁发生。手动编写的测试用例和规则难以涵盖所有极端场景,同时传统工具无法有效处理复杂的军用系统,导致漏洞难以完全检测。

      6. 代码复杂性与冗余性难以管理:
        军用软件代码往往规模庞大且冗余性高,冗余代码增加了缺陷定位的难度和维护成本,传统方法难以有效识别和消除这些冗余。

      7. 缺乏智能化和自动化的需求分析:
        目前的测试需求分析\测试大纲等主要依赖人工完成,智能化和自动化的程度很低,难以高效、准确地从需求文档中提取出测试需求,进行测试规划和验证。

    • 目前智能化的应用:

      • 实际产品:DeepCode(实际产品,大模型进行代码缺陷审查) RATS(代码静态审查工具) 论文:大模型提升需求质量 大模型的安全漏洞检测 大模型的测试用例生成
      • 一些基于AI的测试工具可以辅助生成测试用例,特别是在简单的功能测试场景中。这些工具能够自动从需求文档中提取关键信息并生成初步测试用例。
    • 为什么需要大模型

      • 上面的不足就是需要大模型的原因.

      • 点击查看代码
        1. 军用软件测试的复杂性和多样性:
          软件的功能多样且高度敏感,要求在高可靠性、高安全性条件下工作。任何系统故障或安全漏洞都可能产生严重后果。
          传统方法的局限:传统测试方法无法处理这种复杂的场景,尤其是在跨系统、多模态的数据分析中,自动化程度低,难以涵盖所有可能的场景。
          大模型的优势:大模型(例如Transformer、GPT等)能够处理多模态信息,将文本、图像、信号等不同类型的数据统一在同一模型中进行分析,可以快速识别隐藏的关联性和潜在问题,大大提升了测试需求分析和漏洞检测的能力。

        2. 军用软件对安全性和可靠性的极高要求
          问题:军用软件对系统的安全性和可靠性要求极高,必须确保没有潜在漏洞和风险,同时还要处理可能的网络攻击和信息泄露。这意味着测试需要非常全面,覆盖代码的每一个细节。
          传统方法的局限:现有的测试工具大多依赖人工编写的测试用例和规则,这样的测试用例很难涵盖所有极端场景,存在遗漏问题,漏报和误报的情况时有发生,尤其是在复杂系统中,误报率高会影响测试效率。
          大模型的优势:大模型能够通过大规模的数据训练,捕捉代码中难以察觉的模式和潜在漏洞。它不仅可以自动生成测试用例,还能够通过学习历史漏洞数据进行推理,提升对异常代码的识别准确性,显著减少误报和漏报。

        3.人工依赖过高,测试自动化和智能化程度低
        问题:现阶段的军用软件测试严重依赖人工操作,特别是在需求分析、测试用例设计、代码审查等方面,自动化和智能化程度低,造成了测试效率低下,测试人员的工作量巨大。
        传统方法的局限:尽管一些自动化测试工具可以完成部分功能测试,但在需求分析和生成复杂场景下的测试用例方面,现有方法仍然无法取代人工,导致测试速度慢且错误率高。
        大模型的优势:大模型通过对大量历史数据的学习,能够智能化地生成复杂的测试用例,自动化需求分析,并将其与功能需求进行匹配,大幅减少人工操作,提高效率。这种智能化水平尤其适用于军用软件中的复杂场景,如多模态数据集成的系统测试。

RuntimeDependencies.Add(Path.Combine(ModuleDirectory, "../../Config", "GameConfig.ini"));

posted @   灰色耳机  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示