My second job is a test software engineer position in a semiconductor testing firm. It is quite shocking to see how XML was maximizingly utilized in the testing programs. It is so heavily 'abused' that at the first look, we may think testing programs are XML programs (they are actually Java programs). XML is used to describe not only how these test are configured, but also in what sequence they are executed. A complete sapphire ATE program employs hundreds of XMLs, and it is really a headache to transverse these files to search for certain information. People have to be very sophisticated about how these files are organized, and spend a lot of time to trace certain information by opening many files in the file explorer.
I believe that a graphical based program analyzer and viewer could be very helpful. The application shall be able to load all these files in memory, and display them graphically in a organized and user-friendly fashion. User can then browse the test execution flow with a few mouse clicks, an find particular test information by a very fast memory-based search.
A little background to catch up here. The ATE tester software platform comes with a powerful (and also tricky) GUI based interface (namely, XTOS) which are used to load, run, configure, debug and log all the tests. Everything I am going to implement is already pretty encapsulated in this software suite. I am re-invent the wheels because of several considerations. Most importantly, XTOS is heavily coupled with tester hardware, which is a piece of extremely expensive (million $) hardware which we can not afford to have many. These testers are always shared by production line and we engineers, and we are always in the situation to struggle for more tester time. So if we can simulate the program by software, we saves a lot of hardware resources(and thus $!!!). Another killing factor is that, in real test setup, XTOS will try to load huge amount of test data, which takes about 1-2 hours waiting time. To properly view the test programs flow and setup, these data are not necessarily to be loaded. Last but not least, XTOS is more like a propriety software, and we are unable and also not supposed to modify its behavior and outlook to better fit our needs. So, I think it worthes the effort to create our own.
What FlowViewer is?
Flow Viewer has three functional blocks in current release:
** Test flow extraction and browse
** Test flow validation
** XML search, trace and highlight
What it is not?
*Flow Viewer is NOT part of TP
*Flow Viewer is NOT part of XTOS
*Flow Viewer is NOT a TP editor
*Flow Viewer is NOT capable to corrupt your TP
Flow Viewer is designed to be a convenient toolbox for TP owners/Test engineers.
*Flow Viewer is built on
*SWT/JFace graphics framework
*JDOM library
*XML validation Schema technology
*XPath enabled search technology
The project created a good opportunity for me to get acquainted with many XML related technologies, which I will write up to share in later posts.