2. Raniero Virgilio My Job Software Engineer in Intel Shannon, Ireland Responsible for Test Automation infrastructure My Team PPD (Performance Product Division) Embedded Software Complete SOCs for security, communications, storage and embedded designs http://www.intel.com/embedded/index.htm
3. Agenda Validation in embedded systems Runtime Plug-in model Runtime Plug-in model with Jython Jython and Eclipse Results
4. Validation in embedded systems A challenging environment Typical scenario Requirements and solutions
5. A challenging environment Multiple hw/sw deployments Configuration set up needs to be fast and reliable Support for different OS types and versions Consistent cooperation Several teams working on the same infrastructure Synchronization with overseas groups
6. Test Automation scenario Test Code XML-RPC session Server1 (Windows) Traffic Generator 1 XML-RPC session Traffic Generator 2 Server2 (Windows) Telnet session Test Driver DUT1 (Linux/Windows/FreeBSD) Test Execution Reports XML-RPC session Telnet session Test Suites DUT2 (Linux/Windows/FreeBSD) Telnet session DUT3 (Linux/Windows/FreeBSD)
7. Test Automation requirements Programming language Platform-independent Libraries for connectivity and string manipulation Test Framework design OOP to maximize reusability of test code Platform runtime extendibility Sustainable implementation An effective interface between test execution (local to DUT) and test reporting (distributed) Customizable open source solution
8. Proposed solution Programming language Python telnetlib, xmlrpclib, SimpleXMLRPCServer re,xml.dom.minidom Test Framework design Runtime plug-in model Sustainable implementation Jython embedded in Eclipse Jython is a Python interpreter written in 100% pure Java
10. Runtime Plug-in Model The term plug-in refers to a type of program that contributes code to the system and adds a special capability to it. The plug-in is unknown at compile-time of the application for which the plug-in is designed. Plug-ins are dynamically plugged into the application they are designed for at runtime The key for this model is Dynamic Code Loading
53. Common risks “Design your architecture” Test planning To make the most of the Plug-in design pattern, point out common test domains in advance Long-term investment Platform stability requires a significant effort Keep code under control Review carefully test code before integrating it Right-Size your hardware Concurrent executions may require performing machines