Automation Testing Framework by c++, Practice-1: tips from POSA4
2007-08-15 13:10
417 查看
When I am reading some chapters in "Pattern.Oriented.Software.Architecture.Volume4: A Pattern Language for Distributed Computing",
one glue came into my mind if we can use some "Reflection" pattern to build up the test framework.
Further more, it also can help Transactive in supporting "plug-in-out" features in future as a real configurable product.
As one summary introduces this practice in page 199, that is:
An INTROSPECTIVE INTERFACE (286) and a DYNAMIC INVOCATION INTERFACE (288) support application-external clients such as test frameworks or object browsers, to obtain information about base level domain objects without becoming dependent on their internal structure, as well as invoking methods on them without the need to use their functional interfaces.
Below is of detail explanations for those two patterns,
The INTROSPECTIVE INTERFACE (286) pattern offers a supplementary interface that supports clients in accessing information about a component’s type, functionality, public interface, internal structure, behavior, and computational state. Clients or application-external tools can use this information to monitor a component or control their use of the component.
The DYNAMIC INVOCATION INTERFACE (288) pattern offers a supplementary
interface that allows clients to invoke methods on
components dynamically, composing the calls at runtime rather
than selecting them from declarations.
My thought is,
Since I studied some libs done by c++, implementing Reflection, it's very useful to build one part of the framework to call the interfaces provided by Transactive.
Further, we also can use XML as an assistant to work with Reflection, so that the test cases can be configured one by one.
A link to C++ Reflection lib: http://seal-reflex.web.cern.ch/seal-reflex/
A link to XML lib: http://www.gccxml.org/HTML/Install.html
But, it needs to modify the current Transactive, since the reflection mechanism must be imported first.
one glue came into my mind if we can use some "Reflection" pattern to build up the test framework.
Further more, it also can help Transactive in supporting "plug-in-out" features in future as a real configurable product.
As one summary introduces this practice in page 199, that is:
An INTROSPECTIVE INTERFACE (286) and a DYNAMIC INVOCATION INTERFACE (288) support application-external clients such as test frameworks or object browsers, to obtain information about base level domain objects without becoming dependent on their internal structure, as well as invoking methods on them without the need to use their functional interfaces.
Below is of detail explanations for those two patterns,
The INTROSPECTIVE INTERFACE (286) pattern offers a supplementary interface that supports clients in accessing information about a component’s type, functionality, public interface, internal structure, behavior, and computational state. Clients or application-external tools can use this information to monitor a component or control their use of the component.
The DYNAMIC INVOCATION INTERFACE (288) pattern offers a supplementary
interface that allows clients to invoke methods on
components dynamically, composing the calls at runtime rather
than selecting them from declarations.
My thought is,
Since I studied some libs done by c++, implementing Reflection, it's very useful to build one part of the framework to call the interfaces provided by Transactive.
Further, we also can use XML as an assistant to work with Reflection, so that the test cases can be configured one by one.
A link to C++ Reflection lib: http://seal-reflex.web.cern.ch/seal-reflex/
A link to XML lib: http://www.gccxml.org/HTML/Install.html
But, it needs to modify the current Transactive, since the reflection mechanism must be imported first.
相关文章推荐
- Automation testing framework for RFT execution with STAF+STAX . [Session-1]
- Automation testing framework for RFT execution with STAF+STAX . [Session-1]
- STAF: the Software Testing Automation Framework
- DotNet系统安装程序制作StepByStep(包括FrameWork安装和数据库安装配置)C#
- Automation One By One - Robot Framework - 数据类型
- Microsoft .NET Micro Framework Training conducted by Sean Liming (上海)
- Spring MVC错误:Caused by: java.lang.NoClassDefFoundError: org/springframework/dao/DataAccessException
- Developing a Spring Framework MVC application step-by-step
- 'UIAccelerometer' is deprecated:first deprecated in iOS 5.0-UIAccelerometer has replaced by the CoreMotion framework
- Internal SOAP Processing Failure - Testing web services generated by BizTalk Web Services Publishing Wizard
- [Chapter 3 Process]Practice 3.12 Including the initial parent process, how many processes are created by the program shown in Figure 3.32?
- [loadFromRemoteSources]This release of the .NET Framework does not enable CAS policy by default
- [Career][Tech]Web UI automation testing tools: Selenium
- Handle concurrency problem by Entity Framework
- A First Look at the Android Testing Framework
- Performance Analysis By jstack Practice
- QUnit: A JavaScript Unit Testing framework
- Automation Testing中的变量
- Run Automation Test by MSTest.exe on 64bit OS
- About the Player cache for framework----[the client frameWork can be used by all player plug in]