软件测试中的抽象层次系列 – 引子

(The Application of Abstraction Level in Software Testing Serials - Preface)

发表于四月18, 2014



抽象和抽象层次

 

所谓抽象(Abstraction),是简化或抽掉一些细节,而提取出事物本质的一种做法。


抽象的应用无所不在,无论是在IT领域,还是在自然科学、甚或艺术领域,总能见到抽象的影子。比如软件编程中定义的抽象类、抽象方法的概念;比如一个树形的IT组织架构体现了权责的分配情况;比如写文章时往往会首先有一个摘要(Abstract)部分,是对文章总体内容的一个高度概括;比如抽象画属于一种典型的抽象派的艺术,等等。

 

抽象是分层的。经过抽象化提取出的东西属于较高层次的内容。抽象的存在,原则上,使得人们可以工作在较高的层次上看待和解决问题,而无需关注底层的细节实现。比如一个典型的计算机系统有如图所示的7个抽象层次。

 

(该图引子《Computer Systems》,作者:J. Stanley Warford)

工作在第7个层次即“应用层”的人们,只需关心程序要完成的功能或非功能等需求层面的内容,无需知晓如何用哪一种计算机语言编写这个程序。同理,工作在第6个层次及“高级语言层”的开发人员,原则上,只需关心如何用C/C++等具体的语言编写程序解决应用层提出的问题即可,无需知晓在底层这个程序是如何在计算机上运行的,包括汇编语言、机器语言等知识。

 

那么,软件测试人员又工作在哪个层次上呢?抽象分层的概念在软件测试中有什么应用?抽象分层对软件测试的工作有哪些启发呢?

 

“软件测试中的抽象层次”系列文章,就打算和大家一起探讨这类问题。

 

Comment Box is loading comments...