<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Trouble Ahead- Trouble Behind : DTM</title><link>http://blogs.msdn.com/bobkjelgaard/archive/tags/DTM/default.aspx</link><description>Tags: DTM</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Automated Jobs and Library Jobs</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2009/03/12/automated-jobs-and-library-jobs.aspx</link><pubDate>Thu, 12 Mar 2009 14:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9471592</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/9471592.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=9471592</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=9471592</wfw:comment><description>&lt;P&gt;I received an IM late yesterday evening (my time) from “James” (via the Web) asking what the difference is between an automated job and a library job.&amp;nbsp; Unfortunately, I wasn’t around to answer it (I started work about 2 AM PDT today, and the IM was from about 9:30 PM PDT yesterday), but it’s rare I get asked something I can flip an answer to off the top of my head, so…&lt;/P&gt;
&lt;P&gt;I’m assuming this is in the context of the Device Test Manager (DTM) in the Windows Logo Kit (WLK).&amp;nbsp; That is a derivative of a larger internal-use product we call WTT (Windows Test Technologies), so I’ll assume the same answer applies to both, because I’m sure it does (and if I’m wrong, feel free to correct me).&lt;/P&gt;
&lt;P&gt;If you’re a programmer, the fastest rough analogy is that an Automated Job is like a C / C++ “main” while the Library job is like a “function” in the runtime library (or some DLL, etc).&amp;nbsp; The important difference here being that a job can “call” a library job and pass it parameters, while you cannot “call” an automated job- you can schedule it (and give it parameters) just like you can invoke a program (and give it parameters) from a command shell- but we don’t have analogs like piping and redirection of I/O etc in this execution environment.&lt;/P&gt;
&lt;P&gt;They are a lot alike- both can be scheduled and given run-time parameters, and possess fairly similar capabilities.&lt;/P&gt;
&lt;P&gt;So why not make all Automated jobs Library Jobs?&amp;nbsp; One strong reason is that Automated Jobs can be constrained [have a set of circumstances spelled out to detail the requirements for running the job- one common one in device testing is the presence of a particular kind of hardware, for instance] while library jobs cannot.&amp;nbsp; Another one I use occasionally perhaps ventures into the realm of the political- making a job an automated job so that it doesn’t wind up being called as a library job if you expect such a usage to have untoward consequences.&lt;/P&gt;
&lt;P&gt;The best practice, especially initially, is to make most jobs library jobs- this gives you the most flexibility as you combine them later.&amp;nbsp; You can work on them in pieces and then combine the pieces fairly easily.&lt;/P&gt;
&lt;P&gt;Well, James- if you’re still searching for that answer, perhaps this will help.&amp;nbsp; If not, maybe it will help someone else later.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9471592" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/test+development/default.aspx">test development</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/DTM/default.aspx">DTM</category></item><item><title>Looking Ahead- Conferences!</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2008/09/10/looking-ahead-conferences.aspx</link><pubDate>Thu, 11 Sep 2008 07:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8943119</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/8943119.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=8943119</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=8943119</wfw:comment><description>&lt;P&gt;Since I noticed &lt;A href="http://blogs.msdn.com/888_umdf_4_you/" target=_blank mce_href="http://blogs.msdn.com/888_umdf_4_you/"&gt;Patrick&lt;/A&gt; has &lt;A href="http://blogs.msdn.com/888_umdf_4_you/archive/2008/09/03/8922376.aspx" target=_blank mce_href="http://blogs.msdn.com/888_umdf_4_you/archive/2008/09/03/8922376.aspx"&gt;spilled the beans&lt;/A&gt; [just before the second question], I might as well cover this topic while I wait for my dinner to bake [I eschew microwave ovens these days- just seems better to let it cook the old-fashioned- if early-to-mid-twentieth century is old-fashioned- way].&lt;/P&gt;
&lt;P&gt;I've been through some of my belongings of late and put a few items up on the corkboard in my office- pictures of me from the last several decades, ads from bands I played with in the 70's and 80's, and so on [along with my Master Chief calendar and pictures of my daughter and InuYasha].&amp;nbsp; Two of the recent additions are from my first time around at Microsoft.&amp;nbsp; One of them, which I showed off recently at a WDF team meeting related to this article's topic, is what I believe was my original Microsoft card key- a much different technology from those in use today, which are basically proximity read- I believe this was a magnetic stripe like a credit card [but can't be sure, because that part of the back of it is gone].&amp;nbsp; I think the big surprise for most was that 19 years ago, I had no facial hair and very short hair [almost no gray then, either].&amp;nbsp; Weighed a lot less, too, and still had two working eyes [even if they were near-sighted].&lt;/P&gt;
&lt;P&gt;The other [finally getting to my point] is a speaker's badge for "Microsoft Windows NT Device Driver Developer's Conference".&amp;nbsp; That was from 1992 [I wouldn't know for sure except that it turns out I still had the conference material with the dates on it], and it was the real "first DDC".&amp;nbsp; I was the last speaker on the final day- the track was about Win32 printing [and this was the very first release of Windows NT and the first 32-bit OS Microsoft released], and I was speaking about testing and logoing printer drivers- that was my first time hearing about WHQL, by the way- when I was preparing the talk and they asked me to add some slides related to it.&lt;/P&gt;
&lt;P&gt;Of course, my prized possession is the "Ship-It" award for OS/2 3.1 [which of course didn't exist as a Microsoft product- it was a typo, but I snuck mine out before the manual update processes in use then could correct it], but that just made this paragraph irrelevant and disruptive of the flow.&amp;nbsp; I'm like that...&lt;/P&gt;
&lt;H2&gt;DDC- what a long, strange trip it's been&lt;/H2&gt;
&lt;P&gt;The Driver Developer's Conference is an intensive high-level conference with some NDA-type restrictions [I'm no lawyer- it appears these aren't as strict as the MVP summit, but who am I to judge or care?].&amp;nbsp; It will be held on the Microsoft campus later this month.&amp;nbsp; The meeting I am alluding to was our team reviewing one of the presentations I will be participating in [and I've been slide-smithing ever since].&amp;nbsp; In one session, &lt;A href="http://blogs.msdn.com/iliast/" target=_blank mce_href="http://blogs.msdn.com/iliast/"&gt;Ilias&lt;/A&gt; and I will be discussing the WDF coinstallers.&amp;nbsp; Ilias will discuss the whys and hows, while I will finish up by telling you what you can do when things go wrong.&amp;nbsp; In the other technical session, I, Shyamal and Wei will tell you about how we test the frameworks, including things we do that can translate into your own test problems.&lt;/P&gt;
&lt;P&gt;There will be some Ask The Experts sessions, and I know WDF will be there, but I don't think the final lineup for that's been determined.&amp;nbsp; I can live with it myself, either way...&lt;/P&gt;
&lt;P&gt;As for the rest of the conference, well--- one of the more attractive nuisances of the past several days is that all the presentations go on a single sharepoint site, so I've been previewing a few that interested me.&amp;nbsp; Lots of good stuff- device installation, DSF [my favorite non-WDF tool], new technologies all across the space, etc.&amp;nbsp; I also see the world of printer testing tools is in great hands [probably better ones than mine ever were!].&lt;/P&gt;
&lt;H2&gt;WinHEC- a first time for everything&lt;/H2&gt;
&lt;P&gt;The &lt;A href="http://www.microsoft.com/whdc/winhec/default.mspx" target=_blank mce_href="http://www.microsoft.com/whdc/winhec/default.mspx"&gt;Windows Hardware Engineering Conference&lt;/A&gt;- well, you can use the link to find out what you need to know.&amp;nbsp; I'll be there too, with somewhat stripped-down versions of both talks [at least, I think that's what's happening].&amp;nbsp; It's still several weeks away, and there's DDC to get through first.&amp;nbsp; But it will be in LA.&amp;nbsp; Not certain who all else is going, yet, but I know Ilias is, and I can't believe it can be done without the likes of &lt;A href="http://blogs.msdn.com/doronh/default.aspx" target=_blank mce_href="http://blogs.msdn.com/doronh/default.aspx"&gt;Doron&lt;/A&gt; and &lt;A href="http://blogs.msdn.com/peterwie/default.aspx" target=_blank mce_href="http://blogs.msdn.com/peterwie/default.aspx"&gt;Peter&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I've been on the mailing list for years, but never gone (I was supposed to go a couple of years back, when it was in Seattle, but had car trouble).&lt;/P&gt;
&lt;P&gt;So perhaps I'll meet a few of you there.&amp;nbsp; I'll be the one with all the hair and the wacky left eye [unless I can't pass the airport security checks, or the other passengers find me scary and demand I leave the plane]. Well, I've lived in LA a few times and driven from here to there and back before...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8943119" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/KMDF/default.aspx">KMDF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/UMDF/default.aspx">UMDF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/WdfVerifier/default.aspx">WdfVerifier</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/lifestyle/default.aspx">lifestyle</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/test+development/default.aspx">test development</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/PFD/default.aspx">PFD</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/DSF/default.aspx">DSF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/DTM/default.aspx">DTM</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/Driver+Verifier/default.aspx">Driver Verifier</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/Life+at+Microsoft/default.aspx">Life at Microsoft</category></item><item><title>One Day at a Time</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2007/12/12/one-day-at-a-time.aspx</link><pubDate>Thu, 13 Dec 2007 00:49:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6751608</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/6751608.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=6751608</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=6751608</wfw:comment><description>&lt;p&gt;It's been nearly a month since my last post (not counting one I made when I was in a really foul mood, later deleted).&amp;#160; With the long-awaited arrival of my new associate Wei Mao from our Shanghai Lab, I'm hoping the endless high-priority interrupts become manageable.&lt;/p&gt;  &lt;p&gt;But for now, I'm just going to post some fragments, rather than some grand theme.&lt;/p&gt;  &lt;h1&gt;WdfVerifier Errata (Bugs if you prefer)&lt;/h1&gt;  &lt;p&gt;These are still going to be there in the final Server 2K8 WDK.&amp;#160; I've already fixed them for the next one after that, but in the meantime, be aware:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;If you are at the default prompting mechanisms (on UMDF, this means you will be prompted when you change ETW trace settings- on KMDF, it means you've made changes to one or more active devices, and we want to know if you want to try to disable and then re-enable the affected devices), and WdfVerifier determines it needs to reboot to complete the task, it is supposed to ask first.&amp;#160; It doesn't.&amp;#160; If you pick the intermediate step (try but ask if a reboot is needed) it does ask.&amp;#160; If this proves to be a real problem for you, contact me, and I'll see what can be done to get you a fixed version ahead of time. &lt;/li&gt;    &lt;li&gt;There are some typos I mentioned in &lt;a href="http://blogs.msdn.com/bobkjelgaard/archive/2007/10/16/wdfverifier-tricks-controlling-dbgprint-on-vista-and-later-os.aspx"&gt;this article&lt;/a&gt;- I did get around to fixing them, just not in time for them to be important enough to stop the &amp;quot;ship-it&amp;quot; train. &lt;/li&gt; &lt;/ol&gt;  &lt;h1&gt;Nice Technologies I've Begun to Work With&lt;/h1&gt;  &lt;ul&gt;   &lt;li&gt;WDTF- in the article I withdrew I had a script that would disable all devices using serial.sys and then installed the KMDF version of same.&amp;#160; I'll repost that script at some future date. &lt;/li&gt;    &lt;li&gt;DSF- actually I've been using portions of it for years, but not portions I can talk about.&amp;#160; But I have begun using USB device simulators, begin with the one &lt;a href="http://blogs.msdn.com/peterwie"&gt;Peter&lt;/a&gt; wrote for WinHec 2007- the erstwhile OSR FX/2 device.&amp;#160; It's a natural for automated testing of the related KMDF and UMDF samples, for instance (because you don't need a human to flip switches or read displays- you can ask the simulation, instead). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;What I'm hoping, at least for now, is that I can actually put something a bit more technical here, and perhaps those are two areas where I can eventually do so.&lt;/p&gt;  &lt;h1&gt;What a Way to Run a Railroad&lt;/h1&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;p&gt;Other than that, I've been working on the core of our test automation.&amp;#160; Our internally generated test certificates have limited lifetimes, and we began to hit those limits.&amp;#160; Also our overall signing and test packaging strategies kept failing to meet all of our needs.&lt;/p&gt;  &lt;p&gt;Our solution- self-signing.&amp;#160; IT turned out to be so easy, it's scary.&amp;#160; We have one staging job that assembles all the pieces of a test package on the test machine, and it then creates a certificate, builds a catalog from all the content, installs the certificate, and signs the catalog with it.&amp;#160; So far, that holds for everything.&amp;#160; It also simplified the remaining test jobs- they had bewildering sets of parameters [those using DTM should know what I mean] so we could assemble everything.&amp;#160; Now they just assume it's all staged and ready.&lt;/p&gt;  &lt;p&gt;Once that was out of the way, I began on a bunch of deferred maintenance- bugs in tests that should have been fixed long ago and weren't.&amp;#160; I hate to see test suites where false negatives and even bugchecks are so commonplace they get ignored.&amp;#160; You KNOW something escapes anything that sloppily constructed!&amp;#160; So I've been tightening up the loose hardware and repairing the broken pieces as fast as I can.&lt;/p&gt;  &lt;p&gt;Things are a lot better now, but there's always more to do.&amp;#160; As I mentioned &lt;a href="http://blogs.msdn.com/bobkjelgaard/archive/2007/09/28/serendipitous-prefast-or-a-day-in-the-life.aspx"&gt;here&lt;/a&gt;, PreFast continues to be a great help in making things more robust, even if it takes longer to complete &amp;quot;the simple ones&amp;quot;.&amp;#160; After all, if it had been done right in the first place, I wouldn't be doing it now...&lt;/p&gt;  &lt;h1&gt;Six letters that spell &amp;quot;relief&amp;quot;&lt;/h1&gt;  &lt;p&gt;Sorry, couldn't help that one...&lt;/p&gt;  &lt;p&gt;As noted earlier, &lt;a href="http://blogs.msdn.com/888_umdf_4_you"&gt;Patrick&lt;/a&gt; and I have a new colleague, named Wei Mao.&amp;#160; He is a 7-year Microsoft veteran, and I'm afraid we scavenged Asia's premier DTM expert to bolster our sagging numbers.&amp;#160; He's sitting in &lt;a href="http://blogs.msdn.com/doronh"&gt;Doron&lt;/a&gt;'s old office, leaving me odd man out still on this floor- it's for a good cause, though.&amp;#160; But someday I'll actually sit somewhere near the people I work with...&lt;/p&gt;  &lt;p&gt;But due to further attrition as I mentioned &lt;a href="http://blogs.msdn.com/bobkjelgaard/archive/2007/11/12/just-another-manic-monday.aspx"&gt;here&lt;/a&gt;, we &lt;a href="http://blogs.msdn.com/bobkjelgaard/archive/2007/11/07/someone-must-want-this-job.aspx"&gt;still have two more openings for SDETs&lt;/a&gt;.&amp;#160; Come on, now- you know you want to try it at least once in your career, don't you?&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6751608" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/WdfVerifier/default.aspx">WdfVerifier</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/test+development/default.aspx">test development</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/PFD/default.aspx">PFD</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/WDTF/default.aspx">WDTF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/DSF/default.aspx">DSF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/DTM/default.aspx">DTM</category></item></channel></rss>