Q:能否请您强调区别?
让我开始使用来自 ITU-T(前 CCITT)专业人士的专业知识,他们几十年来花费数千人*年的努力来获得最高水平的专业经验,并开发出准确和负责任的衡量两者的方法:
为应对这一问题采用了哪些行业标准?
从国际行业标准的早期开始(好吧,就在 60 年代的某个地方),这些行业专业人士已经创造了以可重复和可重新检查的方式测试复杂系统的概念。
System-under-Test (SuT), inter-connected and inter-acting across a mediation service mezzo-system
SuT-component-[A]
|
+------------------------------------------------------------------------------------------------------------[A]-interface-A.0
| +------------------------------------------------------------------------------------------------[A]-interface-A.1
| |
| | SuT-component-[B]
| | |
| | +-------------------------[B]-interface-B.1
| | | +---------[B]-interface-B.0
| | ???????????????? | |
| | ? mezzo-system ? | |
+-----------+ ???????????????? +---------------+
| | ~~~~~~~~~~~~~~~~~~~~~~~~ ??? ... ... ??? ~~~~~~~~~~~~~~~~~~~~~~~~ | |
| | ~~<channel [A] to ???>~~ ??? ... ... ??? ~~<channel ??? to [B]>~~ | |
| | ~~~~~~~~~~~~~~~~~~~~~~~~ ??? ... ... ??? ~~~~~~~~~~~~~~~~~~~~~~~~ | |
+-----------+ ???????????????? +---------------+
|
无论这种方法看起来多么正式,它在制定(在设计、测试和验证时相同)与 SuT 组件、SuT 接口、SuT 渠道和还限制了跨外系统的交互,包括对任何外部(通常是不利的)噪音/干扰事件的出现的响应限制。
最后,为了清晰起见,可以针对一组明确定义和记录的 REFERENCE_POINT(s) 声明预期 SuT 行为的所有部分,标准对此进行了定义并记录所有属性。
经验法则:
LATENCY,最常表示为 TRANSPORT-LATENCY(在一对 REFERENCE_POINT 之间)与跨某种通道的琐碎/原始事件传播,其中事件处理不会转换传播事件的内容。 (参考内存访问延迟 - 不重新处理数据,而只是交付它,需要一些时间来“制作”)
PROCESSING 意味着以某种非凡的方式在 SuT 组件内转换事件。
响应时间(在同一 SuT 组件的 REFERENCE_POINT(s) 上观察到)表示某种相当复杂的端到端事务处理的结果持续时间,即既不是一个微不足道的TRANSPORT LATENCY 跨通道,也不是一个简单的 SuT 组件 PROCESSING,而是几个(可能很多)这样的相互交互的步骤的某种组合,沿着因果链工作(在需要时添加随机刺激,以表示噪声/错误干扰)。 (参考数据库引擎响应时间随着工作负载的增加而缓慢增长,这是由于某些处理资源的并发使用增加,这些资源是此类请求的信息内部检索、内部重新处理和最终交付重新处理所必需的,然后才交付结果对请求对方的“答复”)
|
| SuT_[A.0]: REFERENCE_POINT: receives an { external | internal } <sourceEvent>
| /
| / _SuT-[A]-<sourceEvent>-processing ( in SuT-[A] ) DURATION
| / /
| / / _an known-<channel>-transport-LATENCY from REFERENCE_POINT SuT-[A.1] to <mezzo-system> exosystem ( not a part of SuT, yet a part of the ecosystem, in which the SuT has to operate )
| / / /
| / / / _a mezzo-system-(sum of all)-unknown-{ transport-LATENCY | processing-DURATION } duration(s)
| / / / /
| / / / / _SuT_[B.1]: REFERENCE_POINT: receives a propagated <sourceEvent>
| / / / / /
| / / / / / _SuT_[B.0]: REFERENCE_POINT: delivers a result == a re-processed <sourceEvent>
| / / / / | / | /
|/ /| /................ / |/ |/
o<_________>o ~~< chnl from [A.1] >~~? ??? ... ... ??? ?~~<chnl to [B.1]>~~~~~~? o<______________>o
| |\ \ \
| | \ \ \_SuT-[B]-<propagated<sourceEvent>>-processing ( in SuT-[B] ) DURATION
| | \ \
| | \_SuT_[A.1]: REFERENCE_POINT: receives \_an known-<channel>-transport-LATENCY from <mezzo-system to REFERENCE_POINT SuT_[B.1]
| |
| | | |
o<--------->o-----SuT-test( A.0:A.1 ) | |
| | | |
| | o<-------------->o---SuT-test( B.1:B.0 )
| | | |
| o<----may-test( A.1:B.1 )-------------------------------------------->o |
| | exo-system that is outside of your domain of control, | |
| indirectly, using REFERENCE_POINT(s) that you control |
| |
| |
o<-----SuT-End-to-End-test( A.0:B.0 )------------------------------------------------------------->o
| |
使用此 ITU-T / CCITT 方法,定义明确的 响应时间 测试的示例将是完成事务的测试,它将测量将源事件传递到REFERENCE_POINT [A.0] (输入 SuT-component-[A] )并在此处等待,直到整个 SuT 从任何远程部分提供答案(例如从 [A] 到 [B] 的传递,加上在 SuT-component-[B] 内部处理并从 [B]-back-to-[A] 传递答案)直到在给定的 REFERENCE_POINT 上收到预期的响应(无论是同一个 [A.0] 还是另一个,特定目的的 [A.37] )。
尽可能明确可以避免未来潜在的误解(国际行业标准一直在努力避免这种误解)。
所以一个需求表达如下:
1) RESPONSE_TIME(A.0:A.37) 必须在 125 [ms] 之下
2) 在每个 BAU 不到 0.1% 的情况下,净 TRANSPORT LATENCY(A.1:B.1) 应该超过 30 [ms]
清晰可靠(易于测量),感兴趣的每个人都可以解读 SuT 设置和测试结果。
满足这些明确的要求有资格这样定义的 SuT 行为安全地符合预期的一组行为,或者让专业人员以低成本检测、记录和取消那些不符合要求的行为。 p>