黑箱方法有什么意义?

黑箱方法有什么意义?,第1张

黑箱方法,也称“黑箱系统辨识法”。通过观测外部输入黑箱的信息和黑箱输出的信息的变化关系,来探索黑箱的内部构造和机理的方法。“黑箱”指内部构造和机理不能直接观察的事物或系统。黑箱方法注重整体和功能,兼有抽象方法和模型方法的特征。通过外部观测和试验,建立输入和输出信息之间的关系,去推断“黑箱”的功能和特性,从而探索出其结构和机理,弄清其全部运动规律的方法,就是黑箱辨识法。社会经济系统是一个极其错综复杂的大系统,除了可观察变量和可控制变量之外,还有许多不可观察和尚不可控制的变量。从这个意义上,可以把社会经济系统视为“黑箱”或“部分可察黑箱” (亦称“灰箱”)。

计算机领域

在计算机领域,黑箱方法主要应用于程序测试阶段。测试程序时,负责设计输入和输出时检验程序的对与错,而不负责程序代码具体是怎样运行的。

心理学领域

心理学家对弱智人进行测试,让他来拼搭图案。这种简单的图案,弱知人群拼搭所需要的时间比正常人要长,反应迟钝。这说明他智商有问题。人的大脑生长在脑颅中,医生借助于各种仪器向大脑输入信息,从仪器中输出的信息来判断脑子是不是有病变。这也是黑箱方法。

医学领域

在医学领域,一个病人的语言如果发生了障碍,我们通常可以判定为病人的主管语言的大脑左半球发生了故障。中风病人的左半脑还是右半脑发生了血栓或是发生了脑溢血。医生也不是去打开大脑检查,而是根据病人的左半身或是右半身的感觉是否迟钝来判断的。而中医诊断疾病也是运用黑箱方法通过对病人的望、闻、问、切来了解病人得的是什么病。人的气色、舌苔、脉搏等等都是人体内部传出的信息,是人体是否健康的反映。

人口研究领域

黑箱方法还被运用于人口的研究。掌握人口发展的现状和发展规律对于人类的发展有着很重要的意义。但是,人口系统是个复杂的大黑箱。要认识它、控制它是个极大的难题。人口学家利用人口普查获得的信息建立了我国人口发展的动态模型。它忽略了人口系统内部各种细节,但是对于人口的出生率、死亡率、自然增长率、人口年龄构成等提供了很有价值的数据。从几年当中人口变化的信息来推断若干年后的变化状况,为现代化建设提供了有价值的资料。

黑盒测试

黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否

都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的

情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序

是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。“黑盒”

法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输

入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测

试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。

白盒测试

白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是

否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按

预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证

。 “白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在

使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的

独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序

违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错

。第三,穷举路径测试可能发现不了一些与数据相关的错误。

还有一个灰盒测试

灰盒测试

灰盒测试,确实是介于二者之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内

部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运

行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来 ***

作,效率会很低,因此需要采取这样的一种灰盒的方法。 灰盒测试结合了白盒测试盒黑盒测试的要素.它

考虑了用户端、特定的系统知识和 *** 作环境。它在系统组件的协同性环境中评价应用软件的设计。灰盒测

试由方法和工具组成,这些方法和工具取材于应用程序的内部知识盒与之交互的环境,能够用于黑盒测试

以增强测试效率、错误发现和错误分析的效率。 灰盒测试涉及输入和输出,但使用关于代码和程序 *** 作

等通常在测试人员视野之外的信息设计测试

软件工程师和程序员区别主要表现在以下几方面:

1、概念不同:软件设计师是指能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档的实用性人才而程序员指的是从事程序开发、程序维护的基层工作人员。

2、工作职责不同:软件设计师主要职责是组织和指导程序员编写、调试程序,并时软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件而程序员主要负责软件项目的详细设计、编码和内部测试的组织实施,对小型称件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。

3、拥有一定的编程能力的都能称为程序员,不需要考证而软件设计师需要通过计算机软件资格考试的中级考试。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12032359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存