精华内容
下载资源
问答
  • 五部分:人工智能系统测试简介 第六部分:人工智能系统的黑盒测试 第七部分:人工智能系统的白盒测试 第八部分:测试人工智能的测试环境 第九部分:使用人工智能进行测试 五、人工智能系统测试简介 5.1 基于AI系统...

    主要内容是
    第一部分:人工智能和测试的介绍
    第二部分:人工智能系统的特性和验收标准
    第三部分:机器学习
    第四部分:机器学习的性能指标和基准
    第五部分:人工智能系统测试简介
    第六部分:人工智能系统的黑盒测试
    第七部分:人工智能系统的白盒测试
    第八部分:测试人工智能的测试环境
    第九部分:使用人工智能进行测试

    五、人工智能系统测试简介

    5.1 基于AI系统测试的挑战

    基于AI的系统通常由常规组件(例如用户界面)和AI组件(例如机器学习模型)组成。
    而且,即使“纯”的AI组件也是在软件中实现的,因此可能会遭受与其他任何软件相同的缺陷。因此,当测试基于AI的系统时,仍然需要常规的软件测试方法。但是,基于AI的系统包含许多特殊属性,与传统软件系统相比,这些属性可能需要进行额外的测试

    5.1.1 系统规格

    基于AI的系统的规范可能是不完整和非正式的,这要求测试人员确定未指定的预期结果。
    如果测试人员不完全了解所需的系统行为,并且很难从领域专家那里获取此信息,则可能会出现问题。
    另一个问题是,基于AI的系统的要求通常是根据目标而不是所需的功能来指定的,这是一种更为传统的方法。这是因为许多基于AI的系统的本质是所提供的功能是不透明的(例如,很难想象深度神经网络的功能)。
    许多基于AI的系统具有广泛的操作环境(例如,自主无人机),与典型的常规系统相比,完全定义操作环境可能更具挑战性。请注意,操作环境的复杂性通常意味着这些系统的测试环境可能同样具有挑战性。
    ML模型的规范应包含一组必需的性能指标(参考第四部分描述),以用作ML模型的接受标准

    5.1.2 测试数据集

    基于AI的系统通常依赖大数据输入和/或来自多种来源的输入。
    这可能意味着输入数据通常是非结构化的,并以多种格式提供。
    在开发基于AI的系统时,管理此数据是数据科学家的一项专门任务,但是在测试时,此专业数据管理任务是测试人员执行的几项任务之一,通常很少或没有经过专门培训。
    当需要包含个人信息的测试数据集时(如基于AI的系统经常需要这种情况),测试人员需要提供经过清理的测试数据。

    5.1.3 概率性和不确定性系统

    由于许多基于AI的系统具有概率性,因此并不总是有可以用作预期结果的精确值。
    例如,当自动驾驶汽车在停止的公交车周围绘制路线时,它不需要计算最佳解决方案,而是需要一个可行的(而且是安全的)解决方案-因此我们接受了次优但足够好的解决方案。
    基于AI的系统如何确定其路线的性质也可能意味着它们每次都不会得出相同的结果(例如,它们的计算可能基于随机种子,这会导致每次生成不同但可行的路线) 。
    这使得此类系统具有不确定性,导致缺乏可重复性,并且意味着任何回归测试都需要具有更智能的预期结果,并考虑由于不确定性导致的可变性。
    在这两种情况下,实际结果的不确定性都要求测试人员比常规系统得出更复杂的预期结果。
    基于概率的基于AI的系统还可能要求测试人员多次运行相同的测试,以提供统计上显着的保证,以确保系统正常运行(例如蒙特卡洛Monte Carlo实验)。

    5.1.4 自学习系统

    随着AI技术变得更加先进,将会出现更多基于AI的系统,这些系统可以随着时间改变自己的行为。
    这些可能是自适应系统(能够重新配置和优化自身),也可能是可以通过从过去的经验中学到的自我学习系统。对于这两种情况,很可能在原来系统上成功运行的一些测试在新的改进的系统上不再可行。尽管识别哪些测试不再有效可能相对容易,但是要确保已生成针对新功能的新测试要困难得多。

    5.1.5 复杂性

    许多基于AI的系统极其复杂,人类很难理解。
    例如,一个仅用了3天就建立的“简单”汽车驾驶神经网络,估计有大约2700万个连接和250,000个参数。复杂ML系统的另一个示例是用于识别大数据中的模式的示例。
    之所以使用这些系统,是因为它们可以找到人类,即使经过大量研究也无法找到的模式。
    如果这些基于AI的系统是如此复​​杂,那么对它们的足够深入的理解以能够产生预期的结果可能超出了许多测试人员的范围。

    5.1.6 AI特有的特征

    第二部分中已描述各特征

    5.2 基于AI系统预测性问题

    在测试基于AI的系统时,经常遇到的挑战是测试预测性问题。
    糟糕的规范,复杂的,概率性的,自学习的和不确定性的系统使生成预期结果成为问题。
    有关黑盒测试的第六部分介绍了解决测试预测问题的测试方法和技术。

    展开全文
  • 五部分:文本解析 原文:Part V: Parsing Text 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 本书的这一部分将教你如何处理文本,特别是,它是文本解析的正式开始。所以我不会涉及编程语言理论...

    第五部分:文本解析

    原文:Part V: Parsing Text

    译者:飞龙

    协议:CC BY-NC-SA 4.0

    自豪地采用谷歌翻译

    本书的这一部分将教你如何处理文本,特别是,它是文本解析的正式开始。所以我不会涉及编程语言理论的所有不同理论元素,因为这是整个大学的学位。这只是简单而朴素的文本解析的开始,可以在许多编程环境中使用它。

    大多数程序员与解析文本有着奇怪的关系。所有计算机程序设计的核心是解析,它是计算机科学中最容易理解和形式化的方向之一。解析数据在计算中无处不在。你可以在网络协议,编译器,电子表格,服务器,文本编辑器,图形渲染器,以及拥有人机或其他计算机接口的任何东西中找到它。即使两台计算机正在发送固定的二进制协议,尽管缺少文本,仍然存在解析的层面。

    我要教你解析,因为它是一种容易理解的可靠技术,可以产生可靠的结果。当你面对可靠地处理一些输入并给出准确的错误时,你将求助于解析器,而不是手动编写一个。另外,一旦学习了解析的基础,就会更容易学习新的编程语言,因为你可以理解他们的语法。

    代码覆盖简介

    在这部分中,你仍然应该尝试拆解和剖析你编写的任何代码。我在这部分中增加的新东西,是代码覆盖的概念。代码覆盖的想法是,你实际上不知道在编写自动测试时是否测试了大多数情况。你可以使用形式逻辑来开发一个理论,即你覆盖了一切东西,但是我们知道人类的大脑非常难以在自己的思维中找到缺陷。这就是为什么你在这本书中使用“创造然后批判”的循环。在尝试创建某些东西的时候,你很难分析自己的想法。

    代码覆盖是一种方法,至少能够了解你在应用中测试的东西。它不会找到你所有的缺陷,但它至少会显示,你已经命中每个可能的代码分支。如果没有覆盖,你实际上不知道你是否测试了每个分支。一个非常好的例子是故障处理。大多数自动测试仅测试最可靠的条件,并且不会测试错误处理。当你运行覆盖时,你会发现你忘记的所有方法,来测试错误处理代码。

    代码覆盖也可以帮助你避免过度测试代码。我曾经从事测试驱动开发(TDD)爱好者的项目,他们因 12/1 的测试/代码比而感到自豪(这意味着每一行代码都有 12 行测试)。一个简单的代码覆盖分析显示,他们只测试了 30% 的代码,其中许多线路以同样的方式进行了 6~20 次的测试。同时,像数据库查询中的异常情况那样的简单错误是完全未经测试的,并导致频繁的错误。最终,这些测试套件成为一种负担,阻止了项目的成长,并且只会吞掉开发人员的工作安排。难怪这么多敏捷咨询公司讨厌代码覆盖。

    在本练习的视频中,你将看到我运行测试,并使用代码覆盖来确认我正在测试什么。我要求你做同样的事情,并且有使其变得容易的工具。我将向你展示如何阅读测试覆盖结果,以及如何确保你高效地测试你可以测试的一切东西。目标是拥有一个彻底的自动化测试套件,但不会浪费你的努力,所以你不会连续测试 12 次只有 30% 的代码。

    展开全文
  • 组成JSP的五部分

    千次阅读 2012-07-24 20:57:55
    三、组成jsp的五部分 1.模板元素 html、xml 2.注释元素 (1)html注释,显示在客户端源码中  (2)jsp注释,不会显示在客户端源码,只在jsp中 (3)单行注释与多行注释 单行// 多行/** 注释 */ 3.指令元素...

    三、组成jsp的五部分
    1.模板元素
    html、xml
    2.注释元素
    (1)html注释,显示在客户端源码中 
    <!--  注释 -->
    (2)jsp注释,不会显示在客户端源码,只在jsp中
    <% -- 注释 --%>
    (3)单行注释与多行注释
    单行// 多行/**  注释  */

    3.指令元素
    (1)page指令
    <
    %@page %>
    (2)include指令
    包含代码,静态包含
    <
    %@include file=""%>
    (3)taglib
    <
    %@taglib prefix="c"   uri="taglibURI" %>
     标签前缀        找到标签描述文件和标签库的方式

    4.脚本元素
    (1)声明
    <%!  方法或者变量%>
    被转换成servlet中的实例属性和实例方法
    (2)表达式
    <%=%>
    例:<%="你好,世界" %>
    相当于jsp中的out.println("你好,世界");
    转化成servlet中的out.print("你好,世界" );
    (3)scriptlets
    <%  %>
    多个scriptlets合成一个被包含在servlet的service方法中

    5.动作元素
    1.<jsp:param>
    以名值对的形式为其他标签提供附加信息
    <jsp:param name="" value=""/>
    2.<jsp:include>
    包含的是结果,两个文件
    <!--flush属性必须为true-->
    <jsp:include page="" flush="true"/>
    或者
    <jsp:include page="" flush=""true">
     <jsp:param name="" value=""/>
    </jsp:include>
    3<jsp:forward>
    请求转发,每当遇到此操作时,就停止执行当前的jsp,转而执行被转发的资源。
    <jsp:forward page=""/>
    或者
    <jsp:forward page="">
    <jsp:param name="" value=""/>
    </jsp:forward>
    4.<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>

    <jsp:useBean id="id" scope="page|request|session|application" class="">
    <jsp:setProperty name="id" property="*"/>
    </jsp:useBean>


    <jsp:getProperty name="id" property="属性名"/>
    5.<jsp:plugin>
    可以使用它来插入Applet或者JavaBean

    展开全文
  • 本期课程主要讲解触摸屏,首先用一节课讲了输入类设备的特点,尤其是触摸屏的一些特征。然后用2节课讲了电阻式触摸屏的原理、SOC的电阻触摸屏控制器的工作方式与编程方法;后用2节课讲了电容式触摸屏的工作原理、...
  • 本期课程的主要目标是掌握汇编调用C语言、指令cache、关闭看门狗等,重点知识是代码重定位与链接脚本、DDR的初始化,并且将整个裸机程序重定位到DDR中。
  • A. ASN.1编码 For the nine hash functions mentioned in Appendix B.1, the DER encoding T of the DigestInfo value is equal to the following: MD2: (0x)30 20 30 0c 06 08 2a 86 48 86 f7 0d 02 02 05 00 04...

    A. ASN.1编码

    For the nine hash functions mentioned in Appendix B.1, the DER encoding T of the DigestInfo value is equal to the following:

    MD2: (0x)30 20 30 0c 06 08 2a 86 48 86 f7 0d 02 02 05 00 04 10 || H.

    MD5: (0x)30 20 30 0c 06 08 2a 86 48 86 f7 0d 02 05 05 00 04 10 || H.

    SHA-1: (0x)30 21 30 09 06 05 2b 0e 03 02 1a 05 00 04 14 || H.

    SHA-224: (0x)30 2d 30 0d 06 09 60 86 48 01 65 03 04 02 04 05 00 04 1c || H.

    SHA-256: (0x)30 31 30 0d 06 09 60 86 48 01 65 03 04 02 01 05 00 04 20 || H.

    SHA-384: (0x)30 41 30 0d 06 09 60 86 48 01 65 03 04 02 02 05 00 04 30 || H.

    SHA-512: (0x)30 51 30 0d 06 09 60 86 48 01 65 03 04 02 03 05 00 04 40 || H.

    SHA-512/224: (0x)30 2d 30 0d 06 09 60 86 48 01 65 03 04 02 05 05 00 04 1c || H.

    SHA-512/256: (0x)30 31 30 0d 06 09 60 86 48 01 65 03 04 02 06 05 00 04 20 || H.

    B. MGF

    Mask generation functions MGF1参见B.2

    图7 MGF流程图

    展开全文
  • WindowsService: 1.添加一个WindowsService 2.添加安装程序 3.就可以安装服务(可以通过工具) public partial class Service1 : ServiceBase { Log4NetLogger log4NetLogger = new Log4NetLogger(typeof...
  • 原地址:https://blog.csdn.net/weixin_41803874/article/details/81201699
  • /**Includes*********************************************************************/ #include <ioCC2530.h> #include <string.h> #include "UART.H" #include "DHT11.H" #include "LCD.h" ...
  • 4.系统设计部分4.1系统具体操作流程图: 4.2系统权限分析:4.2.1学生登陆:a.修改权限:修改密码,录入家庭情况,录入简历情况,选课操作,录入基本情况注册操作b.查询权限:查询成绩,查询处分情况,查询奖励情况...
  • 接上面部分,对五六七部分进行详解,这篇介绍第五部分,也就是model从建立到测试,数据从images到output、dets的详细过程。 一、回顾 第五部分放入网络中测试,产生输出: output, dets, forward_time = self....
  • 计算机大组成部分

    万次阅读 2018-02-28 21:30:29
    一、计算机大单元 · 输入单元:包括键盘,鼠标等; · 主机部分:系统单元,就是被主机壳保护的东西,有一堆板子,cpu与主储存器(内存)等; · 输出单元:屏幕、打印机等 整部主机重点是中央处理器(CPU),...
  • 计算机软件也有“部分

    千次阅读 2014-04-12 11:27:00
    许多人都知道计算机硬件是由部分组成,但很少有人想过,其实任何软件也是由这样的部分组成,本文主要是就这个话题进行一些浅显的讨论,希望能对学习计算机的人起到一定的帮助。   关键字:硬件 软件 大...
  • #include&lt;stdio.h&gt; main() { int x,y,m,n,u,p; scanf("%d%d",&amp;x,&amp;y); m=x; n=y; while(y!=0) { u=x%y; x=y; y=u;...最大公约数=%...
  • 计算机硬件的大组成部分

    千次阅读 2020-10-09 16:35:45
    大组成部分 控制器:计算机的指挥系统,负责控制所有硬件的运行 运算器:负责数学运算和逻辑运算 控制器+运算器+寄存器 -> cpu(中央处理器) 存储器: 内存:比如内存条 基于电存取数据,断点数据全部丢失 ...
  • js中取小数整数部分函数 ...四舍入 js:Math.round(7/2) 向下取整 js:Math.floor(7/2) 附:如何判断输入的数值类型(使用时不带引号!) 其实就是利用正则表达式。 "^\\d+$" //非负整数(正整数+0
  • 每个Ajax 框架都对Javascript 做了扩展,提供了很多常用函数,增强了 Javascript 的开发效率。在这里将对部分Dojo 中的常用函数做...本文将介绍第五部分,也是最后一部分的内容:事件处理以及Ajax I/O函数扩展。
  • 说明:%3.0f表明待打印的浮点数(floatNum)至少占3个字符宽,且不带小数点和小数部分,整数部分至少占3个位宽; 注意:这里的3只代表整数部分至少占3位,舍弃小数点和小数点后面的部分 2.printf("%6.2f".floatNum)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,457,402
精华内容 582,960
关键字:

五部分