Position Statement: Testing Complex Systems

P. Grabow
{"title":"Position Statement: Testing Complex Systems","authors":"P. Grabow","doi":"10.1109/CMPSAC.1998.716631","DOIUrl":null,"url":null,"abstract":"Testing has become more difficult since the early days of computing. However, the nature of the difficulty may not be so obvious. Therefore it is helpful to consider the questions that the testing process has traditionally addressed: 1) What constitutes the system? 2) How should the system behave? and 3) How will the environment interact with the system? For some of today's systems, however, it may not be possible to adequately answer one or more of them -greatly complicating the testing process. In the early days of mainframe computing, usually the system boundary was obvious and the environment was constrained, e.g., confined to a room. And the system developer was not far removed from the user. Testing -although not always easy --was at least manageable. Today, though, the boundary of a complex system (e.g., wireless telecommunications) may change over time or it may not always be identifiable. Consequently, the system specification itself becomes problematic. How can you adequately specify the behavior of something that does not have definite boundaries? The quality of the testing process has traditionally been tied to the definition of the system and its environment. In a broad sense, testing compares the implemented system to its specification (i.e., verification) and to the expectations of the environment/user (i.e., validation) [1]. If an adequate specification does not exist -or a sufficient description of the environment is not possible -how can these comparisons be made? Suppose, however, that the system boundary is identifiable. Even here, though, an adequate specification may not be feasible. The behavior of the system may be so complicated that its specification is too difficult to understand -beyond the abilities of the developer. For example, it may be impossible to determine if the specification is internally consistent and/or reasonably complete. This complexity may be unintentional -increasing over time via a myriad of modifications and requirements that are beyond the control of the developer. The current air traffic control system is an example [2]. How can a sufficient testing strategy be constructed based on a specification that may be internally inconsistent and incomplete? The system specification is also a problem when the \"system\" utilizes existing systems. For instance, thousands of financial systems use the Global Positioning System (GPS) for their time calculations because they require the accuracy of the GPS to calculate interest on multi-billion dollar loans (often to the nearest millisecond) [3]. Also, a system developer may not know or understand how the environment will eventually interact with the system. However, user expectations (or environmental demands) often determine the success of a system (even if the users are unrealistic or naive). For example, many of PageNet's 10.4 million customers were surprised when the Galaxy IV satellite failed in May 1998 [4] -even though the price that they pay may not justify the expected reliability. Therefore, the claim is this: Problems with testing are really problems with specifications (and designs).","PeriodicalId":252030,"journal":{"name":"Proceedings. The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) (Cat. No.98CB 36241)","volume":"42 21","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1998-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) (Cat. No.98CB 36241)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CMPSAC.1998.716631","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Testing has become more difficult since the early days of computing. However, the nature of the difficulty may not be so obvious. Therefore it is helpful to consider the questions that the testing process has traditionally addressed: 1) What constitutes the system? 2) How should the system behave? and 3) How will the environment interact with the system? For some of today's systems, however, it may not be possible to adequately answer one or more of them -greatly complicating the testing process. In the early days of mainframe computing, usually the system boundary was obvious and the environment was constrained, e.g., confined to a room. And the system developer was not far removed from the user. Testing -although not always easy --was at least manageable. Today, though, the boundary of a complex system (e.g., wireless telecommunications) may change over time or it may not always be identifiable. Consequently, the system specification itself becomes problematic. How can you adequately specify the behavior of something that does not have definite boundaries? The quality of the testing process has traditionally been tied to the definition of the system and its environment. In a broad sense, testing compares the implemented system to its specification (i.e., verification) and to the expectations of the environment/user (i.e., validation) [1]. If an adequate specification does not exist -or a sufficient description of the environment is not possible -how can these comparisons be made? Suppose, however, that the system boundary is identifiable. Even here, though, an adequate specification may not be feasible. The behavior of the system may be so complicated that its specification is too difficult to understand -beyond the abilities of the developer. For example, it may be impossible to determine if the specification is internally consistent and/or reasonably complete. This complexity may be unintentional -increasing over time via a myriad of modifications and requirements that are beyond the control of the developer. The current air traffic control system is an example [2]. How can a sufficient testing strategy be constructed based on a specification that may be internally inconsistent and incomplete? The system specification is also a problem when the "system" utilizes existing systems. For instance, thousands of financial systems use the Global Positioning System (GPS) for their time calculations because they require the accuracy of the GPS to calculate interest on multi-billion dollar loans (often to the nearest millisecond) [3]. Also, a system developer may not know or understand how the environment will eventually interact with the system. However, user expectations (or environmental demands) often determine the success of a system (even if the users are unrealistic or naive). For example, many of PageNet's 10.4 million customers were surprised when the Galaxy IV satellite failed in May 1998 [4] -even though the price that they pay may not justify the expected reliability. Therefore, the claim is this: Problems with testing are really problems with specifications (and designs).
职位声明:测试复杂系统
自从计算机出现的早期,测试就变得更加困难了。然而,困难的性质可能并不那么明显。因此,考虑测试过程传统上解决的问题是有帮助的:1)系统由什么组成?2)系统应该如何运作?3)环境如何与系统相互作用?然而,对于今天的一些系统来说,可能无法充分回答其中的一个或多个问题——这大大增加了测试过程的复杂性。在大型机计算的早期,通常系统边界是明显的,环境是受限的,例如,被限制在一个房间里。系统开发人员离用户也不远。测试——尽管并不总是容易的——至少是可管理的。然而,今天,一个复杂系统(例如,无线通信)的边界可能会随着时间的推移而改变,或者它可能并不总是可识别的。因此,系统规范本身就成了问题。你怎样才能充分地说明没有明确界限的事物的行为?测试过程的质量传统上与系统及其环境的定义联系在一起。从广义上讲,测试将实现的系统与其规范(即验证)和环境/用户的期望(即验证)进行比较[1]。如果没有适当的说明,或者不可能对环境进行充分的描述,那么如何进行这些比较?但是,假设系统边界是可识别的。但是,即使在这里,适当的规范也可能不可行。系统的行为可能非常复杂,以至于它的规范难以理解——超出了开发人员的能力范围。例如,可能无法确定规范是否内部一致和/或合理完整。这种复杂性可能是无意的——随着时间的推移,由于开发人员无法控制的无数修改和需求而增加。当前的空中交通管制系统就是一个例子[2]。如何根据内部可能不一致和不完整的规范构建充分的测试策略?当“系统”利用现有系统时,系统规范也是一个问题。例如,成千上万的金融系统使用全球定位系统(GPS)进行时间计算,因为它们需要GPS的准确性来计算数十亿美元贷款的利息(通常精确到毫秒)[3]。此外,系统开发人员可能不知道或不理解环境最终将如何与系统交互。然而,用户期望(或环境需求)通常决定系统的成功(即使用户不现实或天真)。例如,当1998年5月银河四号卫星失败时,PageNet的1040万客户中的许多人都感到惊讶[4]——即使他们付出的代价可能无法证明预期的可靠性。因此,声明是这样的:测试的问题实际上是规范(和设计)的问题。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信