看到 Wikipedia 上面有一篇对于软件测试的综述,挺有总结性,做下读书笔记。
Wikipedia 的这篇文章,可以通过下面的 URL 访问:
http://en.wikipedia.org/wiki/Software_testing
Testing Level : 根据测试在整个软件项目中的的介入时间,或者层面,可以将测试分为四个 Level:
1 - Unit Testing
2 - Integration Testing
3 - Component Interface testing
4 - System Testing
一个很容易搞混的概念, Component Interface Testing, 我不是很理解它与 Integration Testing 之间的区别:
有博友认为, Component Interface testing 类似于 Unit Testing ,可以把 Unit 看做是一个 component, 或者多个联合起来的 Unit 看做是一个 Component, 如果是这样, unit testing 加上 component interface testing,完成之后,才可以做 integration testing。 严格意义上应该是这顺序。
原文:The Unit Testing involves testing of individual programs, modules,
or components to demonstrate that the program executes as per the
specification and it validates the design and technical quality of the
application. In Unit Testing, the Called Components (or Communicating
Components) are replaced with Stubs, Simulators, or Trusted
Components. Testing Stubs or Drivers are used to simulate the behavior
of interfacing modules.The Component Testing is like Unit Testing with the difference that
all Stubs and Simulators are replaced with the real objects. Here a
Unit is a component, and integration of one or more such components is
also a Component.Whereas Integration Testing is the test process which begins after two
or more programs components have been successfully unit tested. It is
conducted by the development team to validate the interaction or
communication/flow of information between the individual components
that will be integrated.这篇文章还指出, component interface testing 是实例化的测试( OOP ),模拟真实的软件部分来做测试。
另有一个博友认为, Integration testing 是集合了一个完整软件所有的 Unit 做的一次测试, 强调一个 Application 的完整单元; 而 Component Interface testing 是集合了一整套软件服务所有的 Application 做的一次测试, 强调多个 Application.
原文:Integration testing is performed after combinig all individual
software components together, to verify whether the integrated
component is working according to the specification. Interface
testing is to test the behaviour of the application when there is more
application involves
参考文章:http://www.c-sharpcorner.com/Forums/Thread/192920/difference-between-interface-testing-and-integration-tes.aspx
综上看来, Component Interface 是范围比较广的测试, 而 Integration Testing 是特定的一个完整软件范围的测试;两者的本质区别在于测试对象的范围大小,而不在于两者执行的时间先后。